UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

360 lines 10.5 kB
/// <reference types="mongoose/types/aggregate" /> /// <reference types="mongoose/types/callback" /> /// <reference types="mongoose/types/collection" /> /// <reference types="mongoose/types/connection" /> /// <reference types="mongoose/types/cursor" /> /// <reference types="mongoose/types/document" /> /// <reference types="mongoose/types/error" /> /// <reference types="mongoose/types/expressions" /> /// <reference types="mongoose/types/helpers" /> /// <reference types="mongoose/types/middlewares" /> /// <reference types="mongoose/types/indexes" /> /// <reference types="mongoose/types/models" /> /// <reference types="mongoose/types/mongooseoptions" /> /// <reference types="mongoose/types/pipelinestage" /> /// <reference types="mongoose/types/populate" /> /// <reference types="mongoose/types/query" /> /// <reference types="mongoose/types/schemaoptions" /> /// <reference types="mongoose/types/schematypes" /> /// <reference types="mongoose/types/session" /> /// <reference types="mongoose/types/types" /> /// <reference types="mongoose/types/utility" /> /// <reference types="mongoose/types/validation" /> /// <reference types="mongoose/types/virtuals" /> /// <reference types="mongoose/types/inferschematype" /> import { Schema } from "mongoose"; import type { HiddenBodyKeys } from "../interfaces"; import type { RetentionType } from "../interfaces/SystemTypes"; import type { CloudStorageProvider } from "../plugins/cloud-storage"; import type { IBase } from "./Base"; export interface IWorkspace extends IBase { /** * Workspace name */ name?: string; /** * Workspace slug: auto-generated by "name" column * @readonly */ slug?: string; /** * Is this a `public` workspace that anyone can join, otherwise it's a `private` workspace that needs approval on joining request. */ public?: boolean; /** * Workspace profile picture */ image?: string; /** * Workspace domain name */ domain?: string; /** * DXSITE API Key */ dx_key?: string; /** * DXSITE Workspace ID */ dx_id?: string; /** * Workspace Settings */ settings?: { ai?: { enabled: boolean; apiBaseUrl: string; model: string; apiKey: string; }; database?: any; activity?: { /** * Data retention information * - `type` is "duration", value is "miliseconds" * - `type` is "limit", value is "MAX AMOUNT OF BACKUPS" */ retention?: { type: RetentionType; value: number; }; }; database_backup?: { /** * Data retention information * - `type` is "duration", value is "miliseconds" * - `type` is "limit", value is "MAX AMOUNT OF BACKUPS" */ retention?: { type: RetentionType; value: number; }; }; system_log?: { /** * Data retention information * - `type` is "duration", value is "miliseconds" * - `type` is "limit", value is "MAX AMOUNT OF BACKUPS" */ retention?: { type: RetentionType; value: number; }; }; cloud_storage?: { provider: CloudStorageProvider; region: string; bucket: string; accessKey: string; secretKey: string; endpoint: string; baseUrl: string; basePath: string; }; notification?: { jojo?: { enabled: boolean; apiKey: string; events: string[]; }; elasticEmail?: { enabled: boolean; apiKey: string; events: string[]; }; }; }; } export type WorkspaceDto = Omit<IWorkspace, keyof HiddenBodyKeys>; export declare const workspaceSchema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, { collection: string; timestamps: true; }, { createdAt: NativeDate; updatedAt: NativeDate; } & { active: boolean; createdAt: Date; updatedAt: Date; workspace?: import("mongoose").Types.ObjectId; workspaceId?: import("mongoose").Types.ObjectId; name?: string; slug?: string; project?: import("mongoose").Types.ObjectId; projectId?: import("mongoose").Types.ObjectId; domain?: string; public?: boolean; image?: string; dx_key?: string; dx_id?: string; owner?: import("mongoose").Types.ObjectId; settings?: { database?: any; activity?: { retention?: { type?: string; }; }; ai?: { model?: string; enabled?: boolean; apiBaseUrl?: string; apiKey?: string; }; database_backup?: { retention?: { type?: string; }; }; system_log?: { retention?: { type?: string; }; }; cloud_storage?: { region?: string; provider?: string; baseUrl?: string; bucket?: string; accessKey?: string; secretKey?: string; endpoint?: string; basePath?: string; }; notification?: { jojo?: { events: string[]; enabled?: boolean; apiKey?: string; }; elasticEmail?: { events: string[]; enabled?: boolean; apiKey?: string; }; }; }; metadata?: any; ownerSlug?: string; ownerId?: import("mongoose").Types.ObjectId; workspaceSlug?: string; updatedBy?: import("mongoose").Types.ObjectId; updatedById?: import("mongoose").Types.ObjectId; deletedBy?: import("mongoose").Types.ObjectId; deletedById?: import("mongoose").Types.ObjectId; deletedAt?: Date; migratedAt?: Date; }, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{ createdAt: NativeDate; updatedAt: NativeDate; } & { active: boolean; createdAt: Date; updatedAt: Date; workspace?: import("mongoose").Types.ObjectId; workspaceId?: import("mongoose").Types.ObjectId; name?: string; slug?: string; project?: import("mongoose").Types.ObjectId; projectId?: import("mongoose").Types.ObjectId; domain?: string; public?: boolean; image?: string; dx_key?: string; dx_id?: string; owner?: import("mongoose").Types.ObjectId; settings?: { database?: any; activity?: { retention?: { type?: string; }; }; ai?: { model?: string; enabled?: boolean; apiBaseUrl?: string; apiKey?: string; }; database_backup?: { retention?: { type?: string; }; }; system_log?: { retention?: { type?: string; }; }; cloud_storage?: { region?: string; provider?: string; baseUrl?: string; bucket?: string; accessKey?: string; secretKey?: string; endpoint?: string; basePath?: string; }; notification?: { jojo?: { events: string[]; enabled?: boolean; apiKey?: string; }; elasticEmail?: { events: string[]; enabled?: boolean; apiKey?: string; }; }; }; metadata?: any; ownerSlug?: string; ownerId?: import("mongoose").Types.ObjectId; workspaceSlug?: string; updatedBy?: import("mongoose").Types.ObjectId; updatedById?: import("mongoose").Types.ObjectId; deletedBy?: import("mongoose").Types.ObjectId; deletedById?: import("mongoose").Types.ObjectId; deletedAt?: Date; migratedAt?: Date; }>> & import("mongoose").FlatRecord<{ createdAt: NativeDate; updatedAt: NativeDate; } & { active: boolean; createdAt: Date; updatedAt: Date; workspace?: import("mongoose").Types.ObjectId; workspaceId?: import("mongoose").Types.ObjectId; name?: string; slug?: string; project?: import("mongoose").Types.ObjectId; projectId?: import("mongoose").Types.ObjectId; domain?: string; public?: boolean; image?: string; dx_key?: string; dx_id?: string; owner?: import("mongoose").Types.ObjectId; settings?: { database?: any; activity?: { retention?: { type?: string; }; }; ai?: { model?: string; enabled?: boolean; apiBaseUrl?: string; apiKey?: string; }; database_backup?: { retention?: { type?: string; }; }; system_log?: { retention?: { type?: string; }; }; cloud_storage?: { region?: string; provider?: string; baseUrl?: string; bucket?: string; accessKey?: string; secretKey?: string; endpoint?: string; basePath?: string; }; notification?: { jojo?: { events: string[]; enabled?: boolean; apiKey?: string; }; elasticEmail?: { events: string[]; enabled?: boolean; apiKey?: string; }; }; }; metadata?: any; ownerSlug?: string; ownerId?: import("mongoose").Types.ObjectId; workspaceSlug?: string; updatedBy?: import("mongoose").Types.ObjectId; updatedById?: import("mongoose").Types.ObjectId; deletedBy?: import("mongoose").Types.ObjectId; deletedById?: import("mongoose").Types.ObjectId; deletedAt?: Date; migratedAt?: Date; }> & { _id: import("mongoose").Types.ObjectId; }>; //# sourceMappingURL=Workspace.d.ts.map