@brimble/models 3.8.43 → 3.8.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/enum/index.d.ts +8 -0
- package/dist/enum/index.js +11 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +5 -2
- package/dist/storage.d.ts +8 -1
- package/dist/storage.js +18 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/storage.d.ts +18 -1
- package/enum/index.ts +10 -0
- package/index.ts +4 -1
- package/package.json +1 -1
- package/storage.ts +36 -2
- package/types/index.ts +1 -0
- package/types/storage.ts +25 -1
package/dist/enum/index.d.ts
CHANGED
|
@@ -261,3 +261,11 @@ export declare enum StorageTokenStatus {
|
|
|
261
261
|
Active = "active",
|
|
262
262
|
Revoked = "revoked"
|
|
263
263
|
}
|
|
264
|
+
export declare enum StorageCredentialRole {
|
|
265
|
+
ReadOnly = "ReadOnly",
|
|
266
|
+
Editor = "Editor"
|
|
267
|
+
}
|
|
268
|
+
export declare enum StorageCredentialStatus {
|
|
269
|
+
Active = "active",
|
|
270
|
+
Revoked = "revoked"
|
|
271
|
+
}
|
package/dist/enum/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
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.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";
|
|
@@ -307,3 +307,13 @@ var StorageTokenStatus;
|
|
|
307
307
|
StorageTokenStatus["Active"] = "active";
|
|
308
308
|
StorageTokenStatus["Revoked"] = "revoked";
|
|
309
309
|
})(StorageTokenStatus || (exports.StorageTokenStatus = StorageTokenStatus = {}));
|
|
310
|
+
var StorageCredentialRole;
|
|
311
|
+
(function (StorageCredentialRole) {
|
|
312
|
+
StorageCredentialRole["ReadOnly"] = "ReadOnly";
|
|
313
|
+
StorageCredentialRole["Editor"] = "Editor";
|
|
314
|
+
})(StorageCredentialRole || (exports.StorageCredentialRole = StorageCredentialRole = {}));
|
|
315
|
+
var StorageCredentialStatus;
|
|
316
|
+
(function (StorageCredentialStatus) {
|
|
317
|
+
StorageCredentialStatus["Active"] = "active";
|
|
318
|
+
StorageCredentialStatus["Revoked"] = "revoked";
|
|
319
|
+
})(StorageCredentialStatus || (exports.StorageCredentialStatus = StorageCredentialStatus = {}));
|
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 } 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, 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, } from "./enum";
|
|
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";
|
|
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.
|
|
17
|
-
exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = 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 = 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;
|
|
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");
|
|
@@ -149,6 +149,7 @@ Object.defineProperty(exports, "StorageBucket", { enumerable: true, get: functio
|
|
|
149
149
|
Object.defineProperty(exports, "StorageObject", { enumerable: true, get: function () { return storage_1.StorageObject; } });
|
|
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
|
+
Object.defineProperty(exports, "StorageCredential", { enumerable: true, get: function () { return storage_1.StorageCredential; } });
|
|
152
153
|
var enum_1 = require("./enum");
|
|
153
154
|
Object.defineProperty(exports, "GIT_TYPE", { enumerable: true, get: function () { return enum_1.GIT_TYPE; } });
|
|
154
155
|
Object.defineProperty(exports, "INTEGRATION_TYPES", { enumerable: true, get: function () { return enum_1.INTEGRATION_TYPES; } });
|
|
@@ -191,6 +192,8 @@ Object.defineProperty(exports, "SANDBOX_SNAPSHOT_STATUS", { enumerable: true, ge
|
|
|
191
192
|
Object.defineProperty(exports, "StorageBucketStatus", { enumerable: true, get: function () { return enum_1.StorageBucketStatus; } });
|
|
192
193
|
Object.defineProperty(exports, "StorageUploadStatus", { enumerable: true, get: function () { return enum_1.StorageUploadStatus; } });
|
|
193
194
|
Object.defineProperty(exports, "StorageTokenStatus", { enumerable: true, get: function () { return enum_1.StorageTokenStatus; } });
|
|
195
|
+
Object.defineProperty(exports, "StorageCredentialRole", { enumerable: true, get: function () { return enum_1.StorageCredentialRole; } });
|
|
196
|
+
Object.defineProperty(exports, "StorageCredentialStatus", { enumerable: true, get: function () { return enum_1.StorageCredentialStatus; } });
|
|
194
197
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
195
198
|
const utils_1 = require("@brimble/utils");
|
|
196
199
|
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, IStorageObject, IStorageToken, IStorageUpload } from "./types/storage";
|
|
1
|
+
import { IStorageBucket, IStorageCredential, 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
|
}> & {
|
|
@@ -27,3 +27,10 @@ export declare const StorageToken: import("mongoose").Model<IStorageToken, {}, {
|
|
|
27
27
|
} & {
|
|
28
28
|
id: string;
|
|
29
29
|
}, any, IStorageToken>;
|
|
30
|
+
export declare const StorageCredential: import("mongoose").Model<IStorageCredential, {}, {}, {}, import("mongoose").Document<unknown, {}, IStorageCredential, {}, import("mongoose").DefaultSchemaOptions> & IStorageCredential & Required<{
|
|
31
|
+
_id: import("mongoose").Types.ObjectId;
|
|
32
|
+
}> & {
|
|
33
|
+
__v: number;
|
|
34
|
+
} & {
|
|
35
|
+
id: string;
|
|
36
|
+
}, any, IStorageCredential>;
|
package/dist/storage.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StorageToken = exports.StorageUpload = exports.StorageObject = exports.StorageBucket = void 0;
|
|
3
|
+
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({
|
|
@@ -59,7 +59,24 @@ const storageTokenSchema = new mongoose_1.Schema({
|
|
|
59
59
|
expires_at: { type: Date },
|
|
60
60
|
}, { timestamps: true });
|
|
61
61
|
storageTokenSchema.index({ project: 1, status: 1 }, { name: "idx_storage_token_project_status" });
|
|
62
|
+
const storageCredentialSchema = new mongoose_1.Schema({
|
|
63
|
+
name: { type: String, required: true, trim: true },
|
|
64
|
+
bucket: { type: mongoose_1.Schema.Types.ObjectId, ref: "StorageBucket", required: true, index: true },
|
|
65
|
+
project: { type: mongoose_1.Schema.Types.ObjectId, ref: "Project", required: false, index: true },
|
|
66
|
+
user_id: { type: mongoose_1.Schema.Types.ObjectId, ref: "User", required: false, index: true },
|
|
67
|
+
team: { type: mongoose_1.Schema.Types.ObjectId, ref: "Team", required: false, index: true },
|
|
68
|
+
provider: { type: String, default: "tigris" },
|
|
69
|
+
provider_org_id: { type: String, required: true },
|
|
70
|
+
access_key_id: { type: String, required: true, unique: true },
|
|
71
|
+
policy_names: [{ type: String }],
|
|
72
|
+
role: { type: String, enum: Object.values(enum_1.StorageCredentialRole), required: true },
|
|
73
|
+
status: { type: String, enum: Object.values(enum_1.StorageCredentialStatus), default: enum_1.StorageCredentialStatus.Active, index: true },
|
|
74
|
+
last_rotated_at: { type: Date },
|
|
75
|
+
revoked_at: { type: Date },
|
|
76
|
+
}, { timestamps: true });
|
|
77
|
+
storageCredentialSchema.index({ bucket: 1, status: 1, updatedAt: -1 }, { name: "idx_storage_credential_bucket_status_updated_at" });
|
|
62
78
|
exports.StorageBucket = (0, mongoose_1.model)("StorageBucket", storageBucketSchema);
|
|
63
79
|
exports.StorageObject = (0, mongoose_1.model)("StorageObject", storageObjectSchema);
|
|
64
80
|
exports.StorageUpload = (0, mongoose_1.model)("StorageUpload", storageUploadSchema);
|
|
65
81
|
exports.StorageToken = (0, mongoose_1.model)("StorageToken", storageTokenSchema);
|
|
82
|
+
exports.StorageCredential = (0, mongoose_1.model)("StorageCredential", storageCredentialSchema);
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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, StorageTokenPermission, } from "./storage";
|
|
66
|
+
export type { IStorageBucket, IStorageObject, IStorageUpload, IStorageToken, IStorageCredential, StorageTokenPermission, } from "./storage";
|
package/dist/types/storage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Document, Types } from "mongoose";
|
|
2
|
-
import { StorageBucketStatus, StorageTokenStatus, StorageUploadStatus } from "../enum";
|
|
2
|
+
import { StorageBucketStatus, StorageCredentialRole, StorageCredentialStatus, StorageTokenStatus, StorageUploadStatus } from "../enum";
|
|
3
3
|
export type StorageTokenPermission = "read" | "write" | "delete" | "list" | "admin";
|
|
4
4
|
export interface IStorageBucket extends Document {
|
|
5
5
|
name: string;
|
|
@@ -60,3 +60,20 @@ export interface IStorageToken extends Document {
|
|
|
60
60
|
createdAt: Date;
|
|
61
61
|
updatedAt: Date;
|
|
62
62
|
}
|
|
63
|
+
export interface IStorageCredential extends Document {
|
|
64
|
+
name: string;
|
|
65
|
+
bucket: Types.ObjectId;
|
|
66
|
+
project?: Types.ObjectId;
|
|
67
|
+
user_id?: Types.ObjectId;
|
|
68
|
+
team?: Types.ObjectId;
|
|
69
|
+
provider: string;
|
|
70
|
+
provider_org_id: string;
|
|
71
|
+
access_key_id: string;
|
|
72
|
+
policy_names: string[];
|
|
73
|
+
role: StorageCredentialRole;
|
|
74
|
+
status: StorageCredentialStatus;
|
|
75
|
+
last_rotated_at?: Date;
|
|
76
|
+
revoked_at?: Date;
|
|
77
|
+
createdAt: Date;
|
|
78
|
+
updatedAt: Date;
|
|
79
|
+
}
|
package/enum/index.ts
CHANGED
|
@@ -303,3 +303,13 @@ export enum StorageTokenStatus {
|
|
|
303
303
|
Active = "active",
|
|
304
304
|
Revoked = "revoked",
|
|
305
305
|
}
|
|
306
|
+
|
|
307
|
+
export enum StorageCredentialRole {
|
|
308
|
+
ReadOnly = "ReadOnly",
|
|
309
|
+
Editor = "Editor",
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export enum StorageCredentialStatus {
|
|
313
|
+
Active = "active",
|
|
314
|
+
Revoked = "revoked",
|
|
315
|
+
}
|
package/index.ts
CHANGED
|
@@ -62,7 +62,7 @@ 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 } from "./storage";
|
|
65
|
+
export { StorageBucket, StorageObject, StorageUpload, StorageToken, StorageCredential } from "./storage";
|
|
66
66
|
|
|
67
67
|
export {
|
|
68
68
|
IUser,
|
|
@@ -144,6 +144,7 @@ export {
|
|
|
144
144
|
IStorageObject,
|
|
145
145
|
IStorageUpload,
|
|
146
146
|
IStorageToken,
|
|
147
|
+
IStorageCredential,
|
|
147
148
|
StorageTokenPermission,
|
|
148
149
|
} from "./types";
|
|
149
150
|
export {
|
|
@@ -188,6 +189,8 @@ export {
|
|
|
188
189
|
StorageBucketStatus,
|
|
189
190
|
StorageUploadStatus,
|
|
190
191
|
StorageTokenStatus,
|
|
192
|
+
StorageCredentialRole,
|
|
193
|
+
StorageCredentialStatus,
|
|
191
194
|
} from "./enum";
|
|
192
195
|
|
|
193
196
|
import mongoose from "mongoose";
|
package/package.json
CHANGED
package/storage.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { model, Schema } from "mongoose";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
StorageBucketStatus,
|
|
4
|
+
StorageCredentialRole,
|
|
5
|
+
StorageCredentialStatus,
|
|
6
|
+
StorageTokenStatus,
|
|
7
|
+
StorageUploadStatus,
|
|
8
|
+
} from "./enum";
|
|
9
|
+
import {
|
|
10
|
+
IStorageBucket,
|
|
11
|
+
IStorageCredential,
|
|
12
|
+
IStorageObject,
|
|
13
|
+
IStorageToken,
|
|
14
|
+
IStorageUpload,
|
|
15
|
+
} from "./types/storage";
|
|
4
16
|
|
|
5
17
|
const storageBucketSchema = new Schema(
|
|
6
18
|
{
|
|
@@ -77,7 +89,29 @@ const storageTokenSchema = new Schema(
|
|
|
77
89
|
|
|
78
90
|
storageTokenSchema.index({ project: 1, status: 1 }, { name: "idx_storage_token_project_status" });
|
|
79
91
|
|
|
92
|
+
const storageCredentialSchema = new Schema(
|
|
93
|
+
{
|
|
94
|
+
name: { type: String, required: true, trim: true },
|
|
95
|
+
bucket: { type: Schema.Types.ObjectId, ref: "StorageBucket", required: true, index: true },
|
|
96
|
+
project: { type: Schema.Types.ObjectId, ref: "Project", required: false, index: true },
|
|
97
|
+
user_id: { type: Schema.Types.ObjectId, ref: "User", required: false, index: true },
|
|
98
|
+
team: { type: Schema.Types.ObjectId, ref: "Team", required: false, index: true },
|
|
99
|
+
provider: { type: String, default: "tigris" },
|
|
100
|
+
provider_org_id: { type: String, required: true },
|
|
101
|
+
access_key_id: { type: String, required: true, unique: true },
|
|
102
|
+
policy_names: [{ type: String }],
|
|
103
|
+
role: { type: String, enum: Object.values(StorageCredentialRole), required: true },
|
|
104
|
+
status: { type: String, enum: Object.values(StorageCredentialStatus), default: StorageCredentialStatus.Active, index: true },
|
|
105
|
+
last_rotated_at: { type: Date },
|
|
106
|
+
revoked_at: { type: Date },
|
|
107
|
+
},
|
|
108
|
+
{ timestamps: true },
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
storageCredentialSchema.index({ bucket: 1, status: 1, updatedAt: -1 }, { name: "idx_storage_credential_bucket_status_updated_at" });
|
|
112
|
+
|
|
80
113
|
export const StorageBucket = model<IStorageBucket>("StorageBucket", storageBucketSchema);
|
|
81
114
|
export const StorageObject = model<IStorageObject>("StorageObject", storageObjectSchema);
|
|
82
115
|
export const StorageUpload = model<IStorageUpload>("StorageUpload", storageUploadSchema);
|
|
83
116
|
export const StorageToken = model<IStorageToken>("StorageToken", storageTokenSchema);
|
|
117
|
+
export const StorageCredential = model<IStorageCredential>("StorageCredential", storageCredentialSchema);
|
package/types/index.ts
CHANGED
package/types/storage.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { Document, Types } from "mongoose";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
StorageBucketStatus,
|
|
4
|
+
StorageCredentialRole,
|
|
5
|
+
StorageCredentialStatus,
|
|
6
|
+
StorageTokenStatus,
|
|
7
|
+
StorageUploadStatus,
|
|
8
|
+
} from "../enum";
|
|
3
9
|
|
|
4
10
|
export type StorageTokenPermission = "read" | "write" | "delete" | "list" | "admin";
|
|
5
11
|
|
|
@@ -65,3 +71,21 @@ export interface IStorageToken extends Document {
|
|
|
65
71
|
createdAt: Date;
|
|
66
72
|
updatedAt: Date;
|
|
67
73
|
}
|
|
74
|
+
|
|
75
|
+
export interface IStorageCredential extends Document {
|
|
76
|
+
name: string;
|
|
77
|
+
bucket: Types.ObjectId;
|
|
78
|
+
project?: Types.ObjectId;
|
|
79
|
+
user_id?: Types.ObjectId;
|
|
80
|
+
team?: Types.ObjectId;
|
|
81
|
+
provider: string;
|
|
82
|
+
provider_org_id: string;
|
|
83
|
+
access_key_id: string;
|
|
84
|
+
policy_names: string[];
|
|
85
|
+
role: StorageCredentialRole;
|
|
86
|
+
status: StorageCredentialStatus;
|
|
87
|
+
last_rotated_at?: Date;
|
|
88
|
+
revoked_at?: Date;
|
|
89
|
+
createdAt: Date;
|
|
90
|
+
updatedAt: Date;
|
|
91
|
+
}
|