streamby-core 0.18.0 → 0.19.0
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/README.md +206 -114
- package/dist/adapters/database/connectionManager.d.ts +6 -0
- package/dist/adapters/database/connectionManager.js +47 -0
- package/dist/adapters/database/nosql.d.ts +8 -0
- package/dist/adapters/database/nosql.js +46 -0
- package/dist/adapters/database/nosqlAdapter.d.ts +8 -0
- package/dist/adapters/database/nosqlAdapter.js +30 -0
- package/dist/adapters/database/sql.d.ts +8 -0
- package/dist/adapters/database/sql.js +42 -0
- package/dist/adapters/database/sqlAdapter.d.ts +8 -0
- package/dist/adapters/database/sqlAdapter.js +42 -0
- package/dist/adapters/s3.d.ts +11 -2
- package/dist/adapters/s3.js +59 -76
- package/dist/adapters/storage/gcs.d.ts +0 -0
- package/dist/adapters/storage/gcs.js +1 -0
- package/dist/adapters/storage/local.d.ts +0 -0
- package/dist/adapters/storage/local.js +1 -0
- package/dist/adapters/storage/s3.d.ts +11 -0
- package/dist/adapters/storage/s3.js +65 -0
- package/dist/database/Model.d.ts +11 -0
- package/dist/database/Model.js +95 -0
- package/dist/database/connectionManager.d.ts +5 -0
- package/dist/database/connectionManager.js +32 -0
- package/dist/database/index.d.ts +3 -0
- package/dist/database/index.js +19 -0
- package/dist/database/model.d.ts +20 -0
- package/dist/database/model.js +2 -0
- package/dist/database/modelManager.d.ts +8 -0
- package/dist/database/modelManager.js +38 -0
- package/dist/database/modelRegistry.d.ts +3 -0
- package/dist/database/modelRegistry.js +17 -0
- package/dist/database/mongoAdapter.d.ts +11 -0
- package/dist/database/mongoAdapter.js +42 -0
- package/dist/database/sqlAdapter.d.ts +12 -0
- package/dist/database/sqlAdapter.js +68 -0
- package/dist/middleware/createRouter.js +75 -160
- package/dist/models/Model.d.ts +12 -0
- package/dist/models/Model.js +146 -0
- package/dist/models/manager.d.ts +2 -0
- package/dist/models/manager.js +7 -0
- package/dist/models/modelManager.d.ts +2 -0
- package/dist/models/modelManager.js +7 -0
- package/dist/models/modelRegistry.d.ts +3 -0
- package/dist/models/modelRegistry.js +17 -0
- package/dist/models/register.d.ts +1 -0
- package/dist/models/register.js +8 -0
- package/dist/models/registerModel.d.ts +1 -0
- package/dist/models/registerModel.js +8 -0
- package/dist/models/registry.d.ts +3 -0
- package/dist/models/registry.js +17 -0
- package/dist/providers/createStorageProvider.d.ts +1 -1
- package/dist/providers/createStorageProvider.js +9 -13
- package/dist/providers/storage.d.ts +2 -0
- package/dist/providers/storage.js +12 -0
- package/dist/services/auth.d.ts +0 -1
- package/dist/services/auth.js +0 -11
- package/dist/types/index.d.ts +4 -95
- package/package.json +5 -1
- package/dist/config.d.ts +0 -18
- package/dist/config.js +0 -26
- package/dist/db/initExportModel.d.ts +0 -60
- package/dist/db/initExportModel.js +0 -18
- package/dist/db/initProjectModel.d.ts +0 -2502
- package/dist/db/initProjectModel.js +0 -33
- package/dist/db/initUserModel.d.ts +0 -48
- package/dist/db/initUserModel.js +0 -19
- package/dist/models/ExportCollection.d.ts +0 -54
- package/dist/models/ExportCollection.js +0 -19
- package/dist/mongoose_models/initExportModel.d.ts +0 -61
- package/dist/mongoose_models/initExportModel.js +0 -19
- package/dist/mongoose_models/initProjectModel.d.ts +0 -2503
- package/dist/mongoose_models/initProjectModel.js +0 -34
- package/dist/providers/createDatabaseProvider.d.ts +0 -2
- package/dist/providers/createDatabaseProvider.js +0 -36
- package/dist/providers/createMongooseProvider.d.ts +0 -8
- package/dist/providers/createMongooseProvider.js +0 -33
- package/dist/providers/createPrismaProvider.d.ts +0 -14
- package/dist/providers/createPrismaProvider.js +0 -29
- package/dist/providers/mongoExportProvider.d.ts +0 -3
- package/dist/providers/mongoExportProvider.js +0 -13
- package/dist/providers/mongoProjectProvider.d.ts +0 -3
- package/dist/providers/mongoProjectProvider.js +0 -107
- package/dist/providers/mongooseExportProvider.d.ts +0 -3
- package/dist/providers/mongooseExportProvider.js +0 -13
- package/dist/providers/mongooseProjectProvider.d.ts +0 -3
- package/dist/providers/mongooseProjectProvider.js +0 -120
- package/dist/providers/prismaExportCollectionProvider.d.ts +0 -61
- package/dist/providers/prismaExportCollectionProvider.js +0 -45
- package/dist/providers/prismaExportProvider.d.ts +0 -3
- package/dist/providers/prismaExportProvider.js +0 -13
- package/dist/providers/prismaProjectProvider.d.ts +0 -3
- package/dist/providers/prismaProjectProvider.js +0 -157
- package/dist/utils/pushPrismaSchema.d.ts +0 -5
- package/dist/utils/pushPrismaSchema.js +0 -35
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createStorageProvider =
|
|
4
|
-
const s3_1 = require("../adapters/s3");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
switch (selected.type) {
|
|
10
|
-
case 's3':
|
|
11
|
-
return (0, s3_1.createS3Adapter)(selected.config);
|
|
12
|
-
// futuro: case 'gcs': return createGCSAdapter(selected.config);
|
|
13
|
-
default:
|
|
14
|
-
throw new Error(`Unsupported storage type: ${selected.type}`);
|
|
3
|
+
exports.createStorageProvider = void 0;
|
|
4
|
+
const s3_1 = require("../adapters/storage/s3");
|
|
5
|
+
const createStorageProvider = (providers) => {
|
|
6
|
+
const s3Provider = providers.find(p => p.type === 's3');
|
|
7
|
+
if (s3Provider) {
|
|
8
|
+
return new s3_1.S3Adapter(s3Provider.config);
|
|
15
9
|
}
|
|
16
|
-
|
|
10
|
+
throw new Error('No storage provider configured.');
|
|
11
|
+
};
|
|
12
|
+
exports.createStorageProvider = createStorageProvider;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStorageProvider = void 0;
|
|
4
|
+
const s3_1 = require("../adapters/storage/s3");
|
|
5
|
+
const createStorageProvider = (providers) => {
|
|
6
|
+
const s3Provider = providers.find(p => p.type === 's3');
|
|
7
|
+
if (s3Provider) {
|
|
8
|
+
return new s3_1.S3Adapter(s3Provider.config);
|
|
9
|
+
}
|
|
10
|
+
throw new Error('No storage provider configured.');
|
|
11
|
+
};
|
|
12
|
+
exports.createStorageProvider = createStorageProvider;
|
package/dist/services/auth.d.ts
CHANGED
|
@@ -2,4 +2,3 @@ import { Request } from 'express';
|
|
|
2
2
|
import { StreamByConfig, AuthContext } from '../types';
|
|
3
3
|
export declare function resolveAuth(config: StreamByConfig, req: Request): Promise<AuthContext>;
|
|
4
4
|
export declare function checkRole(auth: AuthContext, required: 'viewer' | 'editor' | 'admin'): void;
|
|
5
|
-
export declare function dummyAuthProvider(req: Request): Promise<AuthContext>;
|
package/dist/services/auth.js
CHANGED
|
@@ -2,13 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveAuth = resolveAuth;
|
|
4
4
|
exports.checkRole = checkRole;
|
|
5
|
-
exports.dummyAuthProvider = dummyAuthProvider;
|
|
6
5
|
async function resolveAuth(config, req) {
|
|
7
6
|
const auth = await config.authProvider(req);
|
|
8
7
|
if (!auth ||
|
|
9
8
|
!auth.userId ||
|
|
10
|
-
!Array.isArray(auth.projects) ||
|
|
11
|
-
auth.projects.length === 0 ||
|
|
12
9
|
!auth.role) {
|
|
13
10
|
throw new Error('Invalid or missing authentication context');
|
|
14
11
|
}
|
|
@@ -22,11 +19,3 @@ function checkRole(auth, required) {
|
|
|
22
19
|
throw new Error(`Insufficient role: requires ${required}, found ${auth.role}`);
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
async function dummyAuthProvider(req) {
|
|
26
|
-
return {
|
|
27
|
-
userId: 'c52c30eb-9d7c-4727-90e6-e0e88d6a5ffd',
|
|
28
|
-
username: 'dev-user',
|
|
29
|
-
projects: [],
|
|
30
|
-
role: 'admin'
|
|
31
|
-
};
|
|
32
|
-
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Request } from 'express';
|
|
2
|
-
import mongoose from 'mongoose';
|
|
3
2
|
export interface S3Config {
|
|
4
3
|
bucket: string;
|
|
5
4
|
region: string;
|
|
@@ -7,12 +6,6 @@ export interface S3Config {
|
|
|
7
6
|
secretAccessKey: string;
|
|
8
7
|
}
|
|
9
8
|
export type StorageProviderType = 's3';
|
|
10
|
-
export interface S3Config {
|
|
11
|
-
bucket: string;
|
|
12
|
-
region: string;
|
|
13
|
-
accessKeyId: string;
|
|
14
|
-
secretAccessKey: string;
|
|
15
|
-
}
|
|
16
9
|
export type StorageProvider = {
|
|
17
10
|
type: StorageProviderType;
|
|
18
11
|
config: S3Config;
|
|
@@ -25,6 +18,7 @@ export interface StorageAdapter {
|
|
|
25
18
|
getPresignedProjectImageUrl?: (projectId: string) => Promise<any>;
|
|
26
19
|
}
|
|
27
20
|
export interface ProjectInfo {
|
|
21
|
+
_id?: string;
|
|
28
22
|
id: string;
|
|
29
23
|
dbType: DatabaseType;
|
|
30
24
|
name: string;
|
|
@@ -35,7 +29,6 @@ export interface ProjectInfo {
|
|
|
35
29
|
archived?: boolean;
|
|
36
30
|
}[];
|
|
37
31
|
description?: string;
|
|
38
|
-
folders?: FolderNode[];
|
|
39
32
|
exports?: {
|
|
40
33
|
id: string;
|
|
41
34
|
collectionName: string;
|
|
@@ -52,14 +45,10 @@ export interface ProjectListInfo {
|
|
|
52
45
|
image?: string;
|
|
53
46
|
archived: boolean;
|
|
54
47
|
}
|
|
55
|
-
export interface FolderNode {
|
|
56
|
-
id: string;
|
|
57
|
-
name: string;
|
|
58
|
-
children?: FolderNode[];
|
|
59
|
-
}
|
|
60
48
|
export type DatabaseType = 'sql' | 'nosql';
|
|
61
49
|
export interface DatabaseCredential {
|
|
62
|
-
|
|
50
|
+
id: string;
|
|
51
|
+
type: DatabaseType;
|
|
63
52
|
connectionString?: string;
|
|
64
53
|
}
|
|
65
54
|
export interface StreamByConfig {
|
|
@@ -69,99 +58,19 @@ export interface StreamByConfig {
|
|
|
69
58
|
}[];
|
|
70
59
|
authProvider: AuthProvider;
|
|
71
60
|
databases?: DatabaseCredential[];
|
|
72
|
-
exportProvider?: ExportProvider;
|
|
73
|
-
projectProvider?: ProjectProvider;
|
|
74
|
-
exportCollectionProvider?: ExportCollectionProvider;
|
|
75
61
|
adapter?: StorageAdapter;
|
|
76
62
|
}
|
|
77
63
|
export interface AuthContext {
|
|
78
64
|
userId: string;
|
|
79
65
|
username: string;
|
|
80
|
-
projects: string[];
|
|
81
66
|
role: 'viewer' | 'editor' | 'admin';
|
|
82
67
|
}
|
|
83
68
|
export type AuthProvider = (req: Request) => Promise<AuthContext>;
|
|
84
69
|
export interface Export {
|
|
70
|
+
_id?: string;
|
|
85
71
|
id: string;
|
|
86
72
|
collectionName: string;
|
|
87
73
|
projectId: string;
|
|
88
74
|
createdAt: Date;
|
|
89
75
|
updatedAt: Date;
|
|
90
76
|
}
|
|
91
|
-
export interface ExportProvider {
|
|
92
|
-
getById(exportId: string): Promise<Export | null>;
|
|
93
|
-
create(data: {
|
|
94
|
-
name: string;
|
|
95
|
-
description?: string;
|
|
96
|
-
collectionName: string;
|
|
97
|
-
projectId: string;
|
|
98
|
-
}): Promise<Export>;
|
|
99
|
-
}
|
|
100
|
-
export interface ProjectProvider {
|
|
101
|
-
getExport(projectId: string, exportId: string): Promise<any | null>;
|
|
102
|
-
archive(projectId: string, userId: string): Promise<{
|
|
103
|
-
success: boolean;
|
|
104
|
-
projects: ProjectListInfo[];
|
|
105
|
-
}>;
|
|
106
|
-
unarchive(projectId: string, userId: string): Promise<{
|
|
107
|
-
success: boolean;
|
|
108
|
-
projects: ProjectListInfo[];
|
|
109
|
-
}>;
|
|
110
|
-
list(userId?: string, archived?: boolean): Promise<ProjectListInfo[]>;
|
|
111
|
-
getById(projectId: string, populateMembers?: boolean): Promise<ProjectInfo | null>;
|
|
112
|
-
delete(projectId: string): Promise<{
|
|
113
|
-
success: boolean;
|
|
114
|
-
}>;
|
|
115
|
-
update(projectId: string, updates: Partial<Omit<ProjectInfo, 'id' | 'folders'>>): Promise<ProjectInfo>;
|
|
116
|
-
create(data: {
|
|
117
|
-
dbType: DatabaseType;
|
|
118
|
-
name: string;
|
|
119
|
-
image?: string;
|
|
120
|
-
members?: {
|
|
121
|
-
userId: string;
|
|
122
|
-
role: 'viewer' | 'editor' | 'admin';
|
|
123
|
-
}[];
|
|
124
|
-
description?: string;
|
|
125
|
-
allowUpload?: boolean;
|
|
126
|
-
allowSharing?: boolean;
|
|
127
|
-
folders?: FolderNode[];
|
|
128
|
-
}): Promise<ProjectInfo>;
|
|
129
|
-
addExportToProject(projectId: string, exportId: string): Promise<void>;
|
|
130
|
-
}
|
|
131
|
-
export interface ExportEntry {
|
|
132
|
-
id: string;
|
|
133
|
-
key: string;
|
|
134
|
-
value: string;
|
|
135
|
-
exportCollectionId: string;
|
|
136
|
-
}
|
|
137
|
-
export interface ExportCollectionProvider {
|
|
138
|
-
getById(id: string): Promise<any | null>;
|
|
139
|
-
create(data: {
|
|
140
|
-
projectId: string;
|
|
141
|
-
name: string;
|
|
142
|
-
entries: Array<{
|
|
143
|
-
key: string;
|
|
144
|
-
value: string;
|
|
145
|
-
}>;
|
|
146
|
-
}): Promise<any>;
|
|
147
|
-
update(id: string, data: {
|
|
148
|
-
name?: string;
|
|
149
|
-
entries?: Array<{
|
|
150
|
-
key: string;
|
|
151
|
-
value: string;
|
|
152
|
-
}>;
|
|
153
|
-
}): Promise<any>;
|
|
154
|
-
delete(id: string): Promise<{
|
|
155
|
-
success: boolean;
|
|
156
|
-
}>;
|
|
157
|
-
}
|
|
158
|
-
export interface DatabaseProviders {
|
|
159
|
-
exportProvider?: ExportProvider;
|
|
160
|
-
projectProviders: {
|
|
161
|
-
nosql?: ProjectProvider;
|
|
162
|
-
sql?: ProjectProvider;
|
|
163
|
-
};
|
|
164
|
-
exportCollectionProvider?: ExportCollectionProvider;
|
|
165
|
-
mongooseClient?: mongoose.Connection;
|
|
166
|
-
prismaClient?: any;
|
|
167
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "streamby-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "StreamBy middleware framework for media storage management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -35,14 +35,18 @@
|
|
|
35
35
|
"bcrypt": "^5.1.1",
|
|
36
36
|
"dotenv": "^16.5.0",
|
|
37
37
|
"express": "^4.0.0",
|
|
38
|
+
"mongodb": "^6.17.0",
|
|
38
39
|
"mongoose": "^8.13.2",
|
|
40
|
+
"pg": "^8.16.3",
|
|
39
41
|
"prisma": "^6.12.0"
|
|
40
42
|
},
|
|
41
43
|
"devDependencies": {
|
|
42
44
|
"@types/bcrypt": "^5.0.2",
|
|
43
45
|
"@types/cors": "^2.8.18",
|
|
44
46
|
"@types/express": "^4.17.17",
|
|
47
|
+
"@types/mongodb": "^4.0.7",
|
|
45
48
|
"@types/node": "^22.15.21",
|
|
49
|
+
"@types/pg": "^8.15.4",
|
|
46
50
|
"@types/supertest": "^6.0.3",
|
|
47
51
|
"cors": "^2.8.5",
|
|
48
52
|
"supertest": "^7.1.0",
|
package/dist/config.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare const config: {
|
|
2
|
-
s3: {
|
|
3
|
-
accessKeyId: string;
|
|
4
|
-
secretAccessKey: string;
|
|
5
|
-
region: string;
|
|
6
|
-
bucketName: string;
|
|
7
|
-
};
|
|
8
|
-
gcs: {
|
|
9
|
-
projectId: string;
|
|
10
|
-
keyFilename: string;
|
|
11
|
-
bucketName: string;
|
|
12
|
-
};
|
|
13
|
-
local: {
|
|
14
|
-
storagePath: string;
|
|
15
|
-
};
|
|
16
|
-
mongooseString: string;
|
|
17
|
-
prismaString: string;
|
|
18
|
-
};
|
package/dist/config.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.config = void 0;
|
|
7
|
-
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
-
dotenv_1.default.config();
|
|
9
|
-
exports.config = {
|
|
10
|
-
s3: {
|
|
11
|
-
accessKeyId: process.env.AWS_ACCESS_KEY_ID || '',
|
|
12
|
-
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY || '',
|
|
13
|
-
region: process.env.AWS_REGION || 'us-east-1',
|
|
14
|
-
bucketName: process.env.AWS_BUCKET_NAME || 'streamby-dev',
|
|
15
|
-
},
|
|
16
|
-
gcs: {
|
|
17
|
-
projectId: process.env.GCS_PROJECT_ID || '',
|
|
18
|
-
keyFilename: process.env.GCS_KEY_FILENAME || '',
|
|
19
|
-
bucketName: process.env.GCS_BUCKET_NAME || 'streamby-dev',
|
|
20
|
-
},
|
|
21
|
-
local: {
|
|
22
|
-
storagePath: process.env.LOCAL_STORAGE_PATH || './uploads',
|
|
23
|
-
},
|
|
24
|
-
mongooseString: process.env.MONGOOSE_STRING || '',
|
|
25
|
-
prismaString: process.env.PRISMA_STRING || '',
|
|
26
|
-
};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import mongoose from 'mongoose';
|
|
2
|
-
export declare function initExportModel(connection: mongoose.Connection): mongoose.Model<{
|
|
3
|
-
createdAt: NativeDate;
|
|
4
|
-
updatedAt: NativeDate;
|
|
5
|
-
} & {
|
|
6
|
-
name: string;
|
|
7
|
-
collectionName: string;
|
|
8
|
-
projectId: mongoose.Types.ObjectId;
|
|
9
|
-
description?: string | null | undefined;
|
|
10
|
-
}, {}, {}, {}, mongoose.Document<unknown, {}, {
|
|
11
|
-
createdAt: NativeDate;
|
|
12
|
-
updatedAt: NativeDate;
|
|
13
|
-
} & {
|
|
14
|
-
name: string;
|
|
15
|
-
collectionName: string;
|
|
16
|
-
projectId: mongoose.Types.ObjectId;
|
|
17
|
-
description?: string | null | undefined;
|
|
18
|
-
}, {}> & {
|
|
19
|
-
createdAt: NativeDate;
|
|
20
|
-
updatedAt: NativeDate;
|
|
21
|
-
} & {
|
|
22
|
-
name: string;
|
|
23
|
-
collectionName: string;
|
|
24
|
-
projectId: mongoose.Types.ObjectId;
|
|
25
|
-
description?: string | null | undefined;
|
|
26
|
-
} & {
|
|
27
|
-
_id: mongoose.Types.ObjectId;
|
|
28
|
-
} & {
|
|
29
|
-
__v: number;
|
|
30
|
-
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
31
|
-
timestamps: true;
|
|
32
|
-
}, {
|
|
33
|
-
createdAt: NativeDate;
|
|
34
|
-
updatedAt: NativeDate;
|
|
35
|
-
} & {
|
|
36
|
-
name: string;
|
|
37
|
-
collectionName: string;
|
|
38
|
-
projectId: mongoose.Types.ObjectId;
|
|
39
|
-
description?: string | null | undefined;
|
|
40
|
-
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
41
|
-
createdAt: NativeDate;
|
|
42
|
-
updatedAt: NativeDate;
|
|
43
|
-
} & {
|
|
44
|
-
name: string;
|
|
45
|
-
collectionName: string;
|
|
46
|
-
projectId: mongoose.Types.ObjectId;
|
|
47
|
-
description?: string | null | undefined;
|
|
48
|
-
}>, {}> & mongoose.FlatRecord<{
|
|
49
|
-
createdAt: NativeDate;
|
|
50
|
-
updatedAt: NativeDate;
|
|
51
|
-
} & {
|
|
52
|
-
name: string;
|
|
53
|
-
collectionName: string;
|
|
54
|
-
projectId: mongoose.Types.ObjectId;
|
|
55
|
-
description?: string | null | undefined;
|
|
56
|
-
}> & {
|
|
57
|
-
_id: mongoose.Types.ObjectId;
|
|
58
|
-
} & {
|
|
59
|
-
__v: number;
|
|
60
|
-
}>>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.initExportModel = initExportModel;
|
|
7
|
-
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
-
function initExportModel(connection) {
|
|
9
|
-
const exportSchema = new mongoose_1.default.Schema({
|
|
10
|
-
name: { type: String, required: true },
|
|
11
|
-
description: { type: String },
|
|
12
|
-
collectionName: { type: String, required: true },
|
|
13
|
-
projectId: { type: mongoose_1.default.Schema.Types.ObjectId, ref: 'Project', required: true },
|
|
14
|
-
}, {
|
|
15
|
-
timestamps: true
|
|
16
|
-
});
|
|
17
|
-
return connection.model('Export', exportSchema);
|
|
18
|
-
}
|