@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
55 lines • 1.74 kB
TypeScript
import type { Types } from "mongoose";
import type { IWorkspace } from "../entities/Workspace";
import type { IQueryFilter, IQueryOptions } from "../interfaces";
import type { Ownership } from "../interfaces/SystemTypes";
import BaseService from "./BaseService";
export interface WorkspaceInputData {
/**
* Name of the workspace.
*/
name: string;
/**
* User ID of the owner (default is the current authenticated user)
*/
owner?: string;
/**
* Set privacy mode for this workspace
* @default true
*/
public?: boolean;
/**
* DXUP API Key
*/
dx_key?: string;
/**
* DXUP Workspace ID
*/
dx_id?: string;
}
export interface InviteMemberData {
emails: string[];
role?: string;
}
export interface AddUserToWorkspaceParams {
userId: Types.ObjectId;
workspaceId: Types.ObjectId;
roleId?: Types.ObjectId;
}
export declare class WorkspaceService extends BaseService<IWorkspace> {
constructor(ownership?: Ownership);
create(data: WorkspaceInputData, options?: IQueryOptions): Promise<IWorkspace>;
update(filter: IQueryFilter<IWorkspace>, data: any, options?: IQueryOptions): Promise<IWorkspace[]>;
delete(filter?: IQueryFilter<IWorkspace>, options?: IQueryOptions): Promise<{
ok: boolean;
affected: number;
}>;
inviteMember(data: InviteMemberData, options?: IQueryOptions): Promise<IWorkspace>;
addUser(data: AddUserToWorkspaceParams): Promise<IWorkspace>;
testCloudStorage(): Promise<{
path: string;
storageUrl: string;
publicUrl: string;
provider: "google" | "cloudflare" | "aws_s3" | "do_space";
}>;
}
//# sourceMappingURL=WorkspaceService.d.ts.map