@brimble/models 3.8.207 → 3.8.208

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.
@@ -59,6 +59,16 @@ const backupHistorySchema = new mongoose_1.Schema({
59
59
  type: Number,
60
60
  default: 0,
61
61
  },
62
+ destination_type: {
63
+ type: String,
64
+ enum: Object.values(enum_1.BACKUP_DESTINATION_TYPE),
65
+ default: enum_1.BACKUP_DESTINATION_TYPE.PLATFORM,
66
+ },
67
+ destination_bucket: {
68
+ type: mongoose_1.Schema.Types.ObjectId,
69
+ ref: "StorageBucket",
70
+ default: null,
71
+ },
62
72
  }, {
63
73
  timestamps: { createdAt: "created_at", updatedAt: "updated_at" },
64
74
  collection: "backup_histories",
@@ -408,6 +408,11 @@ export declare enum BACKUP_STATUS {
408
408
  FAILED = "failed",
409
409
  DELETED = "deleted"
410
410
  }
411
+ export declare enum BACKUP_DESTINATION_TYPE {
412
+ PLATFORM = "platform",
413
+ BRIMBLE = "brimble",
414
+ EXTERNAL = "external"
415
+ }
411
416
  export declare enum WorkerRunStatus {
412
417
  Pending = "pending",
413
418
  Running = "running",
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FrameworkApplicationType = exports.SCALING_SOURCE = exports.SCALING_METRIC = exports.SCALING_STRATEGY = exports.LicenseStatus = exports.JobStatus = exports.EmailDeadLetterStatus = exports.DatabaseInsightsScope = exports.HaMemberRole = exports.DatabasePasswordMode = exports.DatabasePasswordChangeMode = exports.DatabaseEngine = exports.ServiceType = exports.VOLUME_BACKEND = exports.REGION_CONTINENT = exports.PERMISSION_TYPE = exports.ROLES = exports.DNS_MANAGED_BY = exports.EMAIL_FORWARD_STATUS = 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.DatabaseProvisionStep = exports.DatabaseProvisionOperation = exports.DatabaseProvisionPhase = exports.PROJECT_STATUS = exports.CARD_TYPES = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.CONFIG_FILE_VISIBILITY = exports.ENVIRONMENT = exports.REQUEST_TYPE = exports.SPENDING_LIMIT_ACTION = exports.PROJECT_DISABLED_BY = exports.BUILD_DISABLED_BY = exports.SERVER_PROTOCOL = exports.GIT_TYPE = void 0;
4
- exports.AGENT_CHAT_STATUS = exports.CouponRedemptionStatus = exports.CouponScope = exports.CouponDiscountType = exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = exports.DatabaseUserStatus = exports.DatabaseUserPermission = 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.PlatformApiKeyStatus = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.RESTORE_STATUS = exports.WorkerRunTrigger = exports.WorkerRunStatus = exports.BACKUP_STATUS = 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 = void 0;
5
- exports.BuildDispatch = exports.BuildProviderType = exports.BuildMethod = exports.BuildUseCase = exports.AGENT_DESIGN_SKILL_VERDICT = exports.AGENT_DESIGN_SKILL_TRUST_LEVEL = exports.AGENT_DESIGN_SKILL_STATUS = exports.AGENT_WEBSITE_SNAPSHOT_STATUS = exports.AGENT_WEBSITE_STATUS = exports.AGENT_CHAT_MESSAGE_ROLE = void 0;
4
+ exports.CouponRedemptionStatus = exports.CouponScope = exports.CouponDiscountType = exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = exports.DatabaseUserStatus = exports.DatabaseUserPermission = 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.PlatformApiKeyStatus = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.RESTORE_STATUS = exports.WorkerRunTrigger = exports.WorkerRunStatus = exports.BACKUP_DESTINATION_TYPE = exports.BACKUP_STATUS = 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 = void 0;
5
+ exports.BuildDispatch = exports.BuildProviderType = exports.BuildMethod = exports.BuildUseCase = exports.AGENT_DESIGN_SKILL_VERDICT = exports.AGENT_DESIGN_SKILL_TRUST_LEVEL = exports.AGENT_DESIGN_SKILL_STATUS = exports.AGENT_WEBSITE_SNAPSHOT_STATUS = exports.AGENT_WEBSITE_STATUS = exports.AGENT_CHAT_MESSAGE_ROLE = exports.AGENT_CHAT_STATUS = void 0;
6
6
  var GIT_TYPE;
7
7
  (function (GIT_TYPE) {
8
8
  GIT_TYPE["GITHUB"] = "GITHUB";
@@ -481,6 +481,12 @@ var BACKUP_STATUS;
481
481
  BACKUP_STATUS["FAILED"] = "failed";
482
482
  BACKUP_STATUS["DELETED"] = "deleted";
483
483
  })(BACKUP_STATUS || (exports.BACKUP_STATUS = BACKUP_STATUS = {}));
484
+ var BACKUP_DESTINATION_TYPE;
485
+ (function (BACKUP_DESTINATION_TYPE) {
486
+ BACKUP_DESTINATION_TYPE["PLATFORM"] = "platform";
487
+ BACKUP_DESTINATION_TYPE["BRIMBLE"] = "brimble";
488
+ BACKUP_DESTINATION_TYPE["EXTERNAL"] = "external";
489
+ })(BACKUP_DESTINATION_TYPE || (exports.BACKUP_DESTINATION_TYPE = BACKUP_DESTINATION_TYPE = {}));
484
490
  var WorkerRunStatus;
485
491
  (function (WorkerRunStatus) {
486
492
  WorkerRunStatus["Pending"] = "pending";
package/dist/index.d.ts CHANGED
@@ -108,7 +108,7 @@ export { default as AgentWebsiteFileOverlay } from "./agent-website-file-overlay
108
108
  export { default as AgentDesignSkill } from "./agent-design-skill";
109
109
  export { default as AgentDesignSkillRevision } from "./agent-design-skill-revision";
110
110
  export { IUser, IGit, IOrigin, IProject, IDedicatedEgress, IDatabaseProvisionProgress, IProjectAnalytics, IPreview, IProjectConnection, IProjectNetworkSettings, IRatelimit, RatelimitConfig, RateLimitZone, RateLimitMatcher, DistributedRateLimitConfig, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IPlatformApiKey, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IPaymentMethod, IDns, IDnsChangeLog, IEmailForward, IRole, IPermission, IMemberPermission, IWallet, IDbImage, IDbImageConnection, IJob, ILicense, IPlanConfiguration, IAutoScalingGroup, IComputeChange, IRegion, IVolume, IFramework, BrimbleFrameworkType, ISettings, ILoadBalancerPort, IDomainRenewal, IDomainTransfer, IWebhookCategory, IWebhookEvent, IWebhookSetting, IIntention, IProvider, BuildProviderRoute, BuildSandboxPoolConfig, BuildSandboxConfig, BuildProviderMeta, ICollabAnnotation, ICollabComment, ICollabAttachment, ICollabIntegration, ICollabSettings, ICollabShareToken, ICollabPushSubscription, IAppMessage, IInvoice, ITag, IProjectTagAssignment, ICashierSubscription, ICashierSubscriptionItem, IProjectEnvironment, IEnvironmentVariable, IProjectConfigFile, IActivityLog, IAlertRule, IAlertRuleState, IAlertEvent, IAlertNotificationResult, IDrain, IProjectDrainSubscription, IOwnershipTransfer, ISandbox, ISandboxSpecs, ISandboxActivity, ISandboxImage, ISandboxSize, ISandboxSnapshot, IBackupHistory, IDatabaseUser, IRestoreHistory, IWorkerRun, ISandboxSnapshotUsageSegment, ISandboxSnapshotUsageSegmentCosts, ISandboxUsageSegment, ISandboxUsageSegmentCurrent, ISandboxUsageSegmentCosts, IVolumeUsageSegment, IVolumeUsageSegmentCosts, IPgBouncerUsageSegment, IPgBouncerUsageSegmentCosts, 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, ICoupon, ICouponRedemption, ITicket, ICareerRole, IBlogPost, IChangelogEntry, IChangelogCampaign, ChangelogEmailPayloadEntry, IAgentChat, IAgentChatMessage, IAgentChatFile, IAgentChatModel, IAgentWebsite, IAgentWebsiteSnapshot, IAgentWebsiteFileOverlay, IAgentDesignSkill, IAgentDesignSkillRevision, IAgentDesignSkillFile, IAgentDesignSkillInspection, IAgentDesignSkillLicense, } from "./types";
111
- 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, EMAIL_FORWARD_STATUS, DNS_MANAGED_BY, PERMISSION_TYPE, REQUEST_TYPE, ServiceType, BuildUseCase, BuildMethod, BuildProviderType, BuildDispatch, SCALING_SOURCE, DatabaseEngine, DatabasePasswordChangeMode, DatabasePasswordMode, HaMemberRole, DatabaseInsightsScope, DatabaseProvisionPhase, DatabaseProvisionOperation, DatabaseProvisionStep, EmailDeadLetterStatus, JobStatus, LicenseStatus, REGION_CONTINENT, VOLUME_BACKEND, BUILD_DISABLED_BY, PROJECT_DISABLED_BY, SPENDING_LIMIT_ACTION, 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, BACKUP_STATUS, DatabaseUserPermission, DatabaseUserStatus, WorkerRunStatus, WorkerRunTrigger, RESTORE_STATUS, StorageBucketStatus, StorageUploadStatus, StorageTokenStatus, PlatformApiKeyStatus, 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, CouponDiscountType, CouponScope, CouponRedemptionStatus, CONFIG_FILE_VISIBILITY, AGENT_CHAT_STATUS, AGENT_CHAT_MESSAGE_ROLE, AGENT_WEBSITE_STATUS, AGENT_WEBSITE_SNAPSHOT_STATUS, AGENT_DESIGN_SKILL_STATUS, AGENT_DESIGN_SKILL_TRUST_LEVEL, AGENT_DESIGN_SKILL_VERDICT, } from "./enum";
111
+ 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, EMAIL_FORWARD_STATUS, DNS_MANAGED_BY, PERMISSION_TYPE, REQUEST_TYPE, ServiceType, BuildUseCase, BuildMethod, BuildProviderType, BuildDispatch, SCALING_SOURCE, DatabaseEngine, DatabasePasswordChangeMode, DatabasePasswordMode, HaMemberRole, DatabaseInsightsScope, DatabaseProvisionPhase, DatabaseProvisionOperation, DatabaseProvisionStep, EmailDeadLetterStatus, JobStatus, LicenseStatus, REGION_CONTINENT, VOLUME_BACKEND, BUILD_DISABLED_BY, PROJECT_DISABLED_BY, SPENDING_LIMIT_ACTION, 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, BACKUP_STATUS, BACKUP_DESTINATION_TYPE, DatabaseUserPermission, DatabaseUserStatus, WorkerRunStatus, WorkerRunTrigger, RESTORE_STATUS, StorageBucketStatus, StorageUploadStatus, StorageTokenStatus, PlatformApiKeyStatus, 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, CouponDiscountType, CouponScope, CouponRedemptionStatus, CONFIG_FILE_VISIBILITY, AGENT_CHAT_STATUS, AGENT_CHAT_MESSAGE_ROLE, AGENT_WEBSITE_STATUS, AGENT_WEBSITE_SNAPSHOT_STATUS, AGENT_DESIGN_SKILL_STATUS, AGENT_DESIGN_SKILL_TRUST_LEVEL, AGENT_DESIGN_SKILL_VERDICT, } from "./enum";
112
112
  import mongoose from "mongoose";
113
113
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
114
114
  export declare const db: mongoose.Connection;
package/dist/index.js CHANGED
@@ -15,8 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  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.EmailDeadLetter = exports.DbImage = exports.Wallet = exports.Server = exports.Card = exports.Subscription = exports.Log = exports.Role = exports.MemberPermission = exports.PaymentMethod = exports.Permission = exports.Member = exports.Team = exports.PlatformApiKey = exports.Token = exports.Env = exports.EmailForward = 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
16
  exports.Coupon = 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.PgBouncerUsageSegment = exports.VolumeUsageSegment = exports.SandboxUsageSegment = exports.SandboxSnapshotUsageSegment = exports.WorkerRun = exports.RestoreHistory = exports.DatabaseUser = exports.BackupHistory = exports.SandboxSnapshot = exports.SandboxWarmPoolMember = exports.SandboxWarmPool = exports.SandboxSize = exports.SandboxImage = exports.SandboxActivity = exports.Sandbox = exports.OwnershipTransfer = exports.ProjectDrainSubscription = exports.Drain = exports.AlertEvent = exports.AlertRuleStateModel = exports.AlertRule = exports.ActivityLog = exports.ProjectConfigFile = exports.EnvironmentVariable = exports.ProjectEnvironment = exports.CashierSubscriptionItem = exports.CashierSubscription = exports.ProjectTagAssignment = exports.Tag = exports.Invoice = exports.AppMessage = exports.CollabPushSubscription = exports.CollabShareToken = exports.CollabSettings = void 0;
17
17
  exports.DatabasePasswordChangeMode = exports.DatabaseEngine = exports.SCALING_SOURCE = exports.BuildDispatch = exports.BuildProviderType = exports.BuildMethod = exports.BuildUseCase = exports.ServiceType = exports.REQUEST_TYPE = exports.PERMISSION_TYPE = exports.DNS_MANAGED_BY = exports.EMAIL_FORWARD_STATUS = exports.DNS_CHANGE_SOURCE = exports.DNS_CHANGE_TYPE = exports.DNS_TYPE = exports.CARD_TYPES = 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.SUBSCRIPTION_PLAN_TYPE = exports.ROLES = exports.SERVER_STATUS = exports.ENVIRONMENT = exports.OAUTH_PERMISSIONS = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.GIT_TYPE = exports.AgentDesignSkillRevision = exports.AgentDesignSkill = exports.AgentWebsiteFileOverlay = exports.AgentWebsiteSnapshot = exports.AgentWebsite = exports.AgentChatModel = exports.AgentChatFile = exports.AgentChatMessage = exports.AgentChat = exports.ChangelogCampaign = exports.ChangelogEntry = exports.BlogPost = exports.CareerRole = exports.Ticket = exports.CouponRedemption = void 0;
18
- exports.QualifyingActionType = exports.XRobotsTag = exports.XContentTypeOptions = exports.XFrameOptions = exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.PlatformApiKeyStatus = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.RESTORE_STATUS = exports.WorkerRunTrigger = exports.WorkerRunStatus = exports.DatabaseUserStatus = exports.DatabaseUserPermission = exports.BACKUP_STATUS = 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.SPENDING_LIMIT_ACTION = exports.PROJECT_DISABLED_BY = exports.BUILD_DISABLED_BY = exports.VOLUME_BACKEND = exports.REGION_CONTINENT = exports.LicenseStatus = exports.JobStatus = exports.EmailDeadLetterStatus = exports.DatabaseProvisionStep = exports.DatabaseProvisionOperation = exports.DatabaseProvisionPhase = exports.DatabaseInsightsScope = exports.HaMemberRole = exports.DatabasePasswordMode = void 0;
19
- exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.AGENT_DESIGN_SKILL_VERDICT = exports.AGENT_DESIGN_SKILL_TRUST_LEVEL = exports.AGENT_DESIGN_SKILL_STATUS = exports.AGENT_WEBSITE_SNAPSHOT_STATUS = exports.AGENT_WEBSITE_STATUS = exports.AGENT_CHAT_MESSAGE_ROLE = exports.AGENT_CHAT_STATUS = exports.CONFIG_FILE_VISIBILITY = exports.CouponRedemptionStatus = exports.CouponScope = exports.CouponDiscountType = exports.WorkbenchMode = exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = exports.QuestRequirementType = exports.QuestEntity = exports.QuestCriterionType = exports.QuestRewardStatus = exports.RewardType = exports.EligibilityType = exports.ACTION_TO_MILESTONE = exports.QUEST_COUNTABLE_MILESTONES = exports.MilestoneType = void 0;
18
+ exports.XRobotsTag = exports.XContentTypeOptions = exports.XFrameOptions = exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.PlatformApiKeyStatus = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.RESTORE_STATUS = exports.WorkerRunTrigger = exports.WorkerRunStatus = exports.DatabaseUserStatus = exports.DatabaseUserPermission = exports.BACKUP_DESTINATION_TYPE = exports.BACKUP_STATUS = 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.SPENDING_LIMIT_ACTION = exports.PROJECT_DISABLED_BY = exports.BUILD_DISABLED_BY = exports.VOLUME_BACKEND = exports.REGION_CONTINENT = exports.LicenseStatus = exports.JobStatus = exports.EmailDeadLetterStatus = exports.DatabaseProvisionStep = exports.DatabaseProvisionOperation = exports.DatabaseProvisionPhase = exports.DatabaseInsightsScope = exports.HaMemberRole = exports.DatabasePasswordMode = void 0;
19
+ exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.AGENT_DESIGN_SKILL_VERDICT = exports.AGENT_DESIGN_SKILL_TRUST_LEVEL = exports.AGENT_DESIGN_SKILL_STATUS = exports.AGENT_WEBSITE_SNAPSHOT_STATUS = exports.AGENT_WEBSITE_STATUS = exports.AGENT_CHAT_MESSAGE_ROLE = exports.AGENT_CHAT_STATUS = exports.CONFIG_FILE_VISIBILITY = exports.CouponRedemptionStatus = exports.CouponScope = exports.CouponDiscountType = exports.WorkbenchMode = exports.QUEST_TARGETLESS_REQUIREMENTS = exports.QUEST_CLAIM_REQUIREMENTS = exports.QuestRequirementType = exports.QuestEntity = exports.QuestCriterionType = exports.QuestRewardStatus = exports.RewardType = exports.EligibilityType = exports.ACTION_TO_MILESTONE = exports.QUEST_COUNTABLE_MILESTONES = exports.MilestoneType = exports.QualifyingActionType = void 0;
20
20
  var user_1 = require("./user");
21
21
  Object.defineProperty(exports, "User", { enumerable: true, get: function () { return __importDefault(user_1).default; } });
22
22
  var project_1 = require("./project");
@@ -311,6 +311,7 @@ Object.defineProperty(exports, "SANDBOX_DESTROY_REASON", { enumerable: true, get
311
311
  Object.defineProperty(exports, "SANDBOX_EGRESS_MODE", { enumerable: true, get: function () { return enum_1.SANDBOX_EGRESS_MODE; } });
312
312
  Object.defineProperty(exports, "SANDBOX_SNAPSHOT_STATUS", { enumerable: true, get: function () { return enum_1.SANDBOX_SNAPSHOT_STATUS; } });
313
313
  Object.defineProperty(exports, "BACKUP_STATUS", { enumerable: true, get: function () { return enum_1.BACKUP_STATUS; } });
314
+ Object.defineProperty(exports, "BACKUP_DESTINATION_TYPE", { enumerable: true, get: function () { return enum_1.BACKUP_DESTINATION_TYPE; } });
314
315
  Object.defineProperty(exports, "DatabaseUserPermission", { enumerable: true, get: function () { return enum_1.DatabaseUserPermission; } });
315
316
  Object.defineProperty(exports, "DatabaseUserStatus", { enumerable: true, get: function () { return enum_1.DatabaseUserStatus; } });
316
317
  Object.defineProperty(exports, "WorkerRunStatus", { enumerable: true, get: function () { return enum_1.WorkerRunStatus; } });
@@ -80,6 +80,8 @@ const PlanConfigurationSchema = new mongoose_1.Schema({
80
80
  sandbox_max_volumes: { type: Number, default: 0 },
81
81
  backup_storage_gb_threshold: { type: Number, default: 10 },
82
82
  backup_retention_days: { type: Number, default: 30 },
83
+ backup_retention_customizable: { type: Boolean, default: false },
84
+ custom_backup_destination_enabled: { type: Boolean, default: false },
83
85
  agent_chat_enabled: { type: Boolean, default: false },
84
86
  agent_chat_tokens_per_session: { type: Number, default: 0 },
85
87
  agent_chats_per_day: { type: Number, default: 0 },
@@ -290,6 +290,25 @@ const projectSchema = new mongoose_1.Schema({
290
290
  type: String,
291
291
  default: "UTC",
292
292
  },
293
+ backup_retention_days: {
294
+ type: Number,
295
+ default: null,
296
+ },
297
+ backup_destination_type: {
298
+ type: String,
299
+ enum: Object.values(enum_1.BACKUP_DESTINATION_TYPE),
300
+ default: enum_1.BACKUP_DESTINATION_TYPE.PLATFORM,
301
+ },
302
+ backup_destination_bucket: {
303
+ type: mongoose_1.Schema.Types.ObjectId,
304
+ ref: "StorageBucket",
305
+ default: null,
306
+ },
307
+ backup_destination_external: {
308
+ endpoint: { type: String, required: false },
309
+ region: { type: String, required: false },
310
+ bucket_name: { type: String, required: false },
311
+ },
293
312
  dedicated_egress: {
294
313
  enabled: {
295
314
  type: Boolean,
@@ -1,5 +1,5 @@
1
1
  import { Document, Types } from "mongoose";
2
- import { BACKUP_STATUS } from "../enum";
2
+ import { BACKUP_DESTINATION_TYPE, BACKUP_STATUS } from "../enum";
3
3
  export interface IBackupHistory extends Document {
4
4
  project_id: Types.ObjectId;
5
5
  user_id: Types.ObjectId;
@@ -13,6 +13,8 @@ export interface IBackupHistory extends Document {
13
13
  deleted_at: Date | null;
14
14
  billed_through: Date | null;
15
15
  pending_rebaseline_gb_hours: number;
16
+ destination_type: BACKUP_DESTINATION_TYPE;
17
+ destination_bucket: Types.ObjectId | null;
16
18
  created_at: Date;
17
19
  updated_at: Date;
18
20
  }
@@ -27,7 +27,7 @@ export type { IPaymentMethod } from "./payment-method";
27
27
  export type { IPlanConfiguration } from "./plan_configuration";
28
28
  export type { BuildProviderMeta, BuildProviderRoute, BuildSandboxConfig, BuildSandboxPoolConfig, IProvider, } from "./provider";
29
29
  export { BuildDispatch, BuildMethod, BuildProviderType, BuildUseCase, } from "./provider";
30
- export type { IDatabaseProvisionProgress, IDedicatedEgress, IHaCluster, IHaClusterMember, IPasswordRotation, IPendingMqEvent, IPgBouncerConfig, IProject, IProjectSpecs, ITlsMigration, TlsMigrationPhase, } from "./project";
30
+ export type { IBackupDestinationExternal, IDatabaseProvisionProgress, IDedicatedEgress, IHaCluster, IHaClusterMember, IPasswordRotation, IPendingMqEvent, IPgBouncerConfig, IProject, IProjectSpecs, ITlsMigration, TlsMigrationPhase, } from "./project";
31
31
  export type { IProjectAnalytics } from "./project_analytics";
32
32
  export type { IProjectConnection } from "./project/connection";
33
33
  export type { IProjectNetworkSettings } from "./project-network-settings";
@@ -71,6 +71,8 @@ export interface IPlanConfiguration extends Document {
71
71
  sandbox_max_volumes: number;
72
72
  backup_storage_gb_threshold: number;
73
73
  backup_retention_days: number;
74
+ backup_retention_customizable: boolean;
75
+ custom_backup_destination_enabled: boolean;
74
76
  agent_chat_enabled: boolean;
75
77
  agent_chat_tokens_per_session: number;
76
78
  agent_chats_per_day: number;
@@ -1,5 +1,5 @@
1
1
  import { Document, Types } from "mongoose";
2
- import { DatabaseProvisionOperation, DatabaseProvisionPhase, DatabaseProvisionStep, GIT_TYPE, HaMemberRole, PROJECT_DISABLED_BY, PROJECT_STATUS, ServiceType } from "../../enum";
2
+ import { BACKUP_DESTINATION_TYPE, DatabaseProvisionOperation, DatabaseProvisionPhase, DatabaseProvisionStep, GIT_TYPE, HaMemberRole, 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";
@@ -48,6 +48,11 @@ export interface IDedicatedEgress {
48
48
  pool?: string;
49
49
  updated_at?: Date;
50
50
  }
51
+ export interface IBackupDestinationExternal {
52
+ endpoint?: string;
53
+ region?: string;
54
+ bucket_name?: string;
55
+ }
51
56
  export interface IHaCluster {
52
57
  clusterName: string;
53
58
  regions?: Array<Types.ObjectId | IRegion>;
@@ -84,6 +89,10 @@ export interface IProject extends Document {
84
89
  backup_mode: "automatic" | "manual";
85
90
  backup_schedule: string;
86
91
  backup_timezone: string;
92
+ backup_retention_days?: number | null;
93
+ backup_destination_type: BACKUP_DESTINATION_TYPE;
94
+ backup_destination_bucket?: Types.ObjectId | null;
95
+ backup_destination_external?: IBackupDestinationExternal;
87
96
  dedicated_egress?: IDedicatedEgress;
88
97
  http2: boolean;
89
98
  free_tier_expires_at?: Date | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.8.207",
3
+ "version": "3.8.208",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",