import { HttpRunner, RouteDescriptor } from "../../route.mjs"; import { Page } from "../../types.mjs"; import { RouteContext } from "../../context.mjs"; import { CancelInvitationInput, CheckSlugInput, CheckSlugResult, CreateInvitationInput, CreateOrganizationInput, CreateOrganizationRoleInput, DeleteOrganizationInput, DeleteOrganizationRoleInput, Invitation, InvitationTokenInput, LeaveOrganizationInput, ListInvitationsInput, ListMembersInput, ListOrganizationRolesInput, ListOrganizationsInput, Member, MemberRoleInput, Organization, OrganizationPluginConfig, OrganizationRole, RemoveMemberInput, SwitchOrganizationInput, UpdateOrganizationInput, UpdateOrganizationRoleInput } from "./types.mjs"; //#region src/plugins/organization/routes.d.ts declare function buildCoreRoutes(): [RouteDescriptor, { readonly method: "POST"; readonly path: "/"; readonly as: "organization.create"; readonly handler: (ctx: RouteContext, _input: CreateOrganizationInput, http: HttpRunner) => Promise>; }>, RouteDescriptor>, { readonly method: "GET"; readonly path: "/"; readonly as: "organization.list"; }>, RouteDescriptor, RouteDescriptor, { readonly method: "PATCH"; readonly path: "/:id"; readonly as: "organization.update"; readonly params: readonly ["id"]; readonly handler: (ctx: RouteContext, input: UpdateOrganizationInput, http: HttpRunner) => Promise>; }>, RouteDescriptor, input: DeleteOrganizationInput, http: HttpRunner) => Promise; }>, RouteDescriptor | null, { readonly method: "POST"; readonly path: "/switch"; readonly as: "organization.switch"; readonly serialize: (input: SwitchOrganizationInput) => { organization: string | null; }; readonly handler: (ctx: RouteContext, _input: SwitchOrganizationInput, http: HttpRunner) => Promise | null>; }>, RouteDescriptor { organization: string; }; readonly handler: (ctx: RouteContext, input: LeaveOrganizationInput, http: HttpRunner) => Promise; }>, RouteDescriptor>, { readonly method: "GET"; readonly path: "/members"; readonly as: "organization.listMembers"; readonly parse: (raw: unknown) => Page>; }>, RouteDescriptor { roles: string[]; }; readonly handler: (ctx: RouteContext, input: MemberRoleInput, http: HttpRunner) => Promise; }>, RouteDescriptor { roles: string[]; }; readonly handler: (ctx: RouteContext, input: MemberRoleInput, http: HttpRunner) => Promise; }>, RouteDescriptor, input: RemoveMemberInput, http: HttpRunner) => Promise; }>, RouteDescriptor, { readonly method: "POST"; readonly path: "/invitations"; readonly as: "organization.invite"; readonly parse: (raw: unknown) => Invitation; }>, RouteDescriptor>, { readonly method: "GET"; readonly path: "/invitations"; readonly as: "organization.listInvitations"; readonly parse: (raw: unknown) => Page>; }>, RouteDescriptor, { readonly method: "GET"; readonly path: "/invitations/token/:token"; readonly as: "organization.getInvitation"; readonly params: readonly ["token"]; readonly parse: (raw: unknown) => Invitation; }>, RouteDescriptor, { readonly method: "POST"; readonly path: "/invitations/respond"; readonly as: "organization.acceptInvitation"; readonly serialize: (input: InvitationTokenInput) => { token: string; response: string; }; readonly parse: (raw: unknown) => Invitation; }>, RouteDescriptor, { readonly method: "POST"; readonly path: "/invitations/respond"; readonly as: "organization.rejectInvitation"; readonly serialize: (input: InvitationTokenInput) => { token: string; response: string; }; readonly parse: (raw: unknown) => Invitation; }>, RouteDescriptor, { readonly method: "POST"; readonly path: "/invitations/cancel"; readonly as: "organization.cancelInvitation"; readonly serialize: (input: CancelInvitationInput) => { invitation: string; }; readonly parse: (raw: unknown) => Invitation; }>]; declare function buildRoleRoutes(): [RouteDescriptor, { readonly method: "POST"; readonly path: "/roles"; readonly as: "organization.createRole"; }>, RouteDescriptor>, { readonly method: "GET"; readonly path: "/roles"; readonly as: "organization.listRoles"; }>, RouteDescriptor, { readonly method: "PATCH"; readonly path: "/roles/:roleId"; readonly as: "organization.updateRole"; readonly params: readonly ["roleId"]; readonly handler: (ctx: RouteContext, _input: UpdateOrganizationRoleInput, http: HttpRunner) => Promise>; }>, RouteDescriptor]; type CoreRoutes = ReturnType>; type RoleRoutes = ReturnType>; type OrganizationRoutes = Config["customRoles"] extends true ? readonly [...CoreRoutes, ...RoleRoutes] : CoreRoutes; //#endregion export { OrganizationRoutes };