UNPKG

@topgroup/diginext

Version:

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

179 lines 5.32 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 type { Types } from "mongoose"; import { Schema } from "mongoose"; import type { HiddenBodyKeys } from "../interfaces"; import type { DeployEnvironment } from "../interfaces/DeployEnvironment"; import type { GitProviderType } from "../interfaces/SystemTypes"; import type { IBase } from "./Base"; import type { IGitProvider } from "./GitProvider"; export interface AppGitInfo { /** * `REQUIRES` * --- * A SSH URI of the source code repository * @example git@bitbucket.org:digitopvn/example-repo.git */ repoSSH: string; /** * OPTIONAL * --- * A SSH URI of the source code repository * @example https://bitbucket.org/digitopvn/example-repo */ repoURL?: string; /** * OPTIONAL * --- * Git provider's type: `github`, `bitbucket`, `gitlab` */ provider?: GitProviderType; /** * OPTIONAL * --- * Git provider's type: `github`, `bitbucket`, `gitlab` */ providerID?: string | IGitProvider; } /** * An interface that extends IBase and describes the properties of an app. * * @interface IApp * @extends {IBase} */ export interface IApp extends IBase { /** * The name of the app. * * @type {string} * @memberof IApp */ name?: string; /** * OPTIONAL: The image URI of this app on the Container Registry (without `TAG`). * * Combined from: `<registry-image-base-url>/<project-slug>/<app-name-slug>` * * **Don't** specify `tag` at the end! (e.g., `latest`, `beta`,...) * * @type {string} * @memberof IApp * @default <registry-image-base-url>/<project-slug>/<app-name-slug> * @example "asia.gcr.io/my-workspace/my-project/my-app" */ image?: string; /** * The slug of the app. * * @type {string} * @memberof IApp */ slug?: string; /** * The user who created the app. * * @type {string} * @memberof IApp */ createdBy?: string; /** * The user who last updated the app. * * @type {string} * @memberof IApp */ lastUpdatedBy?: string; /** * Git Provider of this app */ gitProvider?: Types.ObjectId | IGitProvider | string; /** * The Git information of the app. * * @type {AppGitInfo} * @memberof IApp */ git?: AppGitInfo; /** * The framework information of the app. * * @memberof IApp */ framework?: { name?: string; slug?: string; version?: string; repoURL?: string; repoSSH?: string; }; /** * The environment information of the app. * * @type {{ [key: string]: DeployEnvironment | string }} * @memberof IApp * @deprecated */ environment?: { [key: string]: DeployEnvironment | string; }; /** * The deploy environment information of the app. * * @type {{ [key: string]: DeployEnvironment }} * @memberof IApp */ deployEnvironment?: { [key: string]: DeployEnvironment; }; /** * The latest build of the app. * * @type {string} * @memberof IApp */ latestBuild?: string; /** * The incremental integer of build for this app */ buildNumber?: number; /** * The project slug of the app. * * @type {string} * @memberof IApp */ projectSlug?: string; /** * Date when the application was archived (take down all deploy environments) */ archivedAt?: Date; } export type AppDto = Omit<IApp, keyof HiddenBodyKeys>; export declare const appSchema: Schema<IApp, import("mongoose").Model<IApp, any, any, any, import("mongoose").Document<unknown, any, IApp> & IApp & Required<{ _id: string | Types.ObjectId; }>, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, IApp, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<IApp>> & import("mongoose").FlatRecord<IApp> & Required<{ _id: string | Types.ObjectId; }>>; //# sourceMappingURL=App.d.ts.map