import { HTTPBody } from '@fastify-modular/route'; import { pito } from 'pito'; import { AccessTokenLifetime, RefreshTokenLifetime } from '..'; import { UserRole } from '../enums'; import { UserDefine } from '../types'; // =========================================================================================== export const LoginNonMemberCompleteInput = pito.Obj({ id : pito.Str(), pw : pito.Str(), userRole: pito.Opt(pito.Enums(UserRole)), }); export type LoginNonMemberCompleteInput = pito.Type; // =========================================================================================== export const LoginNonMemberCompleteOutput = pito.Obj({ token : pito.Str(), refresh: pito.Str(), whoami : pito.Opt(UserDefine), }); export type LoginNonMemberCompleteOutput = pito.Type; // =========================================================================================== export const LoginNonMemberCompleteOption = pito.Obj({ token : pito.Opt(pito.Enums(AccessTokenLifetime)), refresh: pito.Opt(pito.Enums(RefreshTokenLifetime)), whoami : pito.Opt(pito.Bool()), }); export type LoginNonMemberCompleteOption = pito.Type; // =========================================================================================== export const LoginNonMemberComplete = HTTPBody( 'POST', '/api/v1/auth/login/non-member/complete', 'auth', ) .body(LoginNonMemberCompleteInput) .query(LoginNonMemberCompleteOption) .response(LoginNonMemberCompleteOutput) .build(); // ===========================================================================================