@builder6/server 0.2.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 (185) hide show
  1. package/dist/app.controller.d.ts +3 -0
  2. package/dist/app.controller.js +29 -0
  3. package/dist/app.controller.js.map +1 -0
  4. package/dist/app.express.d.ts +2 -0
  5. package/dist/app.express.js +45 -0
  6. package/dist/app.express.js.map +1 -0
  7. package/dist/app.module.d.ts +2 -0
  8. package/dist/app.module.js +48 -0
  9. package/dist/app.module.js.map +1 -0
  10. package/dist/auth/admin.guard.d.ts +8 -0
  11. package/dist/auth/admin.guard.js +47 -0
  12. package/dist/auth/admin.guard.js.map +1 -0
  13. package/dist/auth/auth.controller.d.ts +7 -0
  14. package/dist/auth/auth.controller.js +80 -0
  15. package/dist/auth/auth.controller.js.map +1 -0
  16. package/dist/auth/auth.guard.d.ts +7 -0
  17. package/dist/auth/auth.guard.js +41 -0
  18. package/dist/auth/auth.guard.js.map +1 -0
  19. package/dist/auth/auth.module.d.ts +2 -0
  20. package/dist/auth/auth.module.js +34 -0
  21. package/dist/auth/auth.module.js.map +1 -0
  22. package/dist/auth/auth.service.d.ts +22 -0
  23. package/dist/auth/auth.service.js +172 -0
  24. package/dist/auth/auth.service.js.map +1 -0
  25. package/dist/auth/index.d.ts +5 -0
  26. package/dist/auth/index.js +22 -0
  27. package/dist/auth/index.js.map +1 -0
  28. package/dist/b6.config.d.ts +0 -0
  29. package/dist/b6.config.js +6 -0
  30. package/dist/b6.config.js.map +1 -0
  31. package/dist/b6.server.d.ts +2 -0
  32. package/dist/b6.server.js +276 -0
  33. package/dist/b6.server.js.map +1 -0
  34. package/dist/files/files.controller.d.ts +8 -0
  35. package/dist/files/files.controller.js +110 -0
  36. package/dist/files/files.controller.js.map +1 -0
  37. package/dist/files/files.module.d.ts +2 -0
  38. package/dist/files/files.module.js +25 -0
  39. package/dist/files/files.module.js.map +1 -0
  40. package/dist/files/files.service.d.ts +30 -0
  41. package/dist/files/files.service.js +206 -0
  42. package/dist/files/files.service.js.map +1 -0
  43. package/dist/files/index.d.ts +3 -0
  44. package/dist/files/index.js +20 -0
  45. package/dist/files/index.js.map +1 -0
  46. package/dist/index.d.ts +5 -0
  47. package/dist/index.js +28 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/main.d.ts +1 -0
  50. package/dist/main.js +10 -0
  51. package/dist/main.js.map +1 -0
  52. package/dist/microsoft365/microsoft365.controller.d.ts +8 -0
  53. package/dist/microsoft365/microsoft365.controller.js +83 -0
  54. package/dist/microsoft365/microsoft365.controller.js.map +1 -0
  55. package/dist/microsoft365/microsoft365.module.d.ts +2 -0
  56. package/dist/microsoft365/microsoft365.module.js +22 -0
  57. package/dist/microsoft365/microsoft365.module.js.map +1 -0
  58. package/dist/microsoft365/microsoft365.service.d.ts +3 -0
  59. package/dist/microsoft365/microsoft365.service.js +32 -0
  60. package/dist/microsoft365/microsoft365.service.js.map +1 -0
  61. package/dist/moleculer/env.config.d.ts +2 -0
  62. package/dist/moleculer/env.config.js +38 -0
  63. package/dist/moleculer/env.config.js.map +1 -0
  64. package/dist/moleculer/moleculer.config.d.ts +2 -0
  65. package/dist/moleculer/moleculer.config.js +78 -0
  66. package/dist/moleculer/moleculer.config.js.map +1 -0
  67. package/dist/moleculer/moleculer.module.d.ts +2 -0
  68. package/dist/moleculer/moleculer.module.js +20 -0
  69. package/dist/moleculer/moleculer.module.js.map +1 -0
  70. package/dist/moleculer/moleculer.service.d.ts +11 -0
  71. package/dist/moleculer/moleculer.service.js +95 -0
  72. package/dist/moleculer/moleculer.service.js.map +1 -0
  73. package/dist/mongodb/index.d.ts +2 -0
  74. package/dist/mongodb/index.js +19 -0
  75. package/dist/mongodb/index.js.map +1 -0
  76. package/dist/mongodb/mongodb.module.d.ts +2 -0
  77. package/dist/mongodb/mongodb.module.js +21 -0
  78. package/dist/mongodb/mongodb.module.js.map +1 -0
  79. package/dist/mongodb/mongodb.service.d.ts +17 -0
  80. package/dist/mongodb/mongodb.service.js +113 -0
  81. package/dist/mongodb/mongodb.service.js.map +1 -0
  82. package/dist/oidc/oidc.controller.d.ts +7 -0
  83. package/dist/oidc/oidc.controller.js +93 -0
  84. package/dist/oidc/oidc.controller.js.map +1 -0
  85. package/dist/oidc/oidc.module.d.ts +2 -0
  86. package/dist/oidc/oidc.module.js +22 -0
  87. package/dist/oidc/oidc.module.js.map +1 -0
  88. package/dist/oidc/oidc.service.d.ts +15 -0
  89. package/dist/oidc/oidc.service.js +38 -0
  90. package/dist/oidc/oidc.service.js.map +1 -0
  91. package/dist/rooms/globals/augmentation.d.ts +25 -0
  92. package/dist/rooms/globals/augmentation.js +3 -0
  93. package/dist/rooms/globals/augmentation.js.map +1 -0
  94. package/dist/rooms/lib/DateToString.d.ts +3 -0
  95. package/dist/rooms/lib/DateToString.js +3 -0
  96. package/dist/rooms/lib/DateToString.js.map +1 -0
  97. package/dist/rooms/lib/Json.d.ts +9 -0
  98. package/dist/rooms/lib/Json.js +18 -0
  99. package/dist/rooms/lib/Json.js.map +1 -0
  100. package/dist/rooms/lib/utils.d.ts +33 -0
  101. package/dist/rooms/lib/utils.js +122 -0
  102. package/dist/rooms/lib/utils.js.map +1 -0
  103. package/dist/rooms/protocol/AuthToken.d.ts +50 -0
  104. package/dist/rooms/protocol/AuthToken.js +49 -0
  105. package/dist/rooms/protocol/AuthToken.js.map +1 -0
  106. package/dist/rooms/protocol/Authentication.d.ts +22 -0
  107. package/dist/rooms/protocol/Authentication.js +3 -0
  108. package/dist/rooms/protocol/Authentication.js.map +1 -0
  109. package/dist/rooms/protocol/BaseActivitiesData.d.ts +4 -0
  110. package/dist/rooms/protocol/BaseActivitiesData.js +3 -0
  111. package/dist/rooms/protocol/BaseActivitiesData.js.map +1 -0
  112. package/dist/rooms/protocol/BaseRoomInfo.d.ts +6 -0
  113. package/dist/rooms/protocol/BaseRoomInfo.js +3 -0
  114. package/dist/rooms/protocol/BaseRoomInfo.js.map +1 -0
  115. package/dist/rooms/protocol/BaseUserMeta.d.ts +10 -0
  116. package/dist/rooms/protocol/BaseUserMeta.js +3 -0
  117. package/dist/rooms/protocol/BaseUserMeta.js.map +1 -0
  118. package/dist/rooms/protocol/ClientMsg.d.ts +41 -0
  119. package/dist/rooms/protocol/ClientMsg.js +13 -0
  120. package/dist/rooms/protocol/ClientMsg.js.map +1 -0
  121. package/dist/rooms/protocol/Comments.d.ts +146 -0
  122. package/dist/rooms/protocol/Comments.js +3 -0
  123. package/dist/rooms/protocol/Comments.js.map +1 -0
  124. package/dist/rooms/protocol/InboxNotifications.d.ts +49 -0
  125. package/dist/rooms/protocol/InboxNotifications.js +3 -0
  126. package/dist/rooms/protocol/InboxNotifications.js.map +1 -0
  127. package/dist/rooms/protocol/Op.d.ts +82 -0
  128. package/dist/rooms/protocol/Op.js +28 -0
  129. package/dist/rooms/protocol/Op.js.map +1 -0
  130. package/dist/rooms/protocol/SerializedCrdt.d.ts +40 -0
  131. package/dist/rooms/protocol/SerializedCrdt.js +19 -0
  132. package/dist/rooms/protocol/SerializedCrdt.js.map +1 -0
  133. package/dist/rooms/protocol/ServerMsg.d.ts +128 -0
  134. package/dist/rooms/protocol/ServerMsg.js +25 -0
  135. package/dist/rooms/protocol/ServerMsg.js.map +1 -0
  136. package/dist/rooms/protocol/VersionHistory.d.ts +9 -0
  137. package/dist/rooms/protocol/VersionHistory.js +3 -0
  138. package/dist/rooms/protocol/VersionHistory.js.map +1 -0
  139. package/dist/rooms/rooms.controller.d.ts +64 -0
  140. package/dist/rooms/rooms.controller.js +401 -0
  141. package/dist/rooms/rooms.controller.js.map +1 -0
  142. package/dist/rooms/rooms.gateway.d.ts +30 -0
  143. package/dist/rooms/rooms.gateway.js +189 -0
  144. package/dist/rooms/rooms.gateway.js.map +1 -0
  145. package/dist/rooms/rooms.guard.d.ts +9 -0
  146. package/dist/rooms/rooms.guard.js +48 -0
  147. package/dist/rooms/rooms.guard.js.map +1 -0
  148. package/dist/rooms/rooms.module.d.ts +2 -0
  149. package/dist/rooms/rooms.module.js +36 -0
  150. package/dist/rooms/rooms.module.js.map +1 -0
  151. package/dist/rooms/rooms.service.d.ts +51 -0
  152. package/dist/rooms/rooms.service.js +223 -0
  153. package/dist/rooms/rooms.service.js.map +1 -0
  154. package/dist/steedos/mongodb.controller.d.ts +13 -0
  155. package/dist/steedos/mongodb.controller.js +355 -0
  156. package/dist/steedos/mongodb.controller.js.map +1 -0
  157. package/dist/steedos/object.service.d.ts +6 -0
  158. package/dist/steedos/object.service.js +34 -0
  159. package/dist/steedos/object.service.js.map +1 -0
  160. package/dist/steedos/steedos.module.d.ts +2 -0
  161. package/dist/steedos/steedos.module.js +27 -0
  162. package/dist/steedos/steedos.module.js.map +1 -0
  163. package/dist/tables/meta.service.d.ts +6 -0
  164. package/dist/tables/meta.service.js +82 -0
  165. package/dist/tables/meta.service.js.map +1 -0
  166. package/dist/tables/records.service.d.ts +13 -0
  167. package/dist/tables/records.service.js +73 -0
  168. package/dist/tables/records.service.js.map +1 -0
  169. package/dist/tables/tables.controller.d.ts +24 -0
  170. package/dist/tables/tables.controller.js +414 -0
  171. package/dist/tables/tables.controller.js.map +1 -0
  172. package/dist/tables/tables.module.d.ts +2 -0
  173. package/dist/tables/tables.module.js +28 -0
  174. package/dist/tables/tables.module.js.map +1 -0
  175. package/package.json +112 -0
  176. package/public/ag-grid/locale_zh.js +595 -0
  177. package/public/grid/index.html +25 -0
  178. package/public/grid/index.js +207 -0
  179. package/public/grid/styles.css +4 -0
  180. package/public/pivot/index.html +30 -0
  181. package/public/pivot/index.js +109 -0
  182. package/public/pivot/styles.css +7 -0
  183. package/views/ag-grid/README.md +15 -0
  184. package/views/ag-grid/ag-grid.hbs +1099 -0
  185. package/views/devextreme/datagrid.hbs +240 -0
@@ -0,0 +1,11 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ export declare class MoleculerService {
3
+ private configService;
4
+ private broker;
5
+ private readonly logger;
6
+ constructor(configService: ConfigService);
7
+ loadPlugins(): void;
8
+ loadPlugin(plugin: any): void;
9
+ private isPackageInstalled;
10
+ private getPackagePath;
11
+ }
@@ -0,0 +1,95 @@
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 MoleculerService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.MoleculerService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const config_1 = require("@nestjs/config");
16
+ const moleculer_1 = require("moleculer");
17
+ const fs = require("fs");
18
+ const path = require("path");
19
+ const moleculer_config_1 = require("./moleculer.config");
20
+ let MoleculerService = MoleculerService_1 = class MoleculerService {
21
+ constructor(configService) {
22
+ this.configService = configService;
23
+ this.logger = new common_1.Logger(MoleculerService_1.name);
24
+ const transporter = this.configService.get("transporter");
25
+ if (!transporter) {
26
+ console.error("B6_TRANSPORTER env is required.");
27
+ return;
28
+ }
29
+ this.broker = new moleculer_1.ServiceBroker({
30
+ ...moleculer_config_1.default,
31
+ });
32
+ this.loadPlugins();
33
+ this.broker.start();
34
+ }
35
+ loadPlugins() {
36
+ const plugins = this.configService.get("plugin.packages");
37
+ if (plugins) {
38
+ for (const plugin of plugins.split(',')) {
39
+ this.loadPlugin(plugin);
40
+ }
41
+ }
42
+ }
43
+ loadPlugin(plugin) {
44
+ try {
45
+ const match = plugin.match(/^(.*?)(?:@([\d.]+))?$/);
46
+ if (!match) {
47
+ this.logger.warn(`插件格式无效: ${plugin}`);
48
+ return;
49
+ }
50
+ const [, packageName, version] = match;
51
+ this.logger.log(`加载插件: 名称:${packageName}, 版本:${version}`);
52
+ if (!this.isPackageInstalled(packageName)) {
53
+ this.logger.error(`插件 ${packageName} 未安装,请先安装`);
54
+ return;
55
+ }
56
+ const packageServicePath = path.resolve(this.getPackagePath(packageName), "./dist/package.service.js");
57
+ if (!fs.existsSync(packageServicePath)) {
58
+ this.logger.error(`插件 ${packageName} 缺少文件: ${packageServicePath}`);
59
+ return;
60
+ }
61
+ const serviceModule = require(packageServicePath);
62
+ const serviceSchema = serviceModule.default ? serviceModule.default : serviceModule;
63
+ if (serviceSchema) {
64
+ this.broker.createService(serviceSchema);
65
+ this.logger.log(`插件服务已创建: ${packageName}`, serviceSchema);
66
+ }
67
+ }
68
+ catch (err) {
69
+ this.logger.error(`处理插件 ${plugin} 时出错: ${err.message}`);
70
+ }
71
+ }
72
+ isPackageInstalled(packageName) {
73
+ try {
74
+ require.resolve(`${packageName}/package.json`);
75
+ return true;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
81
+ getPackagePath(packageName) {
82
+ try {
83
+ return path.dirname(require.resolve(`${packageName}/package.json`));
84
+ }
85
+ catch {
86
+ throw new Error(`无法解析插件路径: ${packageName}`);
87
+ }
88
+ }
89
+ };
90
+ exports.MoleculerService = MoleculerService;
91
+ exports.MoleculerService = MoleculerService = MoleculerService_1 = __decorate([
92
+ (0, common_1.Injectable)(),
93
+ __metadata("design:paramtypes", [config_1.ConfigService])
94
+ ], MoleculerService);
95
+ //# sourceMappingURL=moleculer.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moleculer.service.js","sourceRoot":"","sources":["../../src/moleculer/moleculer.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './mongodb.module';
2
+ export * from './mongodb.service';
@@ -0,0 +1,19 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mongodb/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC"}
@@ -0,0 +1,2 @@
1
+ export declare class MongodbModule {
2
+ }
@@ -0,0 +1,21 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,17 @@
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, id: string, data: any): Promise<any>;
15
+ deleteOne(collectionName: string, query: object): Promise<any>;
16
+ deleteMany(collectionName: string, query: object): Promise<any>;
17
+ }
@@ -0,0 +1,113 @@
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, id, data) {
93
+ const collection = this.db.collection(collectionName);
94
+ const result = await collection.findOneAndUpdate({ _id: id }, { $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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.service.js","sourceRoot":"","sources":["../../src/mongodb/mongodb.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { OidcService } from './oidc.service';
2
+ export declare class OidcController {
3
+ private readonly oidcService;
4
+ constructor(oidcService: OidcService);
5
+ login(providerId: string, req: any, res: any): Promise<any>;
6
+ callback(providerId: string, req: any, res: any): Promise<any>;
7
+ }
@@ -0,0 +1,93 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OidcController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const openid_client_1 = require("openid-client");
18
+ const oidc_service_1 = require("./oidc.service");
19
+ let OidcController = class OidcController {
20
+ constructor(oidcService) {
21
+ this.oidcService = oidcService;
22
+ }
23
+ async login(providerId, req, res) {
24
+ const provider = await this.oidcService.getProviderFromDB(providerId);
25
+ const issuer = await openid_client_1.Issuer.discover(provider.issuer);
26
+ const client = new issuer.Client({
27
+ client_id: provider.client_id,
28
+ client_secret: provider.client_secret,
29
+ redirect_uris: [provider.redirect_uri],
30
+ response_types: ['code'],
31
+ });
32
+ const redirectTo = client.authorizationUrl({
33
+ scope: provider.scope,
34
+ state: provider.state,
35
+ nonce: provider.nonce,
36
+ code_challenge: provider.code_challenge,
37
+ code_challenge_method: provider.code_challenge_method,
38
+ });
39
+ req.session[`oidc_${providerId}_state`] = provider.state;
40
+ req.session[`oidc_${providerId}_code_verifier`] = provider.code_verifier;
41
+ req.session[`oidc_${providerId}_nonce`] = provider.nonce;
42
+ return res.redirect(redirectTo);
43
+ }
44
+ async callback(providerId, req, res) {
45
+ const storedState = req.session[`oidc_${providerId}_state`];
46
+ const storedVerifier = req.session[`oidc_${providerId}_code_verifier`];
47
+ const storedNonce = req.session[`oidc_${providerId}_nonce`];
48
+ const provider = await this.oidcService.getProviderFromDB(providerId);
49
+ const issuer = await openid_client_1.Issuer.discover(provider.issuer);
50
+ const client = new issuer.Client({
51
+ client_id: provider.client_id,
52
+ client_secret: provider.client_secret,
53
+ redirect_uris: [provider.redirect_uri],
54
+ response_types: ['code'],
55
+ });
56
+ const params = client.callbackParams(req);
57
+ const tokenSet = await client.callback(provider.redirect_uri, params, {
58
+ state: storedState,
59
+ code_verifier: storedVerifier,
60
+ nonce: storedNonce
61
+ });
62
+ delete req.session[`oidc_${providerId}_state`];
63
+ delete req.session[`oidc_${providerId}_code_verifier`];
64
+ delete req.session[`oidc_${providerId}_nonce`];
65
+ const userInfo = await client.userinfo(tokenSet);
66
+ console.log('userinfo %j', userInfo);
67
+ return res.json({ tokenSet, userInfo });
68
+ }
69
+ };
70
+ exports.OidcController = OidcController;
71
+ __decorate([
72
+ (0, common_1.Get)(':providerId/login'),
73
+ __param(0, (0, common_1.Param)('providerId')),
74
+ __param(1, (0, common_1.Req)()),
75
+ __param(2, (0, common_1.Res)()),
76
+ __metadata("design:type", Function),
77
+ __metadata("design:paramtypes", [String, Object, Object]),
78
+ __metadata("design:returntype", Promise)
79
+ ], OidcController.prototype, "login", null);
80
+ __decorate([
81
+ (0, common_1.Get)(':providerId/callback'),
82
+ __param(0, (0, common_1.Param)('providerId')),
83
+ __param(1, (0, common_1.Req)()),
84
+ __param(2, (0, common_1.Res)()),
85
+ __metadata("design:type", Function),
86
+ __metadata("design:paramtypes", [String, Object, Object]),
87
+ __metadata("design:returntype", Promise)
88
+ ], OidcController.prototype, "callback", null);
89
+ exports.OidcController = OidcController = __decorate([
90
+ (0, common_1.Controller)('api/v6/oidc'),
91
+ __metadata("design:paramtypes", [oidc_service_1.OidcService])
92
+ ], OidcController);
93
+ //# sourceMappingURL=oidc.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc.controller.js","sourceRoot":"","sources":["../../src/oidc/oidc.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class OidcModule {
2
+ }
@@ -0,0 +1,22 @@
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.OidcModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const oidc_service_1 = require("./oidc.service");
12
+ const oidc_controller_1 = require("./oidc.controller");
13
+ let OidcModule = class OidcModule {
14
+ };
15
+ exports.OidcModule = OidcModule;
16
+ exports.OidcModule = OidcModule = __decorate([
17
+ (0, common_1.Module)({
18
+ providers: [oidc_service_1.OidcService],
19
+ controllers: [oidc_controller_1.OidcController]
20
+ })
21
+ ], OidcModule);
22
+ //# sourceMappingURL=oidc.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc.module.js","sourceRoot":"","sources":["../../src/oidc/oidc.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iDAA6C;AAC7C,uDAAmD;AAM5C,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG"}
@@ -0,0 +1,15 @@
1
+ export declare class OidcService {
2
+ getProviderFromDB(providerId: string): Promise<{
3
+ issuer: string;
4
+ configUrl: string;
5
+ client_id: string;
6
+ client_secret: string;
7
+ redirect_uri: string;
8
+ scope: string;
9
+ state: string;
10
+ nonce: string;
11
+ code_challenge_method: string;
12
+ code_verifier: string;
13
+ code_challenge: string;
14
+ }>;
15
+ }
@@ -0,0 +1,38 @@
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.OidcService = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const openid_client_1 = require("openid-client");
12
+ let OidcService = class OidcService {
13
+ async getProviderFromDB(providerId) {
14
+ const code_challenge_method = 'S256';
15
+ const code_verifier = openid_client_1.generators.codeVerifier();
16
+ const code_challenge = openid_client_1.generators.codeChallenge(code_verifier);
17
+ const state = openid_client_1.generators.random();
18
+ const nonce = openid_client_1.generators.random();
19
+ return {
20
+ issuer: process.env.B6_OIDC_ISSUER,
21
+ configUrl: process.env.B6_OIDC_CONFIG_URL,
22
+ client_id: process.env.B6_OIDC_CLIENT_ID,
23
+ client_secret: process.env.B6_OIDC_CLIENT_SECRET,
24
+ redirect_uri: `${process.env.ROOT_URL}/api/v6/oidc/${providerId}/callback`,
25
+ scope: process.env.B6_OIDC_CLIENT_SCOPE || 'openid email profile',
26
+ state,
27
+ nonce,
28
+ code_challenge_method,
29
+ code_verifier,
30
+ code_challenge,
31
+ };
32
+ }
33
+ };
34
+ exports.OidcService = OidcService;
35
+ exports.OidcService = OidcService = __decorate([
36
+ (0, common_1.Injectable)()
37
+ ], OidcService);
38
+ //# sourceMappingURL=oidc.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc.service.js","sourceRoot":"","sources":["../../src/oidc/oidc.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,iDAA2C;AAIpC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEtB,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAExC,MAAM,qBAAqB,GAAG,MAAM,CAAC;QACrC,MAAM,aAAa,GAAG,0BAAU,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,0BAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,0BAAU,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,0BAAU,CAAC,MAAM,EAAE,CAAC;QAGlC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACzC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACxC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;YAChD,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,gBAAgB,UAAU,WAAW;YAC1E,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,sBAAsB;YACjE,KAAK;YACL,KAAK;YACL,qBAAqB;YACrB,aAAa;YACb,cAAc;SACf,CAAC;IACJ,CAAC;CACF,CAAA;AAzBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;GACA,WAAW,CAyBvB"}
@@ -0,0 +1,25 @@
1
+ import type { Json, JsonObject } from "../lib/Json";
2
+ import type { BaseActivitiesData } from "../protocol/BaseActivitiesData";
3
+ import type { BaseRoomInfo } from "../protocol/BaseRoomInfo";
4
+ import type { BaseUserMeta } from "../protocol/BaseUserMeta";
5
+ import type { BaseMetadata } from "../protocol/Comments";
6
+ declare global {
7
+ export interface Liveblocks {
8
+ [key: string]: unknown;
9
+ }
10
+ }
11
+ type ExtendableTypes = "Presence" | "Storage" | "UserMeta" | "RoomEvent" | "ThreadMetadata" | "RoomInfo" | "ActivitiesData";
12
+ type MakeErrorString<K extends ExtendableTypes, Reason extends string = "does not match its requirements"> = `The type you provided for '${K}' ${Reason}. To learn how to fix this, see https://liveblocks.io/docs/errors/${K}`;
13
+ type GetOverride<K extends ExtendableTypes, B, Reason extends string = "does not match its requirements"> = GetOverrideOrErrorValue<K, B, MakeErrorString<K, Reason>>;
14
+ type GetOverrideOrErrorValue<K extends ExtendableTypes, B, ErrorType> = unknown extends Liveblocks[K] ? B : Liveblocks[K] extends B ? Liveblocks[K] : ErrorType;
15
+ export type DP = GetOverride<"Presence", JsonObject, "is not a valid JSON object">;
16
+ export type DS = GetOverride<"Storage", JsonObject, "is not a valid LSON value">;
17
+ export type DU = GetOverrideOrErrorValue<"UserMeta", BaseUserMeta, Record<"id" | "info", MakeErrorString<"UserMeta">>>;
18
+ export type DE = GetOverride<"RoomEvent", Json, "is not a valid JSON value">;
19
+ export type DM = GetOverride<"ThreadMetadata", BaseMetadata>;
20
+ export type DRI = GetOverride<"RoomInfo", BaseRoomInfo>;
21
+ export type DAD = GetOverrideOrErrorValue<"ActivitiesData", BaseActivitiesData, {
22
+ [K in keyof Liveblocks["ActivitiesData"]]: "At least one of the custom notification kinds you provided for 'ActivitiesData' does not match its requirements. To learn how to fix this, see https://liveblocks.io/docs/errors/ActivitiesData";
23
+ }>;
24
+ export type KDAD = keyof DAD extends `$${string}` ? keyof DAD : "Custom notification kinds must start with '$' but your custom 'ActivitiesData' type contains at least one kind which doesn't. To learn how to fix this, see https://liveblocks.io/docs/errors/ActivitiesData";
25
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=augmentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"augmentation.js","sourceRoot":"","sources":["../../../src/rooms/globals/augmentation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type DateToString<T> = {
2
+ [P in keyof T]: T[P] extends Date ? string : T[P] extends Date | null ? string | null : T[P] extends Date | undefined ? string | undefined : T[P];
3
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DateToString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateToString.js","sourceRoot":"","sources":["../../../src/rooms/lib/DateToString.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export type Json = JsonScalar | JsonArray | JsonObject;
2
+ export type JsonScalar = string | number | boolean | null;
3
+ export type JsonArray = Json[];
4
+ export type JsonObject = {
5
+ [key: string]: Json | undefined;
6
+ };
7
+ export declare function isJsonScalar(data: Json): data is JsonScalar;
8
+ export declare function isJsonArray(data: Json): data is JsonArray;
9
+ export declare function isJsonObject(data: Json): data is JsonObject;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isJsonScalar = isJsonScalar;
4
+ exports.isJsonArray = isJsonArray;
5
+ exports.isJsonObject = isJsonObject;
6
+ function isJsonScalar(data) {
7
+ return (data === null ||
8
+ typeof data === "string" ||
9
+ typeof data === "number" ||
10
+ typeof data === "boolean");
11
+ }
12
+ function isJsonArray(data) {
13
+ return Array.isArray(data);
14
+ }
15
+ function isJsonObject(data) {
16
+ return !isJsonScalar(data) && !isJsonArray(data);
17
+ }
18
+ //# sourceMappingURL=Json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../src/rooms/lib/Json.ts"],"names":[],"mappings":";;AAkBA,oCAOC;AAED,kCAEC;AAED,oCAEC;AAfD,SAAgB,YAAY,CAAC,IAAU;IACrC,OAAO,CACL,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,IAAI,KAAK,SAAS,CAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,IAAU;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,YAAY,CAAC,IAAU;IACrC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { Json } from "./Json";
2
+ declare const brand: unique symbol;
3
+ export type Brand<T, TBrand extends string> = T & {
4
+ [brand]: TBrand;
5
+ };
6
+ export type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : never;
7
+ export declare function raise(msg: string): never;
8
+ export declare function isPlainObject(blob: unknown): blob is {
9
+ [key: string]: unknown;
10
+ };
11
+ export declare function entries<O extends {
12
+ [key: string]: unknown;
13
+ }, K extends keyof O>(obj: O): [K, O[K]][];
14
+ export declare function keys<O extends {
15
+ [key: string]: unknown;
16
+ }, K extends keyof O>(obj: O): K[];
17
+ export declare function values<O extends Record<string, unknown>>(obj: O): O[keyof O][];
18
+ export declare function mapValues<V, O extends Record<string, unknown>>(obj: O, mapFn: (value: O[keyof O], key: keyof O) => V): {
19
+ [K in keyof O]: V;
20
+ };
21
+ export declare function tryParseJson(rawMessage: string): Json | undefined;
22
+ export declare function deepClone<T extends Json>(value: T): T;
23
+ export declare function b64decode(b64value: string): string;
24
+ export declare function remove<T>(array: T[], item: T): void;
25
+ export declare function compact<T>(items: readonly T[]): NonNullable<T>[];
26
+ export type RemoveUndefinedValues<T> = {
27
+ [K in keyof T]-?: Exclude<T[K], undefined>;
28
+ };
29
+ export declare function compactObject<O extends Record<string, unknown>>(obj: O): RemoveUndefinedValues<O>;
30
+ export declare function wait(millis: number): Promise<void>;
31
+ export declare function withTimeout<T>(promise: Promise<T>, millis: number, errmsg: string): Promise<T>;
32
+ export declare function memoizeOnSuccess<T>(factoryFn: () => Promise<T>): () => Promise<T>;
33
+ export {};