@brimble/models 3.8.47 → 3.8.49

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.
@@ -269,3 +269,10 @@ export declare enum StorageCredentialStatus {
269
269
  Active = "active",
270
270
  Revoked = "revoked"
271
271
  }
272
+ export declare enum StorageMigrationStatus {
273
+ Queued = "queued",
274
+ Running = "running",
275
+ Completed = "completed",
276
+ Failed = "failed",
277
+ Cancelled = "cancelled"
278
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = 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_METRIC = exports.SCALING_STRATEGY = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REGION_CONTINENT = exports.PERMISSION_TYPE = exports.ROLES = exports.DNS_TYPE = exports.SERVER_STATUS = exports.OAUTH_PERMISSIONS = exports.SUBSCRIPTION_PLAN_TYPE = exports.SUBSCRIPTION_STATUS = 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;
3
+ exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = 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_METRIC = exports.SCALING_STRATEGY = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REGION_CONTINENT = exports.PERMISSION_TYPE = exports.ROLES = exports.DNS_TYPE = exports.SERVER_STATUS = exports.OAUTH_PERMISSIONS = exports.SUBSCRIPTION_PLAN_TYPE = exports.SUBSCRIPTION_STATUS = 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
4
  var GIT_TYPE;
5
5
  (function (GIT_TYPE) {
6
6
  GIT_TYPE["GITHUB"] = "GITHUB";
@@ -317,3 +317,11 @@ var StorageCredentialStatus;
317
317
  StorageCredentialStatus["Active"] = "active";
318
318
  StorageCredentialStatus["Revoked"] = "revoked";
319
319
  })(StorageCredentialStatus || (exports.StorageCredentialStatus = StorageCredentialStatus = {}));
320
+ var StorageMigrationStatus;
321
+ (function (StorageMigrationStatus) {
322
+ StorageMigrationStatus["Queued"] = "queued";
323
+ StorageMigrationStatus["Running"] = "running";
324
+ StorageMigrationStatus["Completed"] = "completed";
325
+ StorageMigrationStatus["Failed"] = "failed";
326
+ StorageMigrationStatus["Cancelled"] = "cancelled";
327
+ })(StorageMigrationStatus || (exports.StorageMigrationStatus = StorageMigrationStatus = {}));
package/dist/index.d.ts CHANGED
@@ -62,9 +62,9 @@ export { default as SandboxUsageSegment } from "./sandbox-usage-segment";
62
62
  export { default as VolumeUsageSegment } from "./volume-usage-segment";
63
63
  export { default as ObjectStorageUsageSegment } from "./object-storage-usage-segment";
64
64
  export { default as IdempotencyRecord } from "./idempotency";
65
- export { StorageBucket, StorageObject, StorageUpload, StorageToken, StorageCredential } from "./storage";
66
- export { IUser, IGit, IProject, IProjectAnalytics, IPreview, IProjectConnection, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, 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, IOwnershipTransfer, ISandbox, ISandboxSpecs, ISandboxActivity, ISandboxImage, ISandboxSnapshot, ISandboxSnapshotUsageSegment, ISandboxSnapshotUsageSegmentCosts, ISandboxUsageSegment, ISandboxUsageSegmentCurrent, ISandboxUsageSegmentCosts, IVolumeUsageSegment, IVolumeUsageSegmentCosts, IObjectStorageUsageSegment, IObjectStorageUsageSegmentCosts, IObjectStorageUsageUnitsSummary, IIdempotencyRecord, IStorageBucket, IStorageObject, IStorageUpload, IStorageToken, IStorageCredential, StorageTokenPermission, } from "./types";
67
- export { GIT_TYPE, INTEGRATION_TYPES, INTEGRATION_PROVIDERS, OAUTH_PERMISSIONS, ENVIRONMENT, SERVER_STATUS, ROLES, SUBSCRIPTION_PLAN_TYPE, PROJECT_STATUS, SUBSCRIPTION_STATUS, CARD_TYPES, DNS_TYPE, PERMISSION_TYPE, REQUEST_TYPE, ServiceType, 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_SNAPSHOT_STATUS, StorageBucketStatus, StorageUploadStatus, StorageTokenStatus, StorageCredentialRole, StorageCredentialStatus, } from "./enum";
65
+ export { StorageBucket, StorageObject, StorageUpload, StorageToken, StorageCredential, StorageMigration } from "./storage";
66
+ export { IUser, IGit, IProject, IProjectAnalytics, IPreview, IProjectConnection, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, 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, 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 } from "./types";
67
+ export { GIT_TYPE, INTEGRATION_TYPES, INTEGRATION_PROVIDERS, OAUTH_PERMISSIONS, ENVIRONMENT, SERVER_STATUS, ROLES, SUBSCRIPTION_PLAN_TYPE, PROJECT_STATUS, SUBSCRIPTION_STATUS, CARD_TYPES, DNS_TYPE, PERMISSION_TYPE, REQUEST_TYPE, ServiceType, 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_SNAPSHOT_STATUS, StorageBucketStatus, StorageUploadStatus, StorageTokenStatus, StorageCredentialRole, StorageCredentialStatus, StorageMigrationStatus, } from "./enum";
68
68
  import mongoose from "mongoose";
69
69
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
70
70
  export declare const db: mongoose.Connection;
package/dist/index.js CHANGED
@@ -13,8 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ProjectTagAssignment = exports.Tag = exports.Invoice = 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.Dns = exports.Domain = exports.Integration = exports.Following = exports.ProjectConnection = exports.Preview = exports.ProjectAnalytics = exports.DeletedProject = exports.Project = exports.User = void 0;
16
- 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.ServiceType = exports.REQUEST_TYPE = exports.PERMISSION_TYPE = exports.DNS_TYPE = exports.CARD_TYPES = exports.SUBSCRIPTION_STATUS = 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.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.ActivityLog = exports.EnvironmentVariable = exports.ProjectEnvironment = exports.CashierSubscriptionItem = exports.CashierSubscription = void 0;
17
- exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = exports.SANDBOX_DESTROY_REASON = exports.SANDBOX_STATUS = exports.SANDBOX_TEMPLATE = exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = void 0;
16
+ 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.ServiceType = exports.REQUEST_TYPE = exports.PERMISSION_TYPE = exports.DNS_TYPE = exports.CARD_TYPES = exports.SUBSCRIPTION_STATUS = 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.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.ActivityLog = exports.EnvironmentVariable = exports.ProjectEnvironment = exports.CashierSubscriptionItem = exports.CashierSubscription = void 0;
17
+ exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.StorageMigrationStatus = exports.StorageCredentialStatus = exports.StorageCredentialRole = exports.StorageTokenStatus = exports.StorageUploadStatus = exports.StorageBucketStatus = exports.SANDBOX_SNAPSHOT_STATUS = 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 = void 0;
18
18
  var user_1 = require("./user");
19
19
  Object.defineProperty(exports, "User", { enumerable: true, get: function () { return __importDefault(user_1).default; } });
20
20
  var project_1 = require("./project");
@@ -150,6 +150,7 @@ Object.defineProperty(exports, "StorageObject", { enumerable: true, get: functio
150
150
  Object.defineProperty(exports, "StorageUpload", { enumerable: true, get: function () { return storage_1.StorageUpload; } });
151
151
  Object.defineProperty(exports, "StorageToken", { enumerable: true, get: function () { return storage_1.StorageToken; } });
152
152
  Object.defineProperty(exports, "StorageCredential", { enumerable: true, get: function () { return storage_1.StorageCredential; } });
153
+ Object.defineProperty(exports, "StorageMigration", { enumerable: true, get: function () { return storage_1.StorageMigration; } });
153
154
  var enum_1 = require("./enum");
154
155
  Object.defineProperty(exports, "GIT_TYPE", { enumerable: true, get: function () { return enum_1.GIT_TYPE; } });
155
156
  Object.defineProperty(exports, "INTEGRATION_TYPES", { enumerable: true, get: function () { return enum_1.INTEGRATION_TYPES; } });
@@ -194,6 +195,7 @@ Object.defineProperty(exports, "StorageUploadStatus", { enumerable: true, get: f
194
195
  Object.defineProperty(exports, "StorageTokenStatus", { enumerable: true, get: function () { return enum_1.StorageTokenStatus; } });
195
196
  Object.defineProperty(exports, "StorageCredentialRole", { enumerable: true, get: function () { return enum_1.StorageCredentialRole; } });
196
197
  Object.defineProperty(exports, "StorageCredentialStatus", { enumerable: true, get: function () { return enum_1.StorageCredentialStatus; } });
198
+ Object.defineProperty(exports, "StorageMigrationStatus", { enumerable: true, get: function () { return enum_1.StorageMigrationStatus; } });
197
199
  const mongoose_1 = __importDefault(require("mongoose"));
198
200
  const utils_1 = require("@brimble/utils");
199
201
  const connectToMongo = (mongoUrl, config) => __awaiter(void 0, void 0, void 0, function* () {
package/dist/storage.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { IStorageBucket, IStorageCredential, IStorageObject, IStorageToken, IStorageUpload } from "./types/storage";
1
+ import { IStorageBucket, IStorageCredential, IStorageMigration, IStorageObject, IStorageToken, IStorageUpload } from "./types/storage";
2
2
  export declare const StorageBucket: import("mongoose").Model<IStorageBucket, {}, {}, {}, import("mongoose").Document<unknown, {}, IStorageBucket, {}, import("mongoose").DefaultSchemaOptions> & IStorageBucket & Required<{
3
3
  _id: import("mongoose").Types.ObjectId;
4
4
  }> & {
@@ -34,3 +34,10 @@ export declare const StorageCredential: import("mongoose").Model<IStorageCredent
34
34
  } & {
35
35
  id: string;
36
36
  }, any, IStorageCredential>;
37
+ export declare const StorageMigration: import("mongoose").Model<IStorageMigration, {}, {}, {}, import("mongoose").Document<unknown, {}, IStorageMigration, {}, import("mongoose").DefaultSchemaOptions> & IStorageMigration & Required<{
38
+ _id: import("mongoose").Types.ObjectId;
39
+ }> & {
40
+ __v: number;
41
+ } & {
42
+ id: string;
43
+ }, any, IStorageMigration>;
package/dist/storage.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorageCredential = exports.StorageToken = exports.StorageUpload = exports.StorageObject = exports.StorageBucket = void 0;
3
+ exports.StorageMigration = exports.StorageCredential = exports.StorageToken = exports.StorageUpload = exports.StorageObject = exports.StorageBucket = void 0;
4
4
  const mongoose_1 = require("mongoose");
5
5
  const enum_1 = require("./enum");
6
6
  const storageBucketSchema = new mongoose_1.Schema({
@@ -16,6 +16,8 @@ const storageBucketSchema = new mongoose_1.Schema({
16
16
  storage_used: { type: Number, default: 0 },
17
17
  reserved_bytes: { type: Number, default: 0 },
18
18
  quota: { type: Number, required: true },
19
+ cors_rules: { type: Array, required: false },
20
+ lifecycle_rules: { type: Array, required: false },
19
21
  status: { type: String, enum: Object.values(enum_1.StorageBucketStatus), default: enum_1.StorageBucketStatus.Active },
20
22
  }, { timestamps: true });
21
23
  storageBucketSchema.index({ user_id: 1, team: 1, name: 1 }, { unique: true, name: "uniq_storage_bucket_owner_name" });
@@ -75,8 +77,36 @@ const storageCredentialSchema = new mongoose_1.Schema({
75
77
  revoked_at: { type: Date },
76
78
  }, { timestamps: true });
77
79
  storageCredentialSchema.index({ bucket: 1, status: 1, updatedAt: -1 }, { name: "idx_storage_credential_bucket_status_updated_at" });
80
+ const storageMigrationSchema = new mongoose_1.Schema({
81
+ bucket: { type: mongoose_1.Schema.Types.ObjectId, ref: "StorageBucket", required: true, index: true },
82
+ project: { type: mongoose_1.Schema.Types.ObjectId, ref: "Project", required: false, index: true },
83
+ user_id: { type: mongoose_1.Schema.Types.ObjectId, ref: "User", required: false, index: true },
84
+ team: { type: mongoose_1.Schema.Types.ObjectId, ref: "Team", required: false, index: true },
85
+ source_bucket: { type: String, required: true, trim: true },
86
+ source_region: { type: String, required: true, trim: true },
87
+ source_endpoint: { type: String, required: false, trim: true },
88
+ source_prefix: { type: String, required: false, trim: true },
89
+ destination_prefix: { type: String, required: false, trim: true },
90
+ vault_path: { type: String, required: true },
91
+ status: { type: String, enum: Object.values(enum_1.StorageMigrationStatus), default: enum_1.StorageMigrationStatus.Queued, index: true },
92
+ total_objects: { type: Number, default: 0 },
93
+ copied_objects: { type: Number, default: 0 },
94
+ failed_objects: { type: Number, default: 0 },
95
+ total_bytes: { type: Number, default: 0 },
96
+ copied_bytes: { type: Number, default: 0 },
97
+ continuation_token: { type: String },
98
+ last_source_key: { type: String },
99
+ error_message: { type: String },
100
+ started_at: { type: Date },
101
+ completed_at: { type: Date },
102
+ cancelled_at: { type: Date },
103
+ }, { timestamps: true });
104
+ storageMigrationSchema.index({ bucket: 1, status: 1, updatedAt: -1 }, { name: "idx_storage_migration_bucket_status_updated_at" });
105
+ storageMigrationSchema.index({ user_id: 1, updatedAt: -1 }, { name: "idx_storage_migration_user_updated_at" });
106
+ storageMigrationSchema.index({ team: 1, updatedAt: -1 }, { name: "idx_storage_migration_team_updated_at" });
78
107
  exports.StorageBucket = (0, mongoose_1.model)("StorageBucket", storageBucketSchema);
79
108
  exports.StorageObject = (0, mongoose_1.model)("StorageObject", storageObjectSchema);
80
109
  exports.StorageUpload = (0, mongoose_1.model)("StorageUpload", storageUploadSchema);
81
110
  exports.StorageToken = (0, mongoose_1.model)("StorageToken", storageTokenSchema);
82
111
  exports.StorageCredential = (0, mongoose_1.model)("StorageCredential", storageCredentialSchema);
112
+ exports.StorageMigration = (0, mongoose_1.model)("StorageMigration", storageMigrationSchema);
@@ -63,4 +63,4 @@ export type { ISandboxUsageSegment, ISandboxUsageSegmentCurrent, ISandboxUsageSe
63
63
  export type { IVolumeUsageSegment, IVolumeUsageSegmentCosts, } from "./volume-usage-segment";
64
64
  export type { IObjectStorageUsageSegment, IObjectStorageUsageSegmentCosts, IObjectStorageUsageUnitsSummary, } from "./object-storage-usage-segment";
65
65
  export type { IIdempotencyRecord } from "./idempotency";
66
- export type { IStorageBucket, IStorageObject, IStorageUpload, IStorageToken, IStorageCredential, StorageTokenPermission, } from "./storage";
66
+ export type { IStorageBucket, IStorageObject, IStorageUpload, IStorageToken, IStorageCredential, IStorageMigration, StorageTokenPermission, StorageLifecycleRule, StorageCorsRule, StorageLifecycleRuleTransition } from "./storage";
@@ -1,6 +1,24 @@
1
1
  import { Document, Types } from "mongoose";
2
- import { StorageBucketStatus, StorageCredentialRole, StorageCredentialStatus, StorageTokenStatus, StorageUploadStatus } from "../enum";
2
+ import { StorageBucketStatus, StorageCredentialRole, StorageCredentialStatus, StorageMigrationStatus, StorageTokenStatus, StorageUploadStatus } from "../enum";
3
3
  export type StorageTokenPermission = "read" | "write" | "delete" | "list" | "admin";
4
+ export type StorageCorsRule = {
5
+ allowedHeaders?: string[];
6
+ allowedMethods?: string[];
7
+ allowedOrigins?: string[];
8
+ exposeHeaders?: string[];
9
+ maxAgeSeconds?: number;
10
+ [key: string]: unknown;
11
+ };
12
+ export type StorageLifecycleRule = {
13
+ id?: string;
14
+ prefix?: string;
15
+ expirationDays?: number;
16
+ transitions?: StorageLifecycleRuleTransition[];
17
+ };
18
+ export type StorageLifecycleRuleTransition = {
19
+ days?: number;
20
+ storageClass?: string;
21
+ };
4
22
  export interface IStorageBucket extends Document {
5
23
  name: string;
6
24
  project?: Types.ObjectId;
@@ -14,6 +32,8 @@ export interface IStorageBucket extends Document {
14
32
  storage_used: number;
15
33
  reserved_bytes: number;
16
34
  quota: number;
35
+ cors_rules: StorageCorsRule[];
36
+ lifecycle_rules: StorageLifecycleRule[];
17
37
  status: StorageBucketStatus;
18
38
  createdAt: Date;
19
39
  updatedAt: Date;
@@ -77,3 +97,29 @@ export interface IStorageCredential extends Document {
77
97
  createdAt: Date;
78
98
  updatedAt: Date;
79
99
  }
100
+ export interface IStorageMigration extends Document {
101
+ bucket: Types.ObjectId;
102
+ project?: Types.ObjectId;
103
+ user_id?: Types.ObjectId;
104
+ team?: Types.ObjectId;
105
+ source_bucket: string;
106
+ source_region: string;
107
+ source_endpoint?: string;
108
+ source_prefix?: string;
109
+ destination_prefix?: string;
110
+ vault_path: string;
111
+ status: StorageMigrationStatus;
112
+ total_objects: number;
113
+ copied_objects: number;
114
+ failed_objects: number;
115
+ total_bytes: number;
116
+ copied_bytes: number;
117
+ continuation_token?: string;
118
+ last_source_key?: string;
119
+ error_message?: string;
120
+ started_at?: Date;
121
+ completed_at?: Date;
122
+ cancelled_at?: Date;
123
+ createdAt: Date;
124
+ updatedAt: Date;
125
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.8.47",
3
+ "version": "3.8.49",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",