@builder6/server 0.3.6 → 0.5.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.
Files changed (71) hide show
  1. package/dist/app.config.js +6 -0
  2. package/dist/app.config.js.map +1 -1
  3. package/dist/app.module.js +6 -4
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/b6.server.js +14 -72
  6. package/dist/b6.server.js.map +1 -1
  7. package/dist/files/files.controller.d.ts +3 -0
  8. package/dist/files/files.controller.js +38 -0
  9. package/dist/files/files.controller.js.map +1 -1
  10. package/dist/files/files.module.js +2 -2
  11. package/dist/files/files.module.js.map +1 -1
  12. package/dist/files/files.service.d.ts +1 -1
  13. package/dist/files/files.service.js +3 -3
  14. package/dist/files/files.service.js.map +1 -1
  15. package/dist/index.d.ts +0 -2
  16. package/dist/index.js +0 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/moleculer/moleculer.service.js +6 -1
  19. package/dist/moleculer/moleculer.service.js.map +1 -1
  20. package/dist/plugin/plugin.module.js +6 -1
  21. package/dist/plugin/plugin.module.js.map +1 -1
  22. package/dist/rooms/rooms.controller.js +2 -2
  23. package/dist/rooms/rooms.controller.js.map +1 -1
  24. package/dist/rooms/rooms.module.js +4 -4
  25. package/dist/rooms/rooms.module.js.map +1 -1
  26. package/dist/rooms/rooms.service.d.ts +1 -1
  27. package/dist/rooms/rooms.service.js +2 -2
  28. package/dist/rooms/rooms.service.js.map +1 -1
  29. package/dist/steedos/mongodb.controller.d.ts +1 -1
  30. package/dist/steedos/mongodb.controller.js +3 -4
  31. package/dist/steedos/mongodb.controller.js.map +1 -1
  32. package/dist/steedos/object.service.d.ts +1 -1
  33. package/dist/steedos/object.service.js +2 -2
  34. package/dist/steedos/object.service.js.map +1 -1
  35. package/dist/steedos/steedos.module.js +3 -3
  36. package/dist/steedos/steedos.module.js.map +1 -1
  37. package/dist/tables/meta.service.d.ts +1 -1
  38. package/dist/tables/meta.service.js +2 -2
  39. package/dist/tables/meta.service.js.map +1 -1
  40. package/dist/tables/tables.controller.js +2 -2
  41. package/dist/tables/tables.controller.js.map +1 -1
  42. package/dist/tables/tables.module.js +3 -3
  43. package/dist/tables/tables.module.js.map +1 -1
  44. package/package.json +3 -2
  45. package/dist/auth/admin.guard.d.ts +0 -8
  46. package/dist/auth/admin.guard.js +0 -47
  47. package/dist/auth/admin.guard.js.map +0 -1
  48. package/dist/auth/auth.controller.d.ts +0 -7
  49. package/dist/auth/auth.controller.js +0 -80
  50. package/dist/auth/auth.controller.js.map +0 -1
  51. package/dist/auth/auth.guard.d.ts +0 -7
  52. package/dist/auth/auth.guard.js +0 -41
  53. package/dist/auth/auth.guard.js.map +0 -1
  54. package/dist/auth/auth.module.d.ts +0 -2
  55. package/dist/auth/auth.module.js +0 -34
  56. package/dist/auth/auth.module.js.map +0 -1
  57. package/dist/auth/auth.service.d.ts +0 -22
  58. package/dist/auth/auth.service.js +0 -175
  59. package/dist/auth/auth.service.js.map +0 -1
  60. package/dist/auth/index.d.ts +0 -5
  61. package/dist/auth/index.js +0 -22
  62. package/dist/auth/index.js.map +0 -1
  63. package/dist/mongodb/index.d.ts +0 -2
  64. package/dist/mongodb/index.js +0 -19
  65. package/dist/mongodb/index.js.map +0 -1
  66. package/dist/mongodb/mongodb.module.d.ts +0 -2
  67. package/dist/mongodb/mongodb.module.js +0 -21
  68. package/dist/mongodb/mongodb.module.js.map +0 -1
  69. package/dist/mongodb/mongodb.service.d.ts +0 -17
  70. package/dist/mongodb/mongodb.service.js +0 -113
  71. package/dist/mongodb/mongodb.service.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../src/auth/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,iDAA6C;AAGtC,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEhD,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC;YAGH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AApBY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;qCAEsB,0BAAW;GADjC,SAAS,CAoBrB"}
@@ -1,2 +0,0 @@
1
- export declare class AuthModule {
2
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AuthModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const jwt_1 = require("@nestjs/jwt");
12
- const auth_controller_1 = require("./auth.controller");
13
- const auth_service_1 = require("./auth.service");
14
- const mongodb_module_1 = require("../mongodb/mongodb.module");
15
- const admin_guard_1 = require("./admin.guard");
16
- const auth_guard_1 = require("./auth.guard");
17
- let AuthModule = class AuthModule {
18
- };
19
- exports.AuthModule = AuthModule;
20
- exports.AuthModule = AuthModule = __decorate([
21
- (0, common_1.Module)({
22
- imports: [
23
- mongodb_module_1.MongodbModule,
24
- jwt_1.JwtModule.register({
25
- secret: process.env.JWT_SECRET || 'secret',
26
- signOptions: { expiresIn: '60s' },
27
- }),
28
- ],
29
- controllers: [auth_controller_1.AuthController],
30
- providers: [auth_service_1.AuthService, admin_guard_1.AdminGuard, auth_guard_1.AuthGuard],
31
- exports: [auth_service_1.AuthService, admin_guard_1.AdminGuard, auth_guard_1.AuthGuard],
32
- })
33
- ], AuthModule);
34
- //# sourceMappingURL=auth.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qCAAwC;AACxC,uDAAmD;AACnD,iDAA6C;AAC7C,8DAAyD;AACzD,+CAA2C;AAC3C,6CAAyC;AAclC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAZtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,8BAAa;YACb,eAAS,CAAC,QAAQ,CAAC;gBACjB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ;gBAC1C,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;aAClC,CAAC;SACH;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,wBAAU,EAAE,sBAAS,CAAC;QAC/C,OAAO,EAAE,CAAC,0BAAW,EAAE,wBAAU,EAAE,sBAAS,CAAC;KAC9C,CAAC;GACW,UAAU,CAAG"}
@@ -1,22 +0,0 @@
1
- import { MongodbService } from '@/mongodb/mongodb.service';
2
- import { JwtService } from '@nestjs/jwt';
3
- import { Request } from 'express';
4
- export declare class AuthService {
5
- private mongodbService;
6
- private jwtService;
7
- private masterSpaceId;
8
- constructor(mongodbService: MongodbService, jwtService: JwtService);
9
- signIn(username: string, password: string, spaceId?: string): Promise<any>;
10
- getMasterSpaceId(): Promise<string>;
11
- getSpaceUser(userId: string, spaceId: string): Promise<any>;
12
- getUserByToken(token: string): Promise<any>;
13
- extractTokenFromHeaderOrCookie(request: Request): string | undefined;
14
- hashLoginToken(loginToken: any): string;
15
- generateStampedLoginToken(token: any): {
16
- token: any;
17
- when: Date;
18
- };
19
- hashStampedToken(stampedToken: any): {
20
- hashedToken: string;
21
- };
22
- }
@@ -1,175 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AuthService = void 0;
13
- const bcrypt = require("bcrypt");
14
- const crypto = require("crypto");
15
- const uuid_1 = require("uuid");
16
- const common_1 = require("@nestjs/common");
17
- const mongodb_service_1 = require("../mongodb/mongodb.service");
18
- const jwt_1 = require("@nestjs/jwt");
19
- let AuthService = class AuthService {
20
- constructor(mongodbService, jwtService) {
21
- this.mongodbService = mongodbService;
22
- this.jwtService = jwtService;
23
- }
24
- async signIn(username, password, spaceId) {
25
- if (!spaceId) {
26
- spaceId = await this.getMasterSpaceId();
27
- }
28
- const hash = crypto.createHash('sha256');
29
- hash.update(password);
30
- const bcryptPassword = hash.digest('hex');
31
- const user = (await this.mongodbService.findOne('users', {
32
- $or: [
33
- { username: username },
34
- { 'emails.address': username },
35
- { mobile: username },
36
- ],
37
- }));
38
- if (!user) {
39
- throw new common_1.UnauthorizedException();
40
- }
41
- const match = await bcrypt.compare(bcryptPassword, user.services.password.bcrypt);
42
- if (!match) {
43
- throw new common_1.UnauthorizedException();
44
- }
45
- const space_user = await this.getSpaceUser(user._id, spaceId);
46
- if (!space_user) {
47
- throw new common_1.UnauthorizedException();
48
- }
49
- const payload = {
50
- sub: user._id,
51
- name: space_user.name,
52
- email: space_user.email,
53
- space: spaceId,
54
- profile: space_user.profile,
55
- };
56
- const access_token = this.jwtService.sign(payload);
57
- const authToken = (0, uuid_1.v4)();
58
- const stampedAuthToken = this.generateStampedLoginToken(authToken);
59
- const hashedToken = this.hashStampedToken(stampedAuthToken);
60
- if (!user['services']) {
61
- user['services'] = {};
62
- }
63
- if (!user['services']['resume']) {
64
- user['services']['resume'] = { loginTokens: [] };
65
- }
66
- user['services']['resume']['loginTokens'].push(hashedToken);
67
- const data = { services: user['services'] };
68
- await this.mongodbService.findOneAndUpdate('users', { _id: user._id }, data);
69
- return {
70
- access_token: access_token,
71
- authToken: authToken,
72
- ...space_user,
73
- };
74
- }
75
- async getMasterSpaceId() {
76
- if (this.masterSpaceId) {
77
- return this.masterSpaceId;
78
- }
79
- const space = await this.mongodbService.findOne('spaces', {}, { sort: { created: -1 } });
80
- if (space) {
81
- this.masterSpaceId = space._id;
82
- }
83
- return this.masterSpaceId;
84
- }
85
- async getSpaceUser(userId, spaceId) {
86
- const spaceUser = await this.mongodbService.findOne('space_users', {
87
- user: userId,
88
- space: spaceId,
89
- });
90
- if (spaceUser) {
91
- spaceUser['_id'] = userId;
92
- delete spaceUser['password'];
93
- }
94
- return spaceUser;
95
- }
96
- async getUserByToken(token) {
97
- const tokenArray = token.split(',');
98
- let userId = null;
99
- let spaceId = null;
100
- if (tokenArray.length === 1) {
101
- const payload = this.jwtService.decode(token);
102
- console.log('payload', payload);
103
- const user = (await this.mongodbService.findOne('users', {
104
- _id: payload.sub,
105
- }));
106
- if (user) {
107
- userId = user._id;
108
- spaceId = payload.space;
109
- }
110
- }
111
- else if (tokenArray.length === 2 && tokenArray[0] === 'apikey') {
112
- const apiKeyString = tokenArray[1];
113
- const apiKey = await this.mongodbService.findOne('api_keys', {
114
- api_key: apiKeyString,
115
- active: true,
116
- });
117
- if (apiKey) {
118
- userId = apiKey.owner;
119
- spaceId = apiKey.space;
120
- await this.mongodbService.findOneAndUpdate('api_keys', { _id: apiKey._id }, { last_use_time: new Date() });
121
- }
122
- }
123
- else if (tokenArray.length === 2) {
124
- spaceId = tokenArray[0];
125
- const authToken = tokenArray[1];
126
- const hashedStampedToken = this.hashLoginToken(authToken);
127
- const user = (await this.mongodbService.findOne('users', {
128
- 'services.resume.loginTokens.hashedToken': hashedStampedToken,
129
- }));
130
- if (user)
131
- userId = user._id;
132
- }
133
- if (userId && spaceId) {
134
- const space_user = await this.getSpaceUser(userId, spaceId);
135
- return space_user;
136
- }
137
- throw new common_1.UnauthorizedException();
138
- }
139
- extractTokenFromHeaderOrCookie(request) {
140
- const [type, token] = request.headers.authorization?.split(' ') ?? [];
141
- let spaceToken = type === 'Bearer' ? token : undefined;
142
- if (!spaceToken &&
143
- request.cookies &&
144
- request.cookies['X-Auth-Token'] &&
145
- request.cookies['X-Space-Id']) {
146
- spaceToken = `${request.cookies['X-Space-Id']},${request.cookies['X-Auth-Token']}`;
147
- }
148
- return spaceToken;
149
- }
150
- hashLoginToken(loginToken) {
151
- const hash = crypto.createHash('sha256');
152
- hash.update(loginToken);
153
- return hash.digest('base64');
154
- }
155
- generateStampedLoginToken(token) {
156
- return {
157
- token: token,
158
- when: new Date(),
159
- };
160
- }
161
- hashStampedToken(stampedToken) {
162
- const hashedStampedToken = Object.keys(stampedToken).reduce((prev, key) => key === 'token' ? prev : { ...prev, [key]: stampedToken[key] }, {});
163
- return {
164
- ...hashedStampedToken,
165
- hashedToken: this.hashLoginToken(stampedToken.token),
166
- };
167
- }
168
- };
169
- exports.AuthService = AuthService;
170
- exports.AuthService = AuthService = __decorate([
171
- (0, common_1.Injectable)(),
172
- __metadata("design:paramtypes", [mongodb_service_1.MongodbService,
173
- jwt_1.JwtService])
174
- ], AuthService);
175
- //# sourceMappingURL=auth.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from './admin.guard';
2
- export * from './auth.controller';
3
- export * from './auth.guard';
4
- export * from './auth.module';
5
- export * from './auth.service';
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./admin.guard"), exports);
18
- __exportStar(require("./auth.controller"), exports);
19
- __exportStar(require("./auth.guard"), exports);
20
- __exportStar(require("./auth.module"), exports);
21
- __exportStar(require("./auth.service"), exports);
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,oDAAkC;AAClC,+CAA6B;AAC7B,gDAA8B;AAC9B,iDAA+B"}
@@ -1,2 +0,0 @@
1
- export * from './mongodb.module';
2
- export * from './mongodb.service';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./mongodb.module"), exports);
18
- __exportStar(require("./mongodb.service"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mongodb/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC"}
@@ -1,2 +0,0 @@
1
- export declare class MongodbModule {
2
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MongodbModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const mongodb_service_1 = require("./mongodb.service");
12
- let MongodbModule = class MongodbModule {
13
- };
14
- exports.MongodbModule = MongodbModule;
15
- exports.MongodbModule = MongodbModule = __decorate([
16
- (0, common_1.Module)({
17
- providers: [mongodb_service_1.MongodbService],
18
- exports: [mongodb_service_1.MongodbService],
19
- })
20
- ], MongodbModule);
21
- //# sourceMappingURL=mongodb.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongodb.module.js","sourceRoot":"","sources":["../../src/mongodb/mongodb.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AAM5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAJzB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
@@ -1,17 +0,0 @@
1
- import 'regenerator-runtime/runtime';
2
- import { ConfigService } from '@nestjs/config';
3
- export declare class MongodbService {
4
- private configService;
5
- private readonly logger;
6
- private db;
7
- private client;
8
- constructor(configService: ConfigService);
9
- insertOne(collectionName: string, data: any): Promise<any>;
10
- find(collectionName: string, query: object, options?: object): Promise<any>;
11
- findOne(collectionName: string, query: object, options?: object): Promise<any>;
12
- objectqlFind(collectionName: string, queryOptions: any, processingOptions?: any): Promise<any>;
13
- objectqlFindOne(collectionName: string, options: any): Promise<any>;
14
- findOneAndUpdate(collectionName: string, query: object, data: any): Promise<any>;
15
- deleteOne(collectionName: string, query: object): Promise<any>;
16
- deleteMany(collectionName: string, query: object): Promise<any>;
17
- }
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var MongodbService_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.MongodbService = void 0;
14
- require("regenerator-runtime/runtime");
15
- const common_1 = require("@nestjs/common");
16
- const mongodb_1 = require("mongodb");
17
- const uuid_1 = require("uuid");
18
- const devextremeQuery = require("devextreme-query-mongodb");
19
- const config_1 = require("@nestjs/config");
20
- let MongodbService = MongodbService_1 = class MongodbService {
21
- constructor(configService) {
22
- this.configService = configService;
23
- this.logger = new common_1.Logger(MongodbService_1.name);
24
- const mongoUrl = configService.get('mongo.url');
25
- this.client = new mongodb_1.MongoClient(mongoUrl, {});
26
- this.client
27
- .connect()
28
- .then(() => {
29
- this.db = this.client.db();
30
- this.logger.log('Connected to Steedos MongoDB');
31
- })
32
- .catch((err) => {
33
- this.logger.error('Error connecting to Steedos MongoDB', err);
34
- });
35
- }
36
- async insertOne(collectionName, data) {
37
- const collection = this.db.collection(collectionName);
38
- const entry = { _id: (0, uuid_1.v4)(), ...data };
39
- await collection.insertOne(entry);
40
- return entry;
41
- }
42
- async find(collectionName, query, options = {}) {
43
- const collection = this.db.collection(collectionName);
44
- return await collection.find(query, options).toArray();
45
- }
46
- async findOne(collectionName, query, options = {}) {
47
- const collection = this.db.collection(collectionName);
48
- if (typeof query === 'string') {
49
- return await collection.findOne({ _id: query }, options);
50
- }
51
- return await collection.findOne(query, options);
52
- }
53
- async objectqlFind(collectionName, queryOptions, processingOptions = { replaceIds: false }) {
54
- const { top, skip, filters, sort, fields, ...restOptions } = queryOptions;
55
- const loadOptions = {
56
- take: top,
57
- skip,
58
- requireTotalCount: true,
59
- ...restOptions,
60
- };
61
- if (filters) {
62
- loadOptions.filter = filters;
63
- }
64
- if (sort) {
65
- const sortFields = sort.split(',');
66
- loadOptions.sort = sortFields.map((sortField) => {
67
- const [field, dir] = sortField.split(' ');
68
- return { selector: field, desc: dir === 'desc' };
69
- });
70
- }
71
- if (fields) {
72
- if (typeof fields === 'object') {
73
- loadOptions.select = fields;
74
- }
75
- else if (typeof fields === 'string') {
76
- loadOptions.select = fields.split(',');
77
- }
78
- }
79
- const collection = this.db.collection(collectionName);
80
- return devextremeQuery(collection, loadOptions, processingOptions);
81
- }
82
- async objectqlFindOne(collectionName, options) {
83
- const { filters, fields } = options;
84
- const result = (await this.objectqlFind(collectionName, {
85
- filters,
86
- fields,
87
- }));
88
- if (result.data && result.data.length > 0) {
89
- return result.data[0];
90
- }
91
- }
92
- async findOneAndUpdate(collectionName, query, data) {
93
- const collection = this.db.collection(collectionName);
94
- const result = await collection.findOneAndUpdate(query, { $set: data }, { returnDocument: 'after' });
95
- return result.value;
96
- }
97
- async deleteOne(collectionName, query) {
98
- const collection = this.db.collection(collectionName);
99
- const result = await collection.deleteOne(query);
100
- return result;
101
- }
102
- async deleteMany(collectionName, query) {
103
- const collection = this.db.collection(collectionName);
104
- const result = await collection.deleteOne(query);
105
- return result;
106
- }
107
- };
108
- exports.MongodbService = MongodbService;
109
- exports.MongodbService = MongodbService = MongodbService_1 = __decorate([
110
- (0, common_1.Injectable)(),
111
- __metadata("design:paramtypes", [config_1.ConfigService])
112
- ], MongodbService);
113
- //# sourceMappingURL=mongodb.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongodb.service.js","sourceRoot":"","sources":["../../src/mongodb/mongodb.service.ts"],"names":[],"mappings":"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"}