Add make-api package
This commit is contained in:
@@ -1,13 +1,19 @@
|
||||
import { Api } from "make-api";
|
||||
import { Schema as S } from "@effect/schema";
|
||||
import { UserId } from "common";
|
||||
import { pipe } from "effect";
|
||||
|
||||
export const LoginRequest = S.Struct({
|
||||
username: S.NonEmptyString,
|
||||
password: S.NonEmptyString,
|
||||
});
|
||||
|
||||
export const LoginResponse = S.Struct({
|
||||
userId: UserId,
|
||||
username: S.NonEmptyString,
|
||||
admin: S.Boolean,
|
||||
});
|
||||
export const Login = pipe(
|
||||
Api.make("POST", "login"),
|
||||
Api.requestBodyJson(S.Struct({
|
||||
username: S.NonEmptyString,
|
||||
password: S.NonEmptyString,
|
||||
})),
|
||||
Api.responseBodyJson(200, S.Struct({
|
||||
userId: UserId,
|
||||
username: S.NonEmptyString,
|
||||
admin: S.Boolean,
|
||||
})),
|
||||
Api.responseBodyText(400, S.String),
|
||||
Api.responseBodyText(401, S.String),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user