mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-05 07:01:16 +00:00
Introduced explicit payloadSchema and returnSchema definitions for all OneBotAction classes using @sinclair/typebox. This improves type safety, API documentation, and validation for action payloads and return values. Also refactored method signatures and types for consistency across the codebase.
26 lines
789 B
TypeScript
26 lines
789 B
TypeScript
import { OneBotAction } from '@/napcat-onebot/action/OneBotAction';
|
|
import { ActionName } from '@/napcat-onebot/action/router';
|
|
import { Type, Static } from '@sinclair/typebox';
|
|
|
|
export const GetCSRFReturnSchema = Type.Object({
|
|
token: Type.Number({ description: 'CSRF Token' }),
|
|
});
|
|
|
|
export type GetCSRFReturnType = Static<typeof GetCSRFReturnSchema>;
|
|
|
|
export class GetCSRF extends OneBotAction<void, GetCSRFReturnType> {
|
|
override actionName = ActionName.GetCSRF;
|
|
override payloadSchema = Type.Object({});
|
|
override returnSchema = GetCSRFReturnSchema;
|
|
|
|
async _handle () {
|
|
const sKey = await this.core.apis.UserApi.getSKey();
|
|
if (!sKey) {
|
|
throw new Error('SKey is undefined');
|
|
}
|
|
return {
|
|
token: +this.core.apis.WebApi.getBknFromSKey(sKey),
|
|
};
|
|
}
|
|
}
|