@brimble/models 3.8.81 → 3.8.83

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.
@@ -0,0 +1,9 @@
1
+ import { IDrain } from "./types";
2
+ declare const _default: import("mongoose").Model<IDrain, {}, {}, {}, import("mongoose").Document<unknown, {}, IDrain, {}, import("mongoose").DefaultSchemaOptions> & IDrain & Required<{
3
+ _id: import("mongoose").Types.ObjectId;
4
+ }> & {
5
+ __v: number;
6
+ } & {
7
+ id: string;
8
+ }, any, IDrain>;
9
+ export default _default;
package/dist/drain.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const enum_1 = require("./enum");
5
+ const DrainSchema = new mongoose_1.Schema({
6
+ project: { type: mongoose_1.Schema.Types.ObjectId, ref: "Project", required: true, index: true },
7
+ name: { type: String, required: true, minlength: 1, maxlength: 64 },
8
+ type: { type: String, enum: Object.values(enum_1.DrainType), default: enum_1.DrainType.Https, required: true },
9
+ url: { type: String },
10
+ headerKeys: [{ type: String }],
11
+ s3: {
12
+ bucket: { type: String },
13
+ region: { type: String },
14
+ endpoint: { type: String },
15
+ keyPrefix: { type: String, default: "" },
16
+ },
17
+ secretsRef: { type: String, required: true },
18
+ sources: [{ type: String, enum: Object.values(enum_1.LogSource) }],
19
+ status: {
20
+ type: String,
21
+ enum: Object.values(enum_1.DrainStatus),
22
+ default: enum_1.DrainStatus.Provisioning,
23
+ index: true,
24
+ },
25
+ statusReason: { type: String, default: null },
26
+ failingSince: { type: Date, default: null },
27
+ disabledAt: { type: Date, default: null },
28
+ deletedAt: { type: Date, default: null },
29
+ }, { timestamps: true });
30
+ DrainSchema.index({ project: 1, deletedAt: 1 });
31
+ exports.default = (0, mongoose_1.model)("Drain", DrainSchema);
@@ -16,6 +16,12 @@ export declare enum BUILD_DISABLED_BY {
16
16
  User = "user",
17
17
  Payment = "payment_failure"
18
18
  }
19
+ export declare enum PROJECT_DISABLED_BY {
20
+ Payment = "payment_failure",
21
+ BillingRestricted = "billing_restricted",
22
+ PlanLimit = "plan_limit",
23
+ SubscriptionEnded = "subscription_ended"
24
+ }
19
25
  export declare enum REQUEST_TYPE {
20
26
  GET = "GET",
21
27
  PUT = "PUT",
@@ -88,6 +94,31 @@ export declare enum AlertEventStatus {
88
94
  Firing = "firing",
89
95
  Resolved = "resolved"
90
96
  }
97
+ export declare enum DrainType {
98
+ Https = "https",
99
+ S3 = "s3"
100
+ }
101
+ export declare enum DrainStatus {
102
+ Provisioning = "provisioning",
103
+ Ok = "ok",
104
+ Failing = "failing",
105
+ DisabledAuto = "disabled_auto",
106
+ DisabledUser = "disabled_user",
107
+ DisabledPlan = "disabled_plan"
108
+ }
109
+ export declare enum LogSource {
110
+ App = "app",
111
+ System = "system",
112
+ Http = "http"
113
+ }
114
+ export declare enum DrainEventType {
115
+ Created = "drain.created",
116
+ Updated = "drain.updated",
117
+ Deleted = "drain.deleted",
118
+ Failing = "drain.failing",
119
+ Recovered = "drain.recovered",
120
+ DisabledAuto = "drain.disabled_auto"
121
+ }
91
122
  export declare enum SUBSCRIPTION_STATUS {
92
123
  ACTIVE = "active",
93
124
  INACTIVE = "in-active"
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = exports.SANDBOX_EGRESS_MODE = exports.SANDBOX_DESTROY_REASON = exports.SANDBOX_STATUS = exports.SANDBOX_TEMPLATE = exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.NomadDeploymentStatus = exports.DomainTransferStatus = exports.DomainTransferDirection = exports.DomainTransferProvider = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SCALING_SOURCE = exports.SCALING_METRIC = exports.SCALING_STRATEGY = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REGION_CONTINENT = exports.PERMISSION_TYPE = exports.ROLES = exports.DNS_CHANGE_SOURCE = exports.DNS_CHANGE_TYPE = exports.DNS_TYPE = exports.SERVER_STATUS = exports.OAUTH_PERMISSIONS = exports.SUBSCRIPTION_PLAN_TYPE = exports.SUBSCRIPTION_STATUS = exports.AlertEventStatus = exports.AlertChannelMode = exports.AlertRuleState = exports.AlertCondition = exports.AlertMetric = exports.PROJECT_STATUS = exports.CARD_TYPES = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.ENVIRONMENT = exports.REQUEST_TYPE = exports.BUILD_DISABLED_BY = exports.SERVER_PROTOCOL = exports.GIT_TYPE = void 0;
4
- exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = exports.WorkbenchMode = exports.QuestRequirementType = exports.QuestEntity = exports.QuestCriterionType = exports.QuestRewardStatus = exports.RewardType = exports.EligibilityType = exports.ACTION_TO_MILESTONE = exports.QUEST_COUNTABLE_MILESTONES = exports.MilestoneType = exports.QualifyingActionType = exports.XRobotsTag = exports.XContentTypeOptions = exports.XFrameOptions = exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = void 0;
3
+ exports.SANDBOX_TEMPLATE = exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.NomadDeploymentStatus = exports.DomainTransferStatus = exports.DomainTransferDirection = exports.DomainTransferProvider = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SCALING_SOURCE = exports.SCALING_METRIC = exports.SCALING_STRATEGY = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REGION_CONTINENT = exports.PERMISSION_TYPE = exports.ROLES = exports.DNS_CHANGE_SOURCE = exports.DNS_CHANGE_TYPE = exports.DNS_TYPE = exports.SERVER_STATUS = exports.OAUTH_PERMISSIONS = exports.SUBSCRIPTION_PLAN_TYPE = exports.SUBSCRIPTION_STATUS = exports.DrainEventType = exports.LogSource = exports.DrainStatus = exports.DrainType = exports.AlertEventStatus = exports.AlertChannelMode = exports.AlertRuleState = exports.AlertCondition = exports.AlertMetric = exports.PROJECT_STATUS = exports.CARD_TYPES = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.ENVIRONMENT = exports.REQUEST_TYPE = exports.PROJECT_DISABLED_BY = exports.BUILD_DISABLED_BY = exports.SERVER_PROTOCOL = exports.GIT_TYPE = void 0;
4
+ exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = exports.WorkbenchMode = exports.QuestRequirementType = exports.QuestEntity = exports.QuestCriterionType = exports.QuestRewardStatus = exports.RewardType = exports.EligibilityType = exports.ACTION_TO_MILESTONE = exports.QUEST_COUNTABLE_MILESTONES = exports.MilestoneType = exports.QualifyingActionType = exports.XRobotsTag = exports.XContentTypeOptions = exports.XFrameOptions = exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = exports.SANDBOX_EGRESS_MODE = exports.SANDBOX_DESTROY_REASON = exports.SANDBOX_STATUS = void 0;
5
5
  var GIT_TYPE;
6
6
  (function (GIT_TYPE) {
7
7
  GIT_TYPE["GITHUB"] = "GITHUB";
@@ -23,6 +23,13 @@ var BUILD_DISABLED_BY;
23
23
  BUILD_DISABLED_BY["User"] = "user";
24
24
  BUILD_DISABLED_BY["Payment"] = "payment_failure";
25
25
  })(BUILD_DISABLED_BY || (exports.BUILD_DISABLED_BY = BUILD_DISABLED_BY = {}));
26
+ var PROJECT_DISABLED_BY;
27
+ (function (PROJECT_DISABLED_BY) {
28
+ PROJECT_DISABLED_BY["Payment"] = "payment_failure";
29
+ PROJECT_DISABLED_BY["BillingRestricted"] = "billing_restricted";
30
+ PROJECT_DISABLED_BY["PlanLimit"] = "plan_limit";
31
+ PROJECT_DISABLED_BY["SubscriptionEnded"] = "subscription_ended";
32
+ })(PROJECT_DISABLED_BY || (exports.PROJECT_DISABLED_BY = PROJECT_DISABLED_BY = {}));
26
33
  var REQUEST_TYPE;
27
34
  (function (REQUEST_TYPE) {
28
35
  REQUEST_TYPE["GET"] = "GET";
@@ -106,6 +113,35 @@ var AlertEventStatus;
106
113
  AlertEventStatus["Firing"] = "firing";
107
114
  AlertEventStatus["Resolved"] = "resolved";
108
115
  })(AlertEventStatus || (exports.AlertEventStatus = AlertEventStatus = {}));
116
+ var DrainType;
117
+ (function (DrainType) {
118
+ DrainType["Https"] = "https";
119
+ DrainType["S3"] = "s3";
120
+ })(DrainType || (exports.DrainType = DrainType = {}));
121
+ var DrainStatus;
122
+ (function (DrainStatus) {
123
+ DrainStatus["Provisioning"] = "provisioning";
124
+ DrainStatus["Ok"] = "ok";
125
+ DrainStatus["Failing"] = "failing";
126
+ DrainStatus["DisabledAuto"] = "disabled_auto";
127
+ DrainStatus["DisabledUser"] = "disabled_user";
128
+ DrainStatus["DisabledPlan"] = "disabled_plan";
129
+ })(DrainStatus || (exports.DrainStatus = DrainStatus = {}));
130
+ var LogSource;
131
+ (function (LogSource) {
132
+ LogSource["App"] = "app";
133
+ LogSource["System"] = "system";
134
+ LogSource["Http"] = "http";
135
+ })(LogSource || (exports.LogSource = LogSource = {}));
136
+ var DrainEventType;
137
+ (function (DrainEventType) {
138
+ DrainEventType["Created"] = "drain.created";
139
+ DrainEventType["Updated"] = "drain.updated";
140
+ DrainEventType["Deleted"] = "drain.deleted";
141
+ DrainEventType["Failing"] = "drain.failing";
142
+ DrainEventType["Recovered"] = "drain.recovered";
143
+ DrainEventType["DisabledAuto"] = "drain.disabled_auto";
144
+ })(DrainEventType || (exports.DrainEventType = DrainEventType = {}));
109
145
  var SUBSCRIPTION_STATUS;
110
146
  (function (SUBSCRIPTION_STATUS) {
111
147
  SUBSCRIPTION_STATUS["ACTIVE"] = "active";
package/dist/index.d.ts CHANGED
@@ -58,6 +58,7 @@ export { default as ActivityLog } from "./activity-log";
58
58
  export { default as AlertRule } from "./alert-rule";
59
59
  export { default as AlertRuleStateModel } from "./alert-rule-state";
60
60
  export { default as AlertEvent } from "./alert-event";
61
+ export { default as Drain } from "./drain";
61
62
  export { default as OwnershipTransfer } from "./ownership-transfer";
62
63
  export { default as Sandbox } from "./sandbox";
63
64
  export { default as SandboxActivity } from "./sandbox-activity";
@@ -76,8 +77,8 @@ export { default as StreakMilestone } from "./streak-milestone";
76
77
  export { default as QuestCampaign } from "./quest-campaign";
77
78
  export { default as QuestParticipation } from "./quest-participation";
78
79
  export { default as QuestRewardIssuance } from "./quest-reward-issuance";
79
- export { IUser, IGit, IProject, IProjectAnalytics, IPreview, IProjectConnection, IProjectNetworkSettings, IRatelimit, RatelimitConfig, RateLimitZone, RateLimitMatcher, DistributedRateLimitConfig, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, IDnsChangeLog, IRole, IPermission, IMemberPermission, IWallet, IDbImage, IJob, ILicense, IPlanConfiguration, IAutoScalingGroup, IComputeChange, IRegion, IVolume, IFramework, BrimbleFrameworkType, ISettings, ILoadBalancerPort, IDomainRenewal, IDomainTransfer, IWebhookCategory, IWebhookEvent, IWebhookSetting, IIntention, IProvider, ICollabAnnotation, ICollabComment, ICollabAttachment, ICollabIntegration, ICollabSettings, ICollabShareToken, ICollabPushSubscription, IAppMessage, IInvoice, ITag, IProjectTagAssignment, ICashierSubscription, ICashierSubscriptionItem, IProjectEnvironment, IEnvironmentVariable, IActivityLog, IAlertRule, IAlertRuleState, IAlertEvent, IAlertNotificationResult, IOwnershipTransfer, ISandbox, ISandboxSpecs, ISandboxActivity, ISandboxImage, ISandboxSnapshot, ISandboxSnapshotUsageSegment, ISandboxSnapshotUsageSegmentCosts, ISandboxUsageSegment, ISandboxUsageSegmentCurrent, ISandboxUsageSegmentCosts, IVolumeUsageSegment, IVolumeUsageSegmentCosts, IObjectStorageUsageSegment, IObjectStorageUsageSegmentCosts, IObjectStorageUsageUnitsSummary, IIdempotencyRecord, IStorageBucket, IStorageObject, IStorageUpload, IStorageToken, IStorageCredential, IStorageMigration, StorageTokenPermission, StorageLifecycleRule, StorageCorsRule, StorageLifecycleRuleTransition, IStreak, IStreakMilestoneRef, IStreakEvent, IStreakDay, IStreakMilestone, IQuestCampaign, IQuestCriterion, IQuestRequirement, IQuestReward, IQuestParticipation, IQuestCriterionProgress, IQuestRewardIssuance, IQuestIssuedReward, } from "./types";
80
- export { GIT_TYPE, INTEGRATION_TYPES, INTEGRATION_PROVIDERS, OAUTH_PERMISSIONS, ENVIRONMENT, SERVER_STATUS, ROLES, SUBSCRIPTION_PLAN_TYPE, PROJECT_STATUS, AlertMetric, AlertCondition, AlertRuleState, AlertChannelMode, AlertEventStatus, SUBSCRIPTION_STATUS, CARD_TYPES, DNS_TYPE, DNS_CHANGE_TYPE, DNS_CHANGE_SOURCE, PERMISSION_TYPE, REQUEST_TYPE, ServiceType, SCALING_SOURCE, DatabaseEngine, JobStatus, LicenseStatus, REGION_CONTINENT, BUILD_DISABLED_BY, SERVER_PROTOCOL, FrameworkApplicationType, DomainRenewalStatus, DomainTransferProvider, DomainTransferDirection, DomainTransferStatus, NomadDeploymentStatus, COLLAB_ANNOTATION_STATUS, COLLAB_INTEGRATION_TYPE, COLLAB_THEME, COLLAB_TOOLBAR_POSITION, INVOICE_STATUS, INVOICE_PAYMENT_STATUS, INVOICE_TYPE, SANDBOX_TEMPLATE, SANDBOX_STATUS, SANDBOX_DESTROY_REASON, SANDBOX_EGRESS_MODE, SANDBOX_SNAPSHOT_STATUS, StorageBucketStatus, StorageUploadStatus, StorageTokenStatus, StorageCredentialRole, StorageCredentialStatus, StorageMigrationStatus, XFrameOptions, XContentTypeOptions, XRobotsTag, QualifyingActionType, MilestoneType, QUEST_COUNTABLE_MILESTONES, ACTION_TO_MILESTONE, EligibilityType, RewardType, QuestRewardStatus, QuestCriterionType, QuestEntity, QuestRequirementType, QUEST_CLAIM_REQUIREMENTS, QUEST_TARGETLESS_REQUIREMENTS, WorkbenchMode } from "./enum";
80
+ export { IUser, IGit, IProject, IProjectAnalytics, IPreview, IProjectConnection, IProjectNetworkSettings, IRatelimit, RatelimitConfig, RateLimitZone, RateLimitMatcher, DistributedRateLimitConfig, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, IDnsChangeLog, IRole, IPermission, IMemberPermission, IWallet, IDbImage, IJob, ILicense, IPlanConfiguration, IAutoScalingGroup, IComputeChange, IRegion, IVolume, IFramework, BrimbleFrameworkType, ISettings, ILoadBalancerPort, IDomainRenewal, IDomainTransfer, IWebhookCategory, IWebhookEvent, IWebhookSetting, IIntention, IProvider, ICollabAnnotation, ICollabComment, ICollabAttachment, ICollabIntegration, ICollabSettings, ICollabShareToken, ICollabPushSubscription, IAppMessage, IInvoice, ITag, IProjectTagAssignment, ICashierSubscription, ICashierSubscriptionItem, IProjectEnvironment, IEnvironmentVariable, IActivityLog, IAlertRule, IAlertRuleState, IAlertEvent, IAlertNotificationResult, IDrain, IOwnershipTransfer, ISandbox, ISandboxSpecs, ISandboxActivity, ISandboxImage, ISandboxSnapshot, ISandboxSnapshotUsageSegment, ISandboxSnapshotUsageSegmentCosts, ISandboxUsageSegment, ISandboxUsageSegmentCurrent, ISandboxUsageSegmentCosts, IVolumeUsageSegment, IVolumeUsageSegmentCosts, IObjectStorageUsageSegment, IObjectStorageUsageSegmentCosts, IObjectStorageUsageUnitsSummary, IIdempotencyRecord, IStorageBucket, IStorageObject, IStorageUpload, IStorageToken, IStorageCredential, IStorageMigration, StorageTokenPermission, StorageLifecycleRule, StorageCorsRule, StorageLifecycleRuleTransition, IStreak, IStreakMilestoneRef, IStreakEvent, IStreakDay, IStreakMilestone, IQuestCampaign, IQuestCriterion, IQuestRequirement, IQuestReward, IQuestParticipation, IQuestCriterionProgress, IQuestRewardIssuance, IQuestIssuedReward, } from "./types";
81
+ export { GIT_TYPE, INTEGRATION_TYPES, INTEGRATION_PROVIDERS, OAUTH_PERMISSIONS, ENVIRONMENT, SERVER_STATUS, ROLES, SUBSCRIPTION_PLAN_TYPE, PROJECT_STATUS, AlertMetric, AlertCondition, AlertRuleState, AlertChannelMode, AlertEventStatus, DrainType, DrainStatus, LogSource, DrainEventType, SUBSCRIPTION_STATUS, CARD_TYPES, DNS_TYPE, DNS_CHANGE_TYPE, DNS_CHANGE_SOURCE, PERMISSION_TYPE, REQUEST_TYPE, ServiceType, SCALING_SOURCE, DatabaseEngine, JobStatus, LicenseStatus, REGION_CONTINENT, BUILD_DISABLED_BY, PROJECT_DISABLED_BY, SERVER_PROTOCOL, FrameworkApplicationType, DomainRenewalStatus, DomainTransferProvider, DomainTransferDirection, DomainTransferStatus, NomadDeploymentStatus, COLLAB_ANNOTATION_STATUS, COLLAB_INTEGRATION_TYPE, COLLAB_THEME, COLLAB_TOOLBAR_POSITION, INVOICE_STATUS, INVOICE_PAYMENT_STATUS, INVOICE_TYPE, SANDBOX_TEMPLATE, SANDBOX_STATUS, SANDBOX_DESTROY_REASON, SANDBOX_EGRESS_MODE, SANDBOX_SNAPSHOT_STATUS, StorageBucketStatus, StorageUploadStatus, StorageTokenStatus, StorageCredentialRole, StorageCredentialStatus, StorageMigrationStatus, XFrameOptions, XContentTypeOptions, XRobotsTag, QualifyingActionType, MilestoneType, QUEST_COUNTABLE_MILESTONES, ACTION_TO_MILESTONE, EligibilityType, RewardType, QuestRewardStatus, QuestCriterionType, QuestEntity, QuestRequirementType, QUEST_CLAIM_REQUIREMENTS, QUEST_TARGETLESS_REQUIREMENTS, WorkbenchMode } from "./enum";
81
82
  import mongoose from "mongoose";
82
83
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
83
84
  export declare const db: mongoose.Connection;
package/dist/index.js CHANGED
@@ -13,9 +13,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AppMessage = exports.CollabPushSubscription = exports.CollabShareToken = exports.CollabSettings = exports.CollabIntegration = exports.CollabComment = exports.CollabAnnotation = exports.Provider = exports.Intention = exports.WebhookSetting = exports.WebhookEvent = exports.WebhookCategory = exports.DomainTransfer = exports.DomainRenewal = exports.LoadBalancerPort = exports.Settings = exports.Framework = exports.Volume = exports.Region = exports.ComputeChange = exports.AutoScalingGroup = exports.PlanConfiguration = exports.Liscense = exports.Job = exports.DbImage = exports.Wallet = exports.Server = exports.Card = exports.Subscription = exports.Log = exports.Role = exports.MemberPermission = exports.Permission = exports.Member = exports.Team = exports.Token = exports.Env = exports.DnsChangeLog = exports.Dns = exports.Domain = exports.Integration = exports.Following = exports.Ratelimit = exports.ProjectNetworkSettings = exports.ProjectConnection = exports.Preview = exports.ProjectAnalytics = exports.DeletedProject = exports.Project = exports.User = void 0;
16
- exports.CARD_TYPES = exports.SUBSCRIPTION_STATUS = exports.AlertEventStatus = exports.AlertChannelMode = exports.AlertRuleState = exports.AlertCondition = exports.AlertMetric = exports.PROJECT_STATUS = exports.SUBSCRIPTION_PLAN_TYPE = exports.ROLES = exports.SERVER_STATUS = exports.ENVIRONMENT = exports.OAUTH_PERMISSIONS = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.GIT_TYPE = exports.QuestRewardIssuance = exports.QuestParticipation = exports.QuestCampaign = exports.StreakMilestone = exports.StreakDay = exports.StreakEvent = exports.Streak = exports.StorageMigration = exports.StorageCredential = exports.StorageToken = exports.StorageUpload = exports.StorageObject = exports.StorageBucket = exports.IdempotencyRecord = exports.ObjectStorageUsageSegment = exports.VolumeUsageSegment = exports.SandboxUsageSegment = exports.SandboxSnapshotUsageSegment = exports.SandboxSnapshot = exports.SandboxImage = exports.SandboxActivity = exports.Sandbox = exports.OwnershipTransfer = exports.AlertEvent = exports.AlertRuleStateModel = exports.AlertRule = exports.ActivityLog = exports.EnvironmentVariable = exports.ProjectEnvironment = exports.CashierSubscriptionItem = exports.CashierSubscription = exports.ProjectTagAssignment = exports.Tag = exports.Invoice = void 0;
17
- exports.QuestRequirementType = exports.QuestEntity = exports.QuestCriterionType = exports.QuestRewardStatus = exports.RewardType = exports.EligibilityType = exports.ACTION_TO_MILESTONE = exports.QUEST_COUNTABLE_MILESTONES = exports.MilestoneType = exports.QualifyingActionType = exports.XRobotsTag = exports.XContentTypeOptions = exports.XFrameOptions = exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = exports.SANDBOX_EGRESS_MODE = exports.SANDBOX_DESTROY_REASON = exports.SANDBOX_STATUS = exports.SANDBOX_TEMPLATE = exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.NomadDeploymentStatus = exports.DomainTransferStatus = exports.DomainTransferDirection = exports.DomainTransferProvider = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SERVER_PROTOCOL = exports.BUILD_DISABLED_BY = exports.REGION_CONTINENT = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.SCALING_SOURCE = exports.ServiceType = exports.REQUEST_TYPE = exports.PERMISSION_TYPE = exports.DNS_CHANGE_SOURCE = exports.DNS_CHANGE_TYPE = exports.DNS_TYPE = void 0;
18
- exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.WorkbenchMode = exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = void 0;
16
+ exports.DrainType = exports.AlertEventStatus = exports.AlertChannelMode = exports.AlertRuleState = exports.AlertCondition = exports.AlertMetric = exports.PROJECT_STATUS = exports.SUBSCRIPTION_PLAN_TYPE = exports.ROLES = exports.SERVER_STATUS = exports.ENVIRONMENT = exports.OAUTH_PERMISSIONS = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.GIT_TYPE = exports.QuestRewardIssuance = exports.QuestParticipation = exports.QuestCampaign = exports.StreakMilestone = exports.StreakDay = exports.StreakEvent = exports.Streak = exports.StorageMigration = exports.StorageCredential = exports.StorageToken = exports.StorageUpload = exports.StorageObject = exports.StorageBucket = exports.IdempotencyRecord = exports.ObjectStorageUsageSegment = exports.VolumeUsageSegment = exports.SandboxUsageSegment = exports.SandboxSnapshotUsageSegment = exports.SandboxSnapshot = exports.SandboxImage = exports.SandboxActivity = exports.Sandbox = exports.OwnershipTransfer = exports.Drain = exports.AlertEvent = exports.AlertRuleStateModel = exports.AlertRule = exports.ActivityLog = exports.EnvironmentVariable = exports.ProjectEnvironment = exports.CashierSubscriptionItem = exports.CashierSubscription = exports.ProjectTagAssignment = exports.Tag = exports.Invoice = void 0;
17
+ exports.ACTION_TO_MILESTONE = exports.QUEST_COUNTABLE_MILESTONES = exports.MilestoneType = exports.QualifyingActionType = exports.XRobotsTag = exports.XContentTypeOptions = exports.XFrameOptions = exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = exports.SANDBOX_EGRESS_MODE = exports.SANDBOX_DESTROY_REASON = exports.SANDBOX_STATUS = exports.SANDBOX_TEMPLATE = exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.NomadDeploymentStatus = exports.DomainTransferStatus = exports.DomainTransferDirection = exports.DomainTransferProvider = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SERVER_PROTOCOL = exports.PROJECT_DISABLED_BY = exports.BUILD_DISABLED_BY = exports.REGION_CONTINENT = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.SCALING_SOURCE = exports.ServiceType = exports.REQUEST_TYPE = exports.PERMISSION_TYPE = exports.DNS_CHANGE_SOURCE = exports.DNS_CHANGE_TYPE = exports.DNS_TYPE = exports.CARD_TYPES = exports.SUBSCRIPTION_STATUS = exports.DrainEventType = exports.LogSource = exports.DrainStatus = void 0;
18
+ exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.WorkbenchMode = exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = exports.QuestRequirementType = exports.QuestEntity = exports.QuestCriterionType = exports.QuestRewardStatus = exports.RewardType = exports.EligibilityType = void 0;
19
19
  var user_1 = require("./user");
20
20
  Object.defineProperty(exports, "User", { enumerable: true, get: function () { return __importDefault(user_1).default; } });
21
21
  var project_1 = require("./project");
@@ -137,6 +137,8 @@ var alert_rule_state_1 = require("./alert-rule-state");
137
137
  Object.defineProperty(exports, "AlertRuleStateModel", { enumerable: true, get: function () { return __importDefault(alert_rule_state_1).default; } });
138
138
  var alert_event_1 = require("./alert-event");
139
139
  Object.defineProperty(exports, "AlertEvent", { enumerable: true, get: function () { return __importDefault(alert_event_1).default; } });
140
+ var drain_1 = require("./drain");
141
+ Object.defineProperty(exports, "Drain", { enumerable: true, get: function () { return __importDefault(drain_1).default; } });
140
142
  var ownership_transfer_1 = require("./ownership-transfer");
141
143
  Object.defineProperty(exports, "OwnershipTransfer", { enumerable: true, get: function () { return __importDefault(ownership_transfer_1).default; } });
142
144
  var sandbox_1 = require("./sandbox");
@@ -193,6 +195,10 @@ Object.defineProperty(exports, "AlertCondition", { enumerable: true, get: functi
193
195
  Object.defineProperty(exports, "AlertRuleState", { enumerable: true, get: function () { return enum_1.AlertRuleState; } });
194
196
  Object.defineProperty(exports, "AlertChannelMode", { enumerable: true, get: function () { return enum_1.AlertChannelMode; } });
195
197
  Object.defineProperty(exports, "AlertEventStatus", { enumerable: true, get: function () { return enum_1.AlertEventStatus; } });
198
+ Object.defineProperty(exports, "DrainType", { enumerable: true, get: function () { return enum_1.DrainType; } });
199
+ Object.defineProperty(exports, "DrainStatus", { enumerable: true, get: function () { return enum_1.DrainStatus; } });
200
+ Object.defineProperty(exports, "LogSource", { enumerable: true, get: function () { return enum_1.LogSource; } });
201
+ Object.defineProperty(exports, "DrainEventType", { enumerable: true, get: function () { return enum_1.DrainEventType; } });
196
202
  Object.defineProperty(exports, "SUBSCRIPTION_STATUS", { enumerable: true, get: function () { return enum_1.SUBSCRIPTION_STATUS; } });
197
203
  Object.defineProperty(exports, "CARD_TYPES", { enumerable: true, get: function () { return enum_1.CARD_TYPES; } });
198
204
  Object.defineProperty(exports, "DNS_TYPE", { enumerable: true, get: function () { return enum_1.DNS_TYPE; } });
@@ -207,6 +213,7 @@ Object.defineProperty(exports, "JobStatus", { enumerable: true, get: function ()
207
213
  Object.defineProperty(exports, "LicenseStatus", { enumerable: true, get: function () { return enum_1.LicenseStatus; } });
208
214
  Object.defineProperty(exports, "REGION_CONTINENT", { enumerable: true, get: function () { return enum_1.REGION_CONTINENT; } });
209
215
  Object.defineProperty(exports, "BUILD_DISABLED_BY", { enumerable: true, get: function () { return enum_1.BUILD_DISABLED_BY; } });
216
+ Object.defineProperty(exports, "PROJECT_DISABLED_BY", { enumerable: true, get: function () { return enum_1.PROJECT_DISABLED_BY; } });
210
217
  Object.defineProperty(exports, "SERVER_PROTOCOL", { enumerable: true, get: function () { return enum_1.SERVER_PROTOCOL; } });
211
218
  Object.defineProperty(exports, "FrameworkApplicationType", { enumerable: true, get: function () { return enum_1.FrameworkApplicationType; } });
212
219
  Object.defineProperty(exports, "DomainRenewalStatus", { enumerable: true, get: function () { return enum_1.DomainRenewalStatus; } });
@@ -5,6 +5,7 @@ const enum_1 = require("./enum");
5
5
  const PlanConfigurationSchema = new mongoose_1.Schema({
6
6
  tag: { type: String, required: true },
7
7
  alerting: { type: Boolean, required: false, default: false },
8
+ drain: { type: Boolean, default: false },
8
9
  slack_support: { type: Boolean, default: false },
9
10
  concurrent_builds: { type: Number, required: true },
10
11
  project_limit: { type: Number, required: true },
@@ -35,6 +35,10 @@ const projectSchema = new mongoose_1.Schema({
35
35
  type: Boolean,
36
36
  default: true,
37
37
  },
38
+ logDrainsEnabled: {
39
+ type: Boolean,
40
+ default: true,
41
+ },
38
42
  workBenchEnabled: {
39
43
  type: Boolean,
40
44
  default: false
@@ -127,6 +131,15 @@ const projectSchema = new mongoose_1.Schema({
127
131
  type: Boolean,
128
132
  default: false,
129
133
  },
134
+ disabled_at: {
135
+ type: Date,
136
+ default: null,
137
+ },
138
+ disabled_by: {
139
+ type: String,
140
+ enum: Object.values(enum_1.PROJECT_DISABLED_BY),
141
+ default: null,
142
+ },
130
143
  password: {
131
144
  type: String,
132
145
  default: null,
@@ -0,0 +1,25 @@
1
+ import { Document, Types } from "mongoose";
2
+ import { DrainStatus, DrainType, LogSource } from "../enum";
3
+ export interface IDrain extends Document {
4
+ _id: Types.ObjectId;
5
+ project: Types.ObjectId;
6
+ name: string;
7
+ type: DrainType;
8
+ url?: string | null;
9
+ headerKeys: string[];
10
+ s3?: {
11
+ bucket?: string;
12
+ region?: string;
13
+ endpoint?: string | null;
14
+ keyPrefix?: string;
15
+ } | null;
16
+ secretsRef: string;
17
+ sources: LogSource[];
18
+ status: DrainStatus;
19
+ statusReason?: string | null;
20
+ failingSince?: Date | null;
21
+ disabledAt?: Date | null;
22
+ deletedAt?: Date | null;
23
+ createdAt: Date;
24
+ updatedAt: Date;
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -59,6 +59,7 @@ export type { IActivityLog } from "./activity-log";
59
59
  export type { IAlertRule } from "./alert-rule";
60
60
  export type { IAlertRuleState } from "./alert-rule-state";
61
61
  export type { IAlertEvent, IAlertNotificationResult } from "./alert-event";
62
+ export type { IDrain } from "./drain";
62
63
  export type { IOwnershipTransfer } from "./ownership-transfer";
63
64
  export type { ISandbox, ISandboxSpecs, ISandboxEgress } from "./sandbox";
64
65
  export type { ISandboxActivity } from "./sandbox-activity";
@@ -6,6 +6,7 @@ export interface IPlanConfiguration extends Document {
6
6
  price: number;
7
7
  region: IRegion;
8
8
  alerting: boolean;
9
+ drain: boolean;
9
10
  slack_support: boolean;
10
11
  autoscaling_enabled: boolean;
11
12
  concurrent_builds: number;
@@ -1,5 +1,5 @@
1
1
  import { Document } from "mongoose";
2
- import { GIT_TYPE, PROJECT_STATUS, ServiceType } from "../../enum";
2
+ import { GIT_TYPE, PROJECT_DISABLED_BY, PROJECT_STATUS, ServiceType } from "../../enum";
3
3
  import { IDomain } from "../domain";
4
4
  import { IEnv } from "../env";
5
5
  import { ILog } from "../logs";
@@ -21,6 +21,7 @@ export interface IProject extends Document {
21
21
  free_tier_expiry_notified_at?: Date | null;
22
22
  buildCacheEnabled?: boolean;
23
23
  alerting_enabled: boolean;
24
+ logDrainsEnabled: boolean;
24
25
  domains: Array<IDomain>;
25
26
  environments: Array<IEnv>;
26
27
  uuid: number;
@@ -60,6 +61,8 @@ export interface IProject extends Document {
60
61
  maintenance: boolean;
61
62
  passwordEnabled: boolean;
62
63
  disabled: boolean;
64
+ disabled_at?: Date | null;
65
+ disabled_by?: PROJECT_DISABLED_BY | null;
63
66
  authEnabled: boolean;
64
67
  password: string | null;
65
68
  deployedInCluster: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.8.81",
3
+ "version": "3.8.83",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",