import rndstr from "rndstr";
import define from "../../define.js";
import { RegistrationTickets } from "../../../../models/index.js";
import { genId } from "../../../../misc/gen-id.js";
export const meta = {
    tags: [
        "admin"
    ],
    requireCredential: true,
    requireModerator: true,
    res: {
        type: "object",
        optional: false,
        nullable: false,
        properties: {
            code: {
                type: "string",
                optional: false,
                nullable: false,
                example: "2ERUA5VR",
                maxLength: 8,
                minLength: 8
            }
        }
    }
};
export const paramDef = {
    type: "object",
    properties: {},
    required: []
};
export default define(meta, paramDef, async ()=>{
    const code = rndstr({
        length: 8,
        chars: "2-9A-HJ-NP-Z"
    });
    await RegistrationTickets.insert({
        id: genId(),
        createdAt: new Date(),
        code
    });
    return {
        code
    };
});
