@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
360 lines • 10.5 kB
TypeScript
/// <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