@grouparoo/core
Version:
The Grouparoo Core
245 lines (244 loc) • 7.6 kB
TypeScript
import { AuthenticatedAction } from "../classes/actions/authenticatedAction";
import { CLSAction } from "../classes/actions/clsAction";
import { APIData } from "../modules/apiData";
import { ActionPermission } from "../models/Permission";
import { ParamsFrom } from "actionhero";
export declare class TeamInitialize extends CLSAction {
name: string;
description: string;
permission: ActionPermission;
outputExample: {};
inputs: {
readonly firstName: {
readonly required: true;
};
readonly lastName: {
readonly required: true;
};
readonly password: {
readonly required: true;
};
readonly email: {
readonly required: true;
};
readonly companyName: {
readonly required: false;
};
readonly subscribed: {
readonly required: false;
readonly default: true;
readonly formatter: typeof APIData.ensureBoolean;
};
};
runWithinTransaction({ params, }: {
params: ParamsFrom<TeamInitialize>;
}): Promise<{
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;
};
teamMember: {
id: string;
teamId: string;
firstName: string;
lastName: string;
email: string;
locked: string;
lastLoginAt: Date;
createdAt: number;
updatedAt: number;
};
}>;
}
export declare class TeamsList extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
runWithinTransaction(): Promise<{
teams: {
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 TeamCreate extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly name: {
readonly required: true;
};
readonly permissionAllRead: {
readonly required: false;
readonly default: true;
};
readonly permissionAllWrite: {
readonly required: false;
readonly default: false;
};
readonly permissions: {
readonly required: false;
readonly formatter: typeof APIData.ensureArray;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<TeamCreate>;
}): Promise<{
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 TeamEdit extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
id: {
required: true;
};
name: {
required: boolean;
};
permissionAllRead: {
required: boolean;
};
permissionAllWrite: {
required: boolean;
};
disabledPermissionAllRead: {
required: boolean;
};
disabledPermissionAllWrite: {
required: boolean;
};
permissions: {
required: boolean;
formatter: typeof APIData.ensureArray;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<TeamEdit>;
}): Promise<{
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 TeamView extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<TeamView>;
}): Promise<{
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;
};
teamMembers: {
id: string;
teamId: string;
firstName: string;
lastName: string;
email: string;
locked: string;
lastLoginAt: Date;
createdAt: number;
updatedAt: number;
}[];
}>;
}
export declare class TeamDestroy extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<TeamDestroy>;
}): Promise<{
success: boolean;
}>;
}