@grouparoo/core
Version:
The Grouparoo Core
155 lines (154 loc) • 4.32 kB
TypeScript
import { AuthenticatedAction } from "../classes/actions/authenticatedAction";
import { APIData } from "../modules/apiData";
import { ActionPermission } from "../models/Permission";
import { ParamsFrom } from "actionhero";
export declare class ModelsList extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly limit: {
readonly required: true;
readonly default: 100;
readonly formatter: typeof APIData.ensureNumber;
};
readonly offset: {
readonly required: true;
readonly default: 0;
readonly formatter: typeof APIData.ensureNumber;
};
readonly order: {
readonly required: false;
readonly formatter: typeof APIData.ensureArray;
readonly default: readonly [readonly ["createdAt", "desc"]];
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ModelsList>;
}): Promise<{
total: number;
models: {
id: string;
name: string;
type: "custom" | "event" | "profile" | "account";
state: "ready" | "deleted";
locked: string;
icon: string;
createdAt: number;
updatedAt: number;
}[];
}>;
}
export declare class ModelOptions extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
runWithinTransaction(): Promise<{
types: readonly ["profile", "account", "event", "custom"];
}>;
}
export declare class ModelCreate extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: false;
};
readonly name: {
readonly required: true;
};
readonly type: {
readonly required: true;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ModelCreate>;
}): Promise<{
model: {
id: string;
name: string;
type: "custom" | "event" | "profile" | "account";
state: "ready" | "deleted";
locked: string;
icon: string;
createdAt: number;
updatedAt: number;
};
}>;
}
export declare class ModelView extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ModelView>;
}): Promise<{
model: {
id: string;
name: string;
type: "custom" | "event" | "profile" | "account";
state: "ready" | "deleted";
locked: string;
icon: string;
createdAt: number;
updatedAt: number;
};
}>;
}
export declare class ModelEdit extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
readonly name: {
readonly required: false;
};
readonly type: {
readonly required: false;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ModelEdit>;
}): Promise<{
model: {
id: string;
name: string;
type: "custom" | "event" | "profile" | "account";
state: "ready" | "deleted";
locked: string;
icon: string;
createdAt: number;
updatedAt: number;
};
}>;
}
export declare class ModelDestroy extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ModelDestroy>;
}): Promise<{
success: boolean;
}>;
}