UNPKG

@grouparoo/core

Version:
181 lines (180 loc) 5.06 kB
import { ParamsFrom } from "actionhero"; import { AuthenticatedAction } from "../classes/actions/authenticatedAction"; import { ActionPermission } from "../models/Permission"; import { TeamMember } from "../models/TeamMember"; import { APIData } from "../modules/apiData"; export declare class TeamMembersList extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: false; }; readonly teamId: { readonly required: false; }; }; runWithinTransaction({ params, }: { params: ParamsFrom<TeamMembersList>; }): Promise<{ teamMembers: { id: string; teamId: string; firstName: string; lastName: string; email: string; locked: string; lastLoginAt: Date; createdAt: number; updatedAt: number; }[]; }>; } export declare class TeamMemberCreate extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly teamId: { readonly required: true; }; readonly firstName: { readonly required: true; }; readonly lastName: { readonly required: true; }; readonly password: { readonly required: true; }; readonly email: { readonly required: true; }; readonly subscribed: { readonly required: false; readonly default: true; readonly formatter: typeof APIData.ensureBoolean; }; }; runWithinTransaction({ params, }: { params: ParamsFrom<TeamMemberCreate>; }): Promise<{ teamMember: { id: string; teamId: string; firstName: string; lastName: string; email: string; locked: string; lastLoginAt: Date; createdAt: number; updatedAt: number; }; }>; } export declare class TeamMemberView extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; }; runWithinTransaction({ params, }: { params: ParamsFrom<TeamMemberView>; }): Promise<{ teamMember: { id: string; teamId: string; firstName: string; lastName: string; email: string; locked: string; lastLoginAt: Date; createdAt: number; updatedAt: number; }; team: { id: string; name: string; locked: string; permissionAllRead: boolean; permissionAllWrite: boolean; createdAt: number; updatedAt: number; permissions: { id: string; topic: "file" | "record" | "source" | "group" | "import" | "system" | "run" | "resque" | "log" | "model" | "app" | "property" | "export" | "destination" | "apiKey" | "notification" | "setupStep" | "team"; read: boolean; write: boolean; locked: string; }[]; membersCount: number; }; }>; } export declare class TeamMemberEdit extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; readonly firstName: { readonly required: false; }; readonly lastName: { readonly required: false; }; readonly password: { readonly required: false; }; readonly email: { readonly required: false; }; readonly teamId: { readonly required: false; }; }; runWithinTransaction({ params, }: { params: ParamsFrom<TeamMemberEdit>; }): Promise<{ teamMember: { id: string; teamId: string; firstName: string; lastName: string; email: string; locked: string; lastLoginAt: Date; createdAt: number; updatedAt: number; }; }>; } export declare class TeamMemberDestroy extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; }; runWithinTransaction({ params, session: { teamMember: myself }, }: { params: ParamsFrom<TeamMemberDestroy>; session: { teamMember: TeamMember; }; }): Promise<{ success: boolean; }>; }