@brimble/models 3.7.84 → 3.7.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/activity-log.d.ts +30 -0
- package/dist/activity-log.js +61 -0
- package/dist/app-message.d.ts +30 -0
- package/dist/app-message.js +14 -0
- package/dist/auto-scaling.d.ts +30 -0
- package/dist/auto-scaling.js +63 -0
- package/dist/card.d.ts +30 -0
- package/dist/card.js +41 -0
- package/dist/cashier_subscription.d.ts +30 -0
- package/dist/cashier_subscription.js +27 -0
- package/dist/cashier_subscription_item.d.ts +30 -0
- package/dist/cashier_subscription_item.js +17 -0
- package/dist/collab-annotation.d.ts +30 -0
- package/dist/collab-annotation.js +31 -0
- package/dist/collab-comment.d.ts +30 -0
- package/dist/collab-comment.js +19 -0
- package/dist/collab-integration.d.ts +30 -0
- package/dist/collab-integration.js +17 -0
- package/dist/collab-push-subscription.d.ts +30 -0
- package/dist/collab-push-subscription.js +14 -0
- package/dist/collab-settings.d.ts +30 -0
- package/dist/collab-settings.js +24 -0
- package/dist/collab-share-token.d.ts +30 -0
- package/dist/collab-share-token.js +11 -0
- package/dist/compute.d.ts +30 -0
- package/dist/compute.js +82 -0
- package/dist/db-image.d.ts +30 -0
- package/dist/db-image.js +67 -0
- package/dist/domain/dns.d.ts +30 -0
- package/dist/domain/dns.js +33 -0
- package/dist/domain/index.d.ts +30 -0
- package/dist/domain/index.js +105 -0
- package/dist/domain/renewal.d.ts +30 -0
- package/dist/domain/renewal.js +21 -0
- package/dist/domain/transfer.d.ts +30 -0
- package/dist/domain/transfer.js +99 -0
- package/dist/enum/index.d.ts +222 -0
- package/dist/enum/index.js +261 -0
- package/dist/env.d.ts +30 -0
- package/dist/env.js +34 -0
- package/dist/environment-variable.d.ts +30 -0
- package/dist/environment-variable.js +16 -0
- package/dist/follower.d.ts +30 -0
- package/dist/follower.js +15 -0
- package/dist/following.d.ts +30 -0
- package/dist/following.js +15 -0
- package/dist/framework.d.ts +30 -0
- package/dist/framework.js +84 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.js +197 -0
- package/dist/integration.d.ts +30 -0
- package/dist/integration.js +35 -0
- package/dist/intention.d.ts +30 -0
- package/dist/intention.js +36 -0
- package/dist/invoice.d.ts +30 -0
- package/dist/invoice.js +28 -0
- package/dist/job.d.ts +6 -0
- package/dist/job.js +52 -0
- package/dist/license.d.ts +30 -0
- package/dist/license.js +75 -0
- package/dist/load-balancer-port.d.ts +30 -0
- package/dist/load-balancer-port.js +27 -0
- package/dist/logs.d.ts +30 -0
- package/dist/logs.js +42 -0
- package/dist/member-permission.d.ts +30 -0
- package/dist/member-permission.js +9 -0
- package/dist/member.d.ts +30 -0
- package/dist/member.js +40 -0
- package/dist/ownership-transfer.d.ts +30 -0
- package/dist/ownership-transfer.js +35 -0
- package/dist/permission.d.ts +30 -0
- package/dist/permission.js +12 -0
- package/dist/plan_configuration.d.ts +6 -0
- package/dist/plan_configuration.js +42 -0
- package/dist/project/connection.d.ts +30 -0
- package/dist/project/connection.js +14 -0
- package/dist/project/index.d.ts +33 -0
- package/dist/project/index.js +243 -0
- package/dist/project/preview.d.ts +30 -0
- package/dist/project/preview.js +37 -0
- package/dist/project-environment.d.ts +30 -0
- package/dist/project-environment.js +13 -0
- package/dist/project-tag-assignment.d.ts +30 -0
- package/dist/project-tag-assignment.js +32 -0
- package/dist/project_analytics.d.ts +30 -0
- package/dist/project_analytics.js +18 -0
- package/dist/provider.d.ts +30 -0
- package/dist/provider.js +10 -0
- package/dist/region.d.ts +30 -0
- package/dist/region.js +17 -0
- package/dist/role.d.ts +30 -0
- package/dist/role.js +11 -0
- package/dist/server.d.ts +30 -0
- package/dist/server.js +101 -0
- package/dist/settings.d.ts +30 -0
- package/dist/settings.js +49 -0
- package/dist/subscription.d.ts +30 -0
- package/dist/subscription.js +82 -0
- package/dist/tag.d.ts +30 -0
- package/dist/tag.js +29 -0
- package/dist/team.d.ts +30 -0
- package/dist/team.js +61 -0
- package/dist/token.d.ts +30 -0
- package/dist/token.js +36 -0
- package/dist/types/activity-log.d.ts +18 -0
- package/dist/types/activity-log.js +2 -0
- package/dist/types/app-message.d.ts +15 -0
- package/dist/types/app-message.js +2 -0
- package/dist/types/auto-scaling-group.d.ts +20 -0
- package/dist/types/auto-scaling-group.js +2 -0
- package/dist/types/card.d.ts +12 -0
- package/dist/types/card.js +2 -0
- package/dist/types/cashier_subscription.d.ts +27 -0
- package/dist/types/cashier_subscription.js +2 -0
- package/dist/types/collab-annotation.d.ts +27 -0
- package/dist/types/collab-annotation.js +2 -0
- package/dist/types/collab-comment.d.ts +20 -0
- package/dist/types/collab-comment.js +2 -0
- package/dist/types/collab-integration.d.ts +13 -0
- package/dist/types/collab-integration.js +2 -0
- package/dist/types/collab-push-subscription.d.ts +12 -0
- package/dist/types/collab-push-subscription.js +2 -0
- package/dist/types/collab-settings.d.ts +16 -0
- package/dist/types/collab-settings.js +2 -0
- package/dist/types/collab-share-token.d.ts +12 -0
- package/dist/types/collab-share-token.js +2 -0
- package/dist/types/compute.d.ts +48 -0
- package/dist/types/compute.js +2 -0
- package/dist/types/db-image.d.ts +25 -0
- package/dist/types/db-image.js +2 -0
- package/dist/types/domain/dns.d.ts +12 -0
- package/dist/types/domain/dns.js +2 -0
- package/dist/types/domain/index.d.ts +34 -0
- package/dist/types/domain/index.js +2 -0
- package/dist/types/domain/renewal.d.ts +10 -0
- package/dist/types/domain/renewal.js +2 -0
- package/dist/types/domain/transfer.d.ts +27 -0
- package/dist/types/domain/transfer.js +2 -0
- package/dist/types/env.d.ts +13 -0
- package/dist/types/env.js +2 -0
- package/dist/types/environment-variable.d.ts +12 -0
- package/dist/types/environment-variable.js +2 -0
- package/dist/types/following.d.ts +5 -0
- package/dist/types/following.js +2 -0
- package/dist/types/framework.d.ts +39 -0
- package/dist/types/framework.js +2 -0
- package/dist/types/git.d.ts +14 -0
- package/dist/types/git.js +2 -0
- package/dist/types/index.d.ts +56 -0
- package/dist/types/index.js +2 -0
- package/dist/types/installed_integration.d.ts +6 -0
- package/dist/types/installed_integration.js +2 -0
- package/dist/types/integration.d.ts +14 -0
- package/dist/types/integration.js +2 -0
- package/dist/types/intention.d.ts +13 -0
- package/dist/types/intention.js +2 -0
- package/dist/types/invoice.d.ts +15 -0
- package/dist/types/invoice.js +2 -0
- package/dist/types/job.d.ts +19 -0
- package/dist/types/job.js +2 -0
- package/dist/types/license.d.ts +18 -0
- package/dist/types/license.js +2 -0
- package/dist/types/load-balancer-port.d.ts +12 -0
- package/dist/types/load-balancer-port.js +2 -0
- package/dist/types/logs.d.ts +35 -0
- package/dist/types/logs.js +2 -0
- package/dist/types/member-permission.d.ts +8 -0
- package/dist/types/member-permission.js +2 -0
- package/dist/types/member.d.ts +18 -0
- package/dist/types/member.js +2 -0
- package/dist/types/ownership-transfer.d.ts +12 -0
- package/dist/types/ownership-transfer.js +2 -0
- package/dist/types/permission.d.ts +13 -0
- package/dist/types/permission.js +2 -0
- package/dist/types/plan_configuration.d.ts +36 -0
- package/dist/types/plan_configuration.js +2 -0
- package/dist/types/project/connection.d.ts +6 -0
- package/dist/types/project/connection.js +2 -0
- package/dist/types/project/index.d.ts +97 -0
- package/dist/types/project/index.js +2 -0
- package/dist/types/project/preview.d.ts +21 -0
- package/dist/types/project/preview.js +2 -0
- package/dist/types/project-environment.d.ts +13 -0
- package/dist/types/project-environment.js +2 -0
- package/dist/types/project-tag-assignment.d.ts +13 -0
- package/dist/types/project-tag-assignment.js +2 -0
- package/dist/types/project_analytics.d.ts +11 -0
- package/dist/types/project_analytics.js +2 -0
- package/dist/types/provider.d.ts +7 -0
- package/dist/types/provider.js +2 -0
- package/dist/types/region.d.ts +15 -0
- package/dist/types/region.js +2 -0
- package/dist/types/role.d.ts +9 -0
- package/dist/types/role.js +2 -0
- package/dist/types/server.d.ts +32 -0
- package/dist/types/server.js +2 -0
- package/dist/types/settings.d.ts +11 -0
- package/dist/types/settings.js +2 -0
- package/dist/types/subscription.d.ts +33 -0
- package/dist/types/subscription.js +2 -0
- package/dist/types/tag.d.ts +11 -0
- package/dist/types/tag.js +2 -0
- package/dist/types/team.d.ts +19 -0
- package/dist/types/team.js +2 -0
- package/dist/types/token.d.ts +11 -0
- package/dist/types/token.js +2 -0
- package/dist/types/user.d.ts +41 -0
- package/dist/types/user.js +2 -0
- package/dist/types/volume.d.ts +14 -0
- package/dist/types/volume.js +2 -0
- package/dist/types/wallet.d.ts +8 -0
- package/dist/types/wallet.js +2 -0
- package/dist/types/webhook-category.d.ts +4 -0
- package/dist/types/webhook-category.js +2 -0
- package/dist/types/webhook-event.d.ts +7 -0
- package/dist/types/webhook-event.js +2 -0
- package/dist/types/webhook-setting.d.ts +16 -0
- package/dist/types/webhook-setting.js +2 -0
- package/dist/user.d.ts +30 -0
- package/dist/user.js +61 -0
- package/dist/volume.d.ts +30 -0
- package/dist/volume.js +31 -0
- package/dist/wallet.d.ts +30 -0
- package/dist/wallet.js +26 -0
- package/dist/webhook-category.d.ts +30 -0
- package/dist/webhook-category.js +10 -0
- package/dist/webhook-event.d.ts +30 -0
- package/dist/webhook-event.js +19 -0
- package/dist/webhook-setting.d.ts +30 -0
- package/dist/webhook-setting.js +50 -0
- package/package.json +1 -1
- package/project/index.ts +8 -0
- package/types/project/index.ts +2 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import mongoose, { Document } from "mongoose";
|
|
2
|
+
import { LicenseStatus } from "../enum";
|
|
3
|
+
export interface ILicense extends Document {
|
|
4
|
+
licenseKey: string;
|
|
5
|
+
infisicalIdentity: string;
|
|
6
|
+
userId: mongoose.Types.ObjectId;
|
|
7
|
+
teamId: mongoose.Types.ObjectId;
|
|
8
|
+
status: LicenseStatus;
|
|
9
|
+
tag: string;
|
|
10
|
+
subscriptionId: mongoose.Types.ObjectId;
|
|
11
|
+
devices: Array<{
|
|
12
|
+
deviceId: string;
|
|
13
|
+
hostname: string;
|
|
14
|
+
lastSeen: Date;
|
|
15
|
+
isActive: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
maxDevices: number;
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { IProject } from "./project";
|
|
3
|
+
import { IRegion } from "./region";
|
|
4
|
+
import { IServer } from "./server";
|
|
5
|
+
export interface ILoadBalancerPort extends Document {
|
|
6
|
+
port: number;
|
|
7
|
+
server_id: IServer;
|
|
8
|
+
project_id: IProject;
|
|
9
|
+
region_id: IRegion;
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
updatedAt: Date;
|
|
12
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { ENVIRONMENT, PROJECT_STATUS } from "../enum";
|
|
3
|
+
import { IProject } from "./project";
|
|
4
|
+
import { IUser } from "./user";
|
|
5
|
+
import { IPreview } from "./project/preview";
|
|
6
|
+
import { ITeam } from "./team";
|
|
7
|
+
export interface ILog extends Document {
|
|
8
|
+
name: string;
|
|
9
|
+
key: string;
|
|
10
|
+
commit: {
|
|
11
|
+
sha: string;
|
|
12
|
+
branch: string;
|
|
13
|
+
message: string;
|
|
14
|
+
committer: {
|
|
15
|
+
name: string;
|
|
16
|
+
email: string;
|
|
17
|
+
username: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
status: PROJECT_STATUS;
|
|
21
|
+
project: IProject;
|
|
22
|
+
user?: IUser;
|
|
23
|
+
team?: ITeam;
|
|
24
|
+
jobs: {
|
|
25
|
+
id: number;
|
|
26
|
+
name: string;
|
|
27
|
+
}[];
|
|
28
|
+
environment: ENVIRONMENT;
|
|
29
|
+
preview: IPreview;
|
|
30
|
+
startTime: Date | string;
|
|
31
|
+
endTime: Date | string;
|
|
32
|
+
createdAt: Date | string;
|
|
33
|
+
updatedAt: Date | string;
|
|
34
|
+
deleted: boolean;
|
|
35
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { ROLES } from "../enum";
|
|
3
|
+
import { ITeam, IUser } from "./";
|
|
4
|
+
import { IMemberPermission } from "./member-permission";
|
|
5
|
+
import { IProjectEnvironment } from "./project-environment";
|
|
6
|
+
export interface IMember extends Document {
|
|
7
|
+
user: IUser;
|
|
8
|
+
team: ITeam;
|
|
9
|
+
role: ROLES;
|
|
10
|
+
accepted: boolean;
|
|
11
|
+
invitedBy: IUser;
|
|
12
|
+
email: string;
|
|
13
|
+
featureOnboarded: boolean;
|
|
14
|
+
permissions: IMemberPermission[];
|
|
15
|
+
project_environments: IProjectEnvironment[];
|
|
16
|
+
createdAt: Date;
|
|
17
|
+
updatedAt: Date;
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { ITeam } from "./team";
|
|
3
|
+
import { IUser } from "./user";
|
|
4
|
+
export interface IOwnershipTransfer extends Document {
|
|
5
|
+
team: ITeam;
|
|
6
|
+
from_user: IUser;
|
|
7
|
+
to_user: IUser;
|
|
8
|
+
status: "pending" | "accepted" | "denied" | "expired";
|
|
9
|
+
expires_at: Date;
|
|
10
|
+
created_at: Date;
|
|
11
|
+
updated_at: Date;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { IRole } from "./role";
|
|
3
|
+
import { PERMISSION_TYPE, REQUEST_TYPE } from "../enum";
|
|
4
|
+
export interface IPermission extends Document {
|
|
5
|
+
title: string;
|
|
6
|
+
role: IRole[];
|
|
7
|
+
type: PERMISSION_TYPE;
|
|
8
|
+
request: {
|
|
9
|
+
route: string;
|
|
10
|
+
type: REQUEST_TYPE;
|
|
11
|
+
};
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { SUBSCRIPTION_PLAN_TYPE } from "../enum";
|
|
3
|
+
import { IRegion } from "./region";
|
|
4
|
+
export interface IPlanConfiguration extends Document {
|
|
5
|
+
tag: string;
|
|
6
|
+
price: number;
|
|
7
|
+
region: IRegion;
|
|
8
|
+
slack_support: boolean;
|
|
9
|
+
autoscaling_enabled: boolean;
|
|
10
|
+
concurrent_builds: number;
|
|
11
|
+
project_limit: number;
|
|
12
|
+
deploy_private_organization: boolean;
|
|
13
|
+
preview_comments: boolean;
|
|
14
|
+
analytics: boolean;
|
|
15
|
+
build_minutes: number;
|
|
16
|
+
log_retention: number;
|
|
17
|
+
multi_region: boolean;
|
|
18
|
+
ai_debug_enabled: boolean;
|
|
19
|
+
ai_debug_limit: number;
|
|
20
|
+
bandwidth: number;
|
|
21
|
+
pull_request_preview: boolean;
|
|
22
|
+
plan_type: SUBSCRIPTION_PLAN_TYPE;
|
|
23
|
+
memory: number;
|
|
24
|
+
build_timeout: number;
|
|
25
|
+
storage: number;
|
|
26
|
+
cpu: number;
|
|
27
|
+
tokens: number;
|
|
28
|
+
hierarchy: number;
|
|
29
|
+
view_metrics: boolean;
|
|
30
|
+
token_request: number;
|
|
31
|
+
custom_domain: boolean;
|
|
32
|
+
unlimited_projects: boolean;
|
|
33
|
+
webhook_enabled: boolean;
|
|
34
|
+
can_deploy_all_applications: boolean;
|
|
35
|
+
stripe_prices?: Record<string, string>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { GIT_TYPE, PROJECT_STATUS, ServiceType } from "../../enum";
|
|
3
|
+
import { IDomain } from "../domain";
|
|
4
|
+
import { IEnv } from "../env";
|
|
5
|
+
import { ILog } from "../logs";
|
|
6
|
+
import { ITeam } from "../team";
|
|
7
|
+
import { IUser } from "../user";
|
|
8
|
+
import { IServer } from "../server";
|
|
9
|
+
import { IPreview } from "./preview";
|
|
10
|
+
import { IDbImage } from "../db-image";
|
|
11
|
+
import { IAutoScalingGroup } from "../auto-scaling-group";
|
|
12
|
+
import { IProjectEnvironment } from "../project-environment";
|
|
13
|
+
import { IRegion } from "../region";
|
|
14
|
+
export interface IProject extends Document {
|
|
15
|
+
name: string;
|
|
16
|
+
healthCheckPath?: string;
|
|
17
|
+
preStartCommand?: string;
|
|
18
|
+
backupEnabled: boolean;
|
|
19
|
+
free_tier_expires_at?: Date | null;
|
|
20
|
+
free_tier_expiry_notified_at?: Date | null;
|
|
21
|
+
buildCacheEnabled?: boolean;
|
|
22
|
+
domains: Array<IDomain>;
|
|
23
|
+
environments: Array<IEnv>;
|
|
24
|
+
uuid: number;
|
|
25
|
+
pid: number;
|
|
26
|
+
port: number;
|
|
27
|
+
ip: string;
|
|
28
|
+
dir: string;
|
|
29
|
+
tlsEnabled: boolean;
|
|
30
|
+
dbImage: IDbImage;
|
|
31
|
+
installCommand: string;
|
|
32
|
+
buildCommand: string;
|
|
33
|
+
startCommand: string;
|
|
34
|
+
outputDirectory: string;
|
|
35
|
+
user_id: IUser;
|
|
36
|
+
monitor_id: string;
|
|
37
|
+
nomadJobId: string;
|
|
38
|
+
watchPaths: string[];
|
|
39
|
+
repo: {
|
|
40
|
+
name: string;
|
|
41
|
+
full_name: string;
|
|
42
|
+
id: number;
|
|
43
|
+
branch: string;
|
|
44
|
+
installationId: number;
|
|
45
|
+
git: GIT_TYPE;
|
|
46
|
+
} | null;
|
|
47
|
+
rootDir?: string;
|
|
48
|
+
team: ITeam;
|
|
49
|
+
server: IServer;
|
|
50
|
+
isPrivate: boolean;
|
|
51
|
+
status: PROJECT_STATUS;
|
|
52
|
+
framework: string;
|
|
53
|
+
description: string;
|
|
54
|
+
logs: Array<ILog>;
|
|
55
|
+
log: ILog;
|
|
56
|
+
maintenance: boolean;
|
|
57
|
+
passwordEnabled: boolean;
|
|
58
|
+
disabled: boolean;
|
|
59
|
+
authEnabled: boolean;
|
|
60
|
+
password: string | null;
|
|
61
|
+
deployedInCluster: boolean;
|
|
62
|
+
screenshot: {
|
|
63
|
+
image: string;
|
|
64
|
+
public_id: string;
|
|
65
|
+
};
|
|
66
|
+
createdAt: Date;
|
|
67
|
+
updatedAt: Date;
|
|
68
|
+
container_stats_schedule_id: string | null;
|
|
69
|
+
lastProcessed: number;
|
|
70
|
+
tracking_token: string;
|
|
71
|
+
from: string;
|
|
72
|
+
previews: IPreview[];
|
|
73
|
+
project_environment?: IProjectEnvironment;
|
|
74
|
+
inherit_environment_vars: boolean;
|
|
75
|
+
replicas: number;
|
|
76
|
+
vaultPath: string | null;
|
|
77
|
+
vaultToken: string | null;
|
|
78
|
+
specs: {
|
|
79
|
+
memory: number;
|
|
80
|
+
cpu: number;
|
|
81
|
+
storage: number;
|
|
82
|
+
region: IRegion;
|
|
83
|
+
};
|
|
84
|
+
last_requested: Date;
|
|
85
|
+
isPaused: boolean;
|
|
86
|
+
billable: boolean;
|
|
87
|
+
serviceType?: ServiceType;
|
|
88
|
+
last_backup_url?: string;
|
|
89
|
+
last_backup_at?: Date;
|
|
90
|
+
replica_ready: boolean;
|
|
91
|
+
autoscaling_group?: IAutoScalingGroup;
|
|
92
|
+
isPaid: boolean;
|
|
93
|
+
hasUpdates?: boolean;
|
|
94
|
+
whiteListedIps?: string[];
|
|
95
|
+
diskSize?: number;
|
|
96
|
+
volumeMount: string;
|
|
97
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { IServer } from "../server";
|
|
3
|
+
import { IProject } from ".";
|
|
4
|
+
import { PROJECT_STATUS } from "../../enum";
|
|
5
|
+
import { ILog } from "../logs";
|
|
6
|
+
export interface IPreview extends Document {
|
|
7
|
+
name: string;
|
|
8
|
+
healthCheckPath?: string;
|
|
9
|
+
pid: number;
|
|
10
|
+
port: number;
|
|
11
|
+
ip: string;
|
|
12
|
+
dir: string;
|
|
13
|
+
branch: string;
|
|
14
|
+
server: IServer;
|
|
15
|
+
project: IProject;
|
|
16
|
+
issue_comment_id: number;
|
|
17
|
+
status: PROJECT_STATUS;
|
|
18
|
+
log: ILog;
|
|
19
|
+
last_requested: Date;
|
|
20
|
+
isPaused: boolean;
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { ITeam } from "./team";
|
|
3
|
+
import { IUser } from "./user";
|
|
4
|
+
export interface IProjectEnvironment extends Document {
|
|
5
|
+
name: string;
|
|
6
|
+
slug: string;
|
|
7
|
+
owner: IUser;
|
|
8
|
+
team?: ITeam;
|
|
9
|
+
inherit_from?: IProjectEnvironment;
|
|
10
|
+
isDefault: boolean;
|
|
11
|
+
createdAt: Date;
|
|
12
|
+
updatedAt: Date;
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { ITag } from "./tag";
|
|
3
|
+
import { IProject } from "./project";
|
|
4
|
+
import { ITeam } from "./team";
|
|
5
|
+
import { IUser } from "./user";
|
|
6
|
+
export interface IProjectTagAssignment extends Document {
|
|
7
|
+
tagId: ITag;
|
|
8
|
+
projectId: IProject;
|
|
9
|
+
teamId: ITeam;
|
|
10
|
+
assignedBy: IUser;
|
|
11
|
+
createdAt: Date;
|
|
12
|
+
updatedAt: Date;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Document, Types } from "mongoose";
|
|
2
|
+
export interface IProjectAnalytics extends Document {
|
|
3
|
+
project: Types.ObjectId;
|
|
4
|
+
provider: "umami";
|
|
5
|
+
websiteId: string;
|
|
6
|
+
shareId?: string | null;
|
|
7
|
+
domain: string;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
createdAt: Date;
|
|
10
|
+
updatedAt: Date;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Schema } from "mongoose";
|
|
2
|
+
import { REGION_CONTINENT } from "../enum";
|
|
3
|
+
export interface IRegion extends Document {
|
|
4
|
+
_id: Schema.Types.ObjectId;
|
|
5
|
+
name: string;
|
|
6
|
+
country: string;
|
|
7
|
+
continent?: REGION_CONTINENT;
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
dbVolumePath: string;
|
|
10
|
+
is_paid: boolean;
|
|
11
|
+
provider: string;
|
|
12
|
+
provider_identifier: string;
|
|
13
|
+
storage_pricing_factor: number;
|
|
14
|
+
floating_ip?: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import mongoose, { Document } from "mongoose";
|
|
2
|
+
import { SERVER_STATUS, SERVER_PROTOCOL } from "../enum";
|
|
3
|
+
import { IRegion } from "./region";
|
|
4
|
+
export interface IServer extends Document {
|
|
5
|
+
name: string;
|
|
6
|
+
url: string;
|
|
7
|
+
grpc_address?: string;
|
|
8
|
+
ipv6?: string;
|
|
9
|
+
domain?: string;
|
|
10
|
+
userId: mongoose.Types.ObjectId;
|
|
11
|
+
teamId?: mongoose.Types.ObjectId;
|
|
12
|
+
ip_address: string;
|
|
13
|
+
private_ip_address: string;
|
|
14
|
+
tunnel_token: string;
|
|
15
|
+
type: string;
|
|
16
|
+
protocol: SERVER_PROTOCOL;
|
|
17
|
+
status: SERVER_STATUS;
|
|
18
|
+
default: boolean;
|
|
19
|
+
tag: string;
|
|
20
|
+
region: IRegion;
|
|
21
|
+
webhook_url?: string;
|
|
22
|
+
is_custom_provision: boolean;
|
|
23
|
+
firewall_id?: string;
|
|
24
|
+
specifications: Record<any, any>;
|
|
25
|
+
plugin_id?: string;
|
|
26
|
+
provider: string;
|
|
27
|
+
provider_location?: string;
|
|
28
|
+
provider_identifier?: string;
|
|
29
|
+
topology_path?: string;
|
|
30
|
+
cert_storage_path?: string | null;
|
|
31
|
+
meta: Record<any, any>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
export interface ISettings extends Document {
|
|
3
|
+
vaultEnabled: boolean;
|
|
4
|
+
maintenanceMode: boolean;
|
|
5
|
+
buildsEnabled: boolean;
|
|
6
|
+
minimumBuildMinutes: number;
|
|
7
|
+
enableSecretRotation: boolean;
|
|
8
|
+
domainPromoEnabled: boolean;
|
|
9
|
+
postHogEnabled: boolean;
|
|
10
|
+
metaSettings: Record<string, any>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { SUBSCRIPTION_PLAN_TYPE, SUBSCRIPTION_STATUS } from "../enum";
|
|
3
|
+
import { IUser } from "./user";
|
|
4
|
+
import { ITeam } from "./team";
|
|
5
|
+
import { IProject } from "./project";
|
|
6
|
+
export interface ISubscription extends Document {
|
|
7
|
+
initial_start_date: string;
|
|
8
|
+
team_id: ITeam;
|
|
9
|
+
due_amount: number;
|
|
10
|
+
admin_id: IUser;
|
|
11
|
+
downgraded: boolean;
|
|
12
|
+
billable_id: IUser;
|
|
13
|
+
project_id?: IProject;
|
|
14
|
+
plan_type: SUBSCRIPTION_PLAN_TYPE;
|
|
15
|
+
status: SUBSCRIPTION_STATUS;
|
|
16
|
+
amount: number;
|
|
17
|
+
transaction_retries: number;
|
|
18
|
+
debit_date: string;
|
|
19
|
+
start_date: string;
|
|
20
|
+
expiry_date: string;
|
|
21
|
+
reminder_date: string;
|
|
22
|
+
is_pending_downgrade: boolean;
|
|
23
|
+
grafana_org_id: string;
|
|
24
|
+
job_identifier: string;
|
|
25
|
+
trigger_created: boolean;
|
|
26
|
+
trigger_created_at: string;
|
|
27
|
+
disabled_at: Date;
|
|
28
|
+
specifications: {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
};
|
|
31
|
+
created_at: Date;
|
|
32
|
+
updated_at: Date;
|
|
33
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { ITeam } from "./team";
|
|
3
|
+
import { IUser } from "./user";
|
|
4
|
+
export interface ITag extends Document {
|
|
5
|
+
name: string;
|
|
6
|
+
color: string;
|
|
7
|
+
teamId: ITeam;
|
|
8
|
+
createdBy: IUser;
|
|
9
|
+
createdAt: Date;
|
|
10
|
+
updatedAt: Date;
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { IMember, IProject, ISubscription } from "./";
|
|
3
|
+
import { BUILD_DISABLED_BY } from "../enum";
|
|
4
|
+
export interface ITeam extends Document {
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
size: number;
|
|
8
|
+
members: IMember[];
|
|
9
|
+
projects: IProject[];
|
|
10
|
+
ai_usage_count: number;
|
|
11
|
+
image: string;
|
|
12
|
+
isCreator: boolean;
|
|
13
|
+
build_minutes: number;
|
|
14
|
+
build_minutes_last_reset_at: Date | null;
|
|
15
|
+
build_minutes_cycle_anchor: Date | null;
|
|
16
|
+
build_disabled: boolean;
|
|
17
|
+
build_disabled_by: BUILD_DISABLED_BY;
|
|
18
|
+
subscription: ISubscription;
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { ISubscription } from "./subscription";
|
|
3
|
+
import { IUser } from "./user";
|
|
4
|
+
export interface IToken extends Document {
|
|
5
|
+
subscription_id: ISubscription;
|
|
6
|
+
owner_id: IUser;
|
|
7
|
+
key_id: string;
|
|
8
|
+
key: string;
|
|
9
|
+
tokens_remaining: number;
|
|
10
|
+
tokens_used: number;
|
|
11
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { IGit } from ".";
|
|
3
|
+
import { IFollowing, IProject, ITeam } from "./";
|
|
4
|
+
import { BUILD_DISABLED_BY } from "../enum";
|
|
5
|
+
export interface IUser extends Document {
|
|
6
|
+
first_name: string;
|
|
7
|
+
last_name: string;
|
|
8
|
+
email: string;
|
|
9
|
+
username: string;
|
|
10
|
+
password: string;
|
|
11
|
+
email_verified_at: string;
|
|
12
|
+
verification_token: number;
|
|
13
|
+
token?: string;
|
|
14
|
+
company?: string;
|
|
15
|
+
ai_usage_count: number;
|
|
16
|
+
github: IGit;
|
|
17
|
+
gitlab: IGit;
|
|
18
|
+
location: string;
|
|
19
|
+
interests: Array<string>;
|
|
20
|
+
bitbucket: IGit;
|
|
21
|
+
following: IFollowing[];
|
|
22
|
+
projects: IProject[];
|
|
23
|
+
teams: ITeam[];
|
|
24
|
+
avatar: string;
|
|
25
|
+
freeTrialActive: boolean;
|
|
26
|
+
activated: boolean;
|
|
27
|
+
is_waitlist: boolean;
|
|
28
|
+
build_disabled: boolean;
|
|
29
|
+
build_disabled_by: BUILD_DISABLED_BY;
|
|
30
|
+
spending_limit: number;
|
|
31
|
+
build_minutes: number;
|
|
32
|
+
disabled: boolean;
|
|
33
|
+
disabled_at: Date;
|
|
34
|
+
has_payment_method: boolean;
|
|
35
|
+
notifications: {
|
|
36
|
+
email: boolean;
|
|
37
|
+
mute: boolean;
|
|
38
|
+
};
|
|
39
|
+
created_at: Date;
|
|
40
|
+
updated_at: Date;
|
|
41
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Document } from "mongoose";
|
|
2
|
+
import { IUser } from "./user";
|
|
3
|
+
import { ITeam } from "./team";
|
|
4
|
+
import { ISubscription } from "./subscription";
|
|
5
|
+
export interface IVolume extends Document {
|
|
6
|
+
name: string;
|
|
7
|
+
user?: IUser;
|
|
8
|
+
team?: ITeam;
|
|
9
|
+
subscription: ISubscription;
|
|
10
|
+
size: number;
|
|
11
|
+
mount_path?: string;
|
|
12
|
+
created_at?: Date;
|
|
13
|
+
updated_at?: Date;
|
|
14
|
+
}
|