import { GET, POST, type DefAPINamespace } from "@strpc/def"; //굳이 할 필요는 없지만, d.ts가 깔끔해짐 import type { // eslint-disable-next-line @typescript-eslint/no-unused-vars InvalidResponse, ValidResponse } from "@strpc/def"; import type { // eslint-disable-next-line @typescript-eslint/no-unused-vars ArgDeleteAPI, ArgGetAPI, ArgHeadAPI, ArgPatchAPI, ArgPostAPI, ArgPutAPI, // eslint-disable-next-line @typescript-eslint/no-unused-vars EmptyDeleteAPI, EmptyGetAPI, EmptyHeadAPI, EmptyPatchAPI, EmptyPostAPI, EmptyPutAPI, } from "@strpc/def/types"; export type LoginResponse = { result: true, nextToken: [number, string] | undefined, } export type LoginFailed = { result: false, reqOTP: boolean, reason: string, } export type AutoLoginNonceResponse = { result: true, loginNonce: string, }; export type AutoLoginResponse = { result: true, nextToken: [number, string] | undefined, } export type AutoLoginFailed = { result: false, silent: boolean, reason: string, } export const structure = { Login: { LoginByID: POST<{ id: string, password: string, }, LoginResponse, LoginFailed>(), LoginByToken: POST<{ hashedToken: string, token_id: number, }, AutoLoginResponse, AutoLoginFailed>(), ReqNonce: GET(), }, GetGameLoginToken: GET<{ result: true, gameLoginToken: string, userID: number, }>(), } satisfies DefAPINamespace;