@brimble/models 3.8.207 → 3.8.209

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",
@@ -28,12 +28,6 @@ export declare enum SPENDING_LIMIT_ACTION {
28
28
  Notify = "notify",
29
29
  Pause = "pause"
30
30
  }
31
- export declare enum REQUEST_TYPE {
32
- GET = "GET",
33
- PUT = "PUT",
34
- POST = "POST",
35
- DELETE = "DELETE"
36
- }
37
31
  export declare enum ENVIRONMENT {
38
32
  PREVIEW = "PREVIEW",
39
33
  PRODUCTION = "PRODUCTION"
@@ -214,14 +208,8 @@ export declare enum ROLES {
214
208
  CREATOR = "CREATOR",
215
209
  ADMINISTRATOR = "ADMINISTRATOR",
216
210
  MEMBER = "MEMBER",
217
- VIEWER = "VIEWER"
218
- }
219
- export declare enum PERMISSION_TYPE {
220
- DOMAIN = "DOMAIN",
221
- BILLING = "BILLING",
222
- PROJECT = "PROJECT",
223
- INTEGRATION = "INTEGRATION",
224
- USERS = "USERS"
211
+ VIEWER = "VIEWER",
212
+ CUSTOM = "CUSTOM"
225
213
  }
226
214
  export declare enum REGION_CONTINENT {
227
215
  AFRICA = "Africa",
@@ -408,6 +396,11 @@ export declare enum BACKUP_STATUS {
408
396
  FAILED = "failed",
409
397
  DELETED = "deleted"
410
398
  }
399
+ export declare enum BACKUP_DESTINATION_TYPE {
400
+ PLATFORM = "platform",
401
+ BRIMBLE = "brimble",
402
+ EXTERNAL = "external"
403
+ }
411
404
  export declare enum WorkerRunStatus {
412
405
  Pending = "pending",
413
406
  Running = "running",
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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;
3
+ exports.DomainTransferProvider = exports.DomainRenewalStatus = 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.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.SPENDING_LIMIT_ACTION = exports.PROJECT_DISABLED_BY = exports.BUILD_DISABLED_BY = exports.SERVER_PROTOCOL = exports.GIT_TYPE = void 0;
4
+ exports.AGENT_CHAT_MESSAGE_ROLE = 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_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 = 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 = void 0;
6
6
  var GIT_TYPE;
7
7
  (function (GIT_TYPE) {
8
8
  GIT_TYPE["GITHUB"] = "GITHUB";
@@ -38,13 +38,6 @@ var SPENDING_LIMIT_ACTION;
38
38
  SPENDING_LIMIT_ACTION["Notify"] = "notify";
39
39
  SPENDING_LIMIT_ACTION["Pause"] = "pause";
40
40
  })(SPENDING_LIMIT_ACTION || (exports.SPENDING_LIMIT_ACTION = SPENDING_LIMIT_ACTION = {}));
41
- var REQUEST_TYPE;
42
- (function (REQUEST_TYPE) {
43
- REQUEST_TYPE["GET"] = "GET";
44
- REQUEST_TYPE["PUT"] = "PUT";
45
- REQUEST_TYPE["POST"] = "POST";
46
- REQUEST_TYPE["DELETE"] = "DELETE";
47
- })(REQUEST_TYPE || (exports.REQUEST_TYPE = REQUEST_TYPE = {}));
48
41
  var ENVIRONMENT;
49
42
  (function (ENVIRONMENT) {
50
43
  ENVIRONMENT["PREVIEW"] = "PREVIEW";
@@ -254,15 +247,8 @@ var ROLES;
254
247
  ROLES["ADMINISTRATOR"] = "ADMINISTRATOR";
255
248
  ROLES["MEMBER"] = "MEMBER";
256
249
  ROLES["VIEWER"] = "VIEWER";
250
+ ROLES["CUSTOM"] = "CUSTOM";
257
251
  })(ROLES || (exports.ROLES = ROLES = {}));
258
- var PERMISSION_TYPE;
259
- (function (PERMISSION_TYPE) {
260
- PERMISSION_TYPE["DOMAIN"] = "DOMAIN";
261
- PERMISSION_TYPE["BILLING"] = "BILLING";
262
- PERMISSION_TYPE["PROJECT"] = "PROJECT";
263
- PERMISSION_TYPE["INTEGRATION"] = "INTEGRATION";
264
- PERMISSION_TYPE["USERS"] = "USERS";
265
- })(PERMISSION_TYPE || (exports.PERMISSION_TYPE = PERMISSION_TYPE = {}));
266
252
  var REGION_CONTINENT;
267
253
  (function (REGION_CONTINENT) {
268
254
  REGION_CONTINENT["AFRICA"] = "Africa";
@@ -481,6 +467,12 @@ var BACKUP_STATUS;
481
467
  BACKUP_STATUS["FAILED"] = "failed";
482
468
  BACKUP_STATUS["DELETED"] = "deleted";
483
469
  })(BACKUP_STATUS || (exports.BACKUP_STATUS = BACKUP_STATUS = {}));
470
+ var BACKUP_DESTINATION_TYPE;
471
+ (function (BACKUP_DESTINATION_TYPE) {
472
+ BACKUP_DESTINATION_TYPE["PLATFORM"] = "platform";
473
+ BACKUP_DESTINATION_TYPE["BRIMBLE"] = "brimble";
474
+ BACKUP_DESTINATION_TYPE["EXTERNAL"] = "external";
475
+ })(BACKUP_DESTINATION_TYPE || (exports.BACKUP_DESTINATION_TYPE = BACKUP_DESTINATION_TYPE = {}));
484
476
  var WorkerRunStatus;
485
477
  (function (WorkerRunStatus) {
486
478
  WorkerRunStatus["Pending"] = "pending";
package/dist/index.d.ts CHANGED
@@ -16,9 +16,7 @@ export { default as Token } from "./token";
16
16
  export { default as PlatformApiKey } from "./platform-api-key";
17
17
  export { default as Team } from "./team";
18
18
  export { default as Member } from "./member";
19
- export { default as Permission } from "./permission";
20
19
  export { default as PaymentMethod } from "./payment-method";
21
- export { default as MemberPermission } from "./member-permission";
22
20
  export { default as Role } from "./role";
23
21
  export { default as Log } from "./logs";
24
22
  export { default as Subscription } from "./subscription";
@@ -107,8 +105,8 @@ export { default as AgentWebsiteSnapshot } from "./agent-website-snapshot";
107
105
  export { default as AgentWebsiteFileOverlay } from "./agent-website-file-overlay";
108
106
  export { default as AgentDesignSkill } from "./agent-design-skill";
109
107
  export { default as AgentDesignSkillRevision } from "./agent-design-skill-revision";
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";
108
+ 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, 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";
109
+ 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, 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
110
  import mongoose from "mongoose";
113
111
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
114
112
  export declare const db: mongoose.Connection;
package/dist/index.js CHANGED
@@ -12,11 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
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
- 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
- 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;
15
+ 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.EmailDeadLetter = exports.DbImage = exports.Wallet = exports.Server = exports.Card = exports.Subscription = exports.Log = exports.Role = exports.PaymentMethod = 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
+ exports.Ticket = exports.CouponRedemption = 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 = void 0;
17
+ exports.DatabaseProvisionPhase = exports.DatabaseInsightsScope = exports.HaMemberRole = exports.DatabasePasswordMode = exports.DatabasePasswordChangeMode = exports.DatabaseEngine = exports.SCALING_SOURCE = exports.BuildDispatch = exports.BuildProviderType = exports.BuildMethod = exports.BuildUseCase = exports.ServiceType = 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 = void 0;
18
+ 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.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 = 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 = 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");
@@ -54,12 +54,8 @@ var team_1 = require("./team");
54
54
  Object.defineProperty(exports, "Team", { enumerable: true, get: function () { return __importDefault(team_1).default; } });
55
55
  var member_1 = require("./member");
56
56
  Object.defineProperty(exports, "Member", { enumerable: true, get: function () { return __importDefault(member_1).default; } });
57
- var permission_1 = require("./permission");
58
- Object.defineProperty(exports, "Permission", { enumerable: true, get: function () { return __importDefault(permission_1).default; } });
59
57
  var payment_method_1 = require("./payment-method");
60
58
  Object.defineProperty(exports, "PaymentMethod", { enumerable: true, get: function () { return __importDefault(payment_method_1).default; } });
61
- var member_permission_1 = require("./member-permission");
62
- Object.defineProperty(exports, "MemberPermission", { enumerable: true, get: function () { return __importDefault(member_permission_1).default; } });
63
59
  var role_1 = require("./role");
64
60
  Object.defineProperty(exports, "Role", { enumerable: true, get: function () { return __importDefault(role_1).default; } });
65
61
  var logs_1 = require("./logs");
@@ -267,8 +263,6 @@ Object.defineProperty(exports, "DNS_CHANGE_TYPE", { enumerable: true, get: funct
267
263
  Object.defineProperty(exports, "DNS_CHANGE_SOURCE", { enumerable: true, get: function () { return enum_1.DNS_CHANGE_SOURCE; } });
268
264
  Object.defineProperty(exports, "EMAIL_FORWARD_STATUS", { enumerable: true, get: function () { return enum_1.EMAIL_FORWARD_STATUS; } });
269
265
  Object.defineProperty(exports, "DNS_MANAGED_BY", { enumerable: true, get: function () { return enum_1.DNS_MANAGED_BY; } });
270
- Object.defineProperty(exports, "PERMISSION_TYPE", { enumerable: true, get: function () { return enum_1.PERMISSION_TYPE; } });
271
- Object.defineProperty(exports, "REQUEST_TYPE", { enumerable: true, get: function () { return enum_1.REQUEST_TYPE; } });
272
266
  Object.defineProperty(exports, "ServiceType", { enumerable: true, get: function () { return enum_1.ServiceType; } });
273
267
  Object.defineProperty(exports, "BuildUseCase", { enumerable: true, get: function () { return enum_1.BuildUseCase; } });
274
268
  Object.defineProperty(exports, "BuildMethod", { enumerable: true, get: function () { return enum_1.BuildMethod; } });
@@ -311,6 +305,7 @@ Object.defineProperty(exports, "SANDBOX_DESTROY_REASON", { enumerable: true, get
311
305
  Object.defineProperty(exports, "SANDBOX_EGRESS_MODE", { enumerable: true, get: function () { return enum_1.SANDBOX_EGRESS_MODE; } });
312
306
  Object.defineProperty(exports, "SANDBOX_SNAPSHOT_STATUS", { enumerable: true, get: function () { return enum_1.SANDBOX_SNAPSHOT_STATUS; } });
313
307
  Object.defineProperty(exports, "BACKUP_STATUS", { enumerable: true, get: function () { return enum_1.BACKUP_STATUS; } });
308
+ Object.defineProperty(exports, "BACKUP_DESTINATION_TYPE", { enumerable: true, get: function () { return enum_1.BACKUP_DESTINATION_TYPE; } });
314
309
  Object.defineProperty(exports, "DatabaseUserPermission", { enumerable: true, get: function () { return enum_1.DatabaseUserPermission; } });
315
310
  Object.defineProperty(exports, "DatabaseUserStatus", { enumerable: true, get: function () { return enum_1.DatabaseUserStatus; } });
316
311
  Object.defineProperty(exports, "WorkerRunStatus", { enumerable: true, get: function () { return enum_1.WorkerRunStatus; } });
package/dist/member.js CHANGED
@@ -29,7 +29,11 @@ const memberSchema = new mongoose_1.Schema({
29
29
  type: Boolean,
30
30
  default: false,
31
31
  },
32
- permissions: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "MemberPermission" }],
32
+ custom_role: {
33
+ type: mongoose_1.Schema.Types.ObjectId,
34
+ ref: "Role",
35
+ default: null,
36
+ },
33
37
  project_environments: [
34
38
  { type: mongoose_1.Schema.Types.ObjectId, ref: "ProjectEnvironment" },
35
39
  ],
@@ -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,
package/dist/role.js CHANGED
@@ -1,11 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const mongoose_1 = require("mongoose");
4
- const enum_1 = require("./enum");
5
4
  const roleSchema = new mongoose_1.Schema({
6
- type: { type: String, enum: Object.values(enum_1.ROLES) },
7
- description: { type: String },
5
+ key: { type: String, required: true },
6
+ name: { type: String, required: true },
7
+ description: { type: String, required: true },
8
+ team: { type: mongoose_1.Schema.Types.ObjectId, ref: "Team", default: null },
9
+ is_system: { type: Boolean, default: false },
8
10
  is_custom: { type: Boolean, default: false },
9
- permissions: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "Permission" }],
11
+ actions: [{ type: String }],
12
+ scoped_to_environments: { type: Boolean, default: false },
13
+ }, {
14
+ timestamps: {
15
+ createdAt: "created_at",
16
+ updatedAt: "updated_at",
17
+ },
10
18
  });
19
+ roleSchema.index({ key: 1 }, { unique: true, partialFilterExpression: { is_system: true } });
20
+ roleSchema.index({ team: 1, key: 1 }, { unique: true, partialFilterExpression: { is_custom: true } });
11
21
  exports.default = (0, mongoose_1.model)("Role", roleSchema);
@@ -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
  }
@@ -21,13 +21,11 @@ export type { ILicense } from "./license";
21
21
  export type { ILoadBalancerPort } from "./load-balancer-port";
22
22
  export type { ILog } from "./logs";
23
23
  export type { IMember } from "./member";
24
- export type { IMemberPermission } from "./member-permission";
25
- export type { IPermission } from "./permission";
26
24
  export type { IPaymentMethod } from "./payment-method";
27
25
  export type { IPlanConfiguration } from "./plan_configuration";
28
26
  export type { BuildProviderMeta, BuildProviderRoute, BuildSandboxConfig, BuildSandboxPoolConfig, IProvider, } from "./provider";
29
27
  export { BuildDispatch, BuildMethod, BuildProviderType, BuildUseCase, } from "./provider";
30
- export type { IDatabaseProvisionProgress, IDedicatedEgress, IHaCluster, IHaClusterMember, IPasswordRotation, IPendingMqEvent, IPgBouncerConfig, IProject, IProjectSpecs, ITlsMigration, TlsMigrationPhase, } from "./project";
28
+ export type { IBackupDestinationExternal, IDatabaseProvisionProgress, IDedicatedEgress, IHaCluster, IHaClusterMember, IPasswordRotation, IPendingMqEvent, IPgBouncerConfig, IProject, IProjectSpecs, ITlsMigration, TlsMigrationPhase, } from "./project";
31
29
  export type { IProjectAnalytics } from "./project_analytics";
32
30
  export type { IProjectConnection } from "./project/connection";
33
31
  export type { IProjectNetworkSettings } from "./project-network-settings";
@@ -1,8 +1,8 @@
1
- import { Document } from "mongoose";
1
+ import { Document, Types } from "mongoose";
2
2
  import { ROLES } from "../enum";
3
3
  import { ITeam, IUser } from "./";
4
- import { IMemberPermission } from "./member-permission";
5
4
  import { IProjectEnvironment } from "./project-environment";
5
+ import { IRole } from "./role";
6
6
  export interface IMember extends Document {
7
7
  user: IUser;
8
8
  team: ITeam;
@@ -11,7 +11,7 @@ export interface IMember extends Document {
11
11
  invitedBy: IUser;
12
12
  email: string;
13
13
  featureOnboarded: boolean;
14
- permissions: IMemberPermission[];
14
+ custom_role?: IRole | Types.ObjectId | null;
15
15
  project_environments: IProjectEnvironment[];
16
16
  createdAt: Date;
17
17
  updatedAt: Date;
@@ -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;
@@ -1,9 +1,14 @@
1
- import { Document } from "mongoose";
2
- import { ROLES } from "../enum";
3
- import { IPermission } from "./permission";
1
+ import { Document, Types } from "mongoose";
2
+ import { ITeam } from "./team";
4
3
  export interface IRole extends Document {
5
- type: ROLES;
6
- description?: string;
7
- is_custom?: boolean;
8
- permissions: IPermission[];
4
+ key: string;
5
+ name: string;
6
+ description: string;
7
+ team?: ITeam | Types.ObjectId | null;
8
+ is_system: boolean;
9
+ is_custom: boolean;
10
+ actions: string[];
11
+ scoped_to_environments: boolean;
12
+ created_at?: Date;
13
+ updated_at?: Date;
9
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.8.207",
3
+ "version": "3.8.209",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,9 +0,0 @@
1
- import { IMemberPermission } from "./types/member-permission";
2
- declare const _default: import("mongoose").Model<IMemberPermission, {}, {}, {}, import("mongoose").Document<unknown, {}, IMemberPermission, {}, import("mongoose").DefaultSchemaOptions> & IMemberPermission & Required<{
3
- _id: import("mongoose").Types.ObjectId;
4
- }> & {
5
- __v: number;
6
- } & {
7
- id: string;
8
- }, any, IMemberPermission>;
9
- export default _default;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const memberPermissionSchema = new mongoose_1.Schema({
5
- permission: { type: mongoose_1.Schema.Types.ObjectId, ref: "Permission" },
6
- member: { type: mongoose_1.Schema.Types.ObjectId, ref: "Member" },
7
- enabled: { type: Boolean, default: false },
8
- });
9
- exports.default = (0, mongoose_1.model)("MemberPermission", memberPermissionSchema);
@@ -1,9 +0,0 @@
1
- import { IPermission } from "./types/permission";
2
- declare const _default: import("mongoose").Model<IPermission, {}, {}, {}, import("mongoose").Document<unknown, {}, IPermission, {}, import("mongoose").DefaultSchemaOptions> & IPermission & Required<{
3
- _id: import("mongoose").Types.ObjectId;
4
- }> & {
5
- __v: number;
6
- } & {
7
- id: string;
8
- }, any, IPermission>;
9
- export default _default;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const enum_1 = require("./enum");
5
- const permissionSchema = new mongoose_1.Schema({
6
- title: { type: String },
7
- role: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "Role" }],
8
- request: { type: Object },
9
- type: { type: String, enum: Object.values(enum_1.PERMISSION_TYPE) },
10
- enabled: { type: Boolean, default: false, select: true },
11
- });
12
- exports.default = (0, mongoose_1.model)("Permission", permissionSchema);
@@ -1,8 +0,0 @@
1
- import { Document } from "mongoose";
2
- import { IPermission } from "./permission";
3
- import { IMember } from "./member";
4
- export interface IMemberPermission extends Document {
5
- permission: IPermission;
6
- member: IMember;
7
- enabled: boolean;
8
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +0,0 @@
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
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });