rootAPI to gatewayAPI
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { GET } from "../../defs.js";
|
||||
import type { structure } from "../../../apiStructure/sammoGatewayAPI.js";
|
||||
import type { ExtractError, ExtractQuery, ExtractResponse } from "../../../apiStructure/defs.js";
|
||||
import { StartSession } from "../../../ProcDecorator/StartSession.js";
|
||||
import { declProcDecorators } from "../../../ProcDecorator/base.js";
|
||||
|
||||
type BaseAPI = typeof structure.Login.ReqNonce;
|
||||
type RType = ExtractResponse<BaseAPI>;
|
||||
type EType = ExtractError<BaseAPI>;
|
||||
type QType = ExtractQuery<BaseAPI>;
|
||||
|
||||
export const ReqNonceSessionKey = 'loginNonce';
|
||||
|
||||
export const ReqNonce = GET<RType, EType, QType>(undefined)(declProcDecorators(
|
||||
StartSession,
|
||||
))(
|
||||
async (query, ctx) => {
|
||||
const nonce = ctx.session.getItem<string>(ReqNonceSessionKey);
|
||||
if (nonce !== undefined) {
|
||||
return {
|
||||
loginNonce: nonce,
|
||||
result: true,
|
||||
}
|
||||
}
|
||||
|
||||
const newNonce = "1234567890";
|
||||
ctx.session.setItem(ReqNonceSessionKey, newNonce);
|
||||
return {
|
||||
loginNonce: newNonce,
|
||||
result: true,
|
||||
}
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user