@nocobase/plugin-data-source-main 1.2.13-alpha → 1.3.0-alpha.20240710084543

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 (92) hide show
  1. package/package.json +2 -2
  2. package/dist/client/index.d.ts +0 -13
  3. package/dist/client/index.js +0 -10
  4. package/dist/externalVersion.js +0 -21
  5. package/dist/index.d.ts +0 -10
  6. package/dist/index.js +0 -48
  7. package/dist/locale/en-US.json +0 -4
  8. package/dist/locale/zh-CN.json +0 -4
  9. package/dist/server/collections/collectionCategories.d.ts +0 -11
  10. package/dist/server/collections/collectionCategories.js +0 -61
  11. package/dist/server/collections/collections.d.ts +0 -11
  12. package/dist/server/collections/collections.js +0 -101
  13. package/dist/server/collections/fields.d.ts +0 -11
  14. package/dist/server/collections/fields.js +0 -103
  15. package/dist/server/errors/field-is-depended-on-by-other.d.ts +0 -12
  16. package/dist/server/errors/field-is-depended-on-by-other.js +0 -44
  17. package/dist/server/errors/field-name-exists-error.d.ts +0 -13
  18. package/dist/server/errors/field-name-exists-error.js +0 -45
  19. package/dist/server/hooks/afterCreateForForeignKeyField.d.ts +0 -10
  20. package/dist/server/hooks/afterCreateForForeignKeyField.js +0 -217
  21. package/dist/server/hooks/afterCreateForReverseField.d.ts +0 -12
  22. package/dist/server/hooks/afterCreateForReverseField.js +0 -46
  23. package/dist/server/hooks/afterDestroyForForeignKeyField.d.ts +0 -10
  24. package/dist/server/hooks/afterDestroyForForeignKeyField.js +0 -98
  25. package/dist/server/hooks/beforeCreateForChildrenCollection.d.ts +0 -13
  26. package/dist/server/hooks/beforeCreateForChildrenCollection.js +0 -67
  27. package/dist/server/hooks/beforeCreateForReverseField.d.ts +0 -12
  28. package/dist/server/hooks/beforeCreateForReverseField.js +0 -73
  29. package/dist/server/hooks/beforeCreateForValidateField.d.ts +0 -15
  30. package/dist/server/hooks/beforeCreateForValidateField.js +0 -76
  31. package/dist/server/hooks/beforeCreateForViewCollection.d.ts +0 -13
  32. package/dist/server/hooks/beforeCreateForViewCollection.js +0 -39
  33. package/dist/server/hooks/beforeDestoryField.d.ts +0 -2
  34. package/dist/server/hooks/beforeDestoryField.js +0 -80
  35. package/dist/server/hooks/beforeDestroyForeignKey.d.ts +0 -10
  36. package/dist/server/hooks/beforeDestroyForeignKey.js +0 -75
  37. package/dist/server/hooks/beforeInitOptions.d.ts +0 -23
  38. package/dist/server/hooks/beforeInitOptions.js +0 -137
  39. package/dist/server/hooks/index.d.ts +0 -13
  40. package/dist/server/hooks/index.js +0 -38
  41. package/dist/server/index.d.ts +0 -12
  42. package/dist/server/index.js +0 -54
  43. package/dist/server/migrations/20220613103214-alert-sub-table.d.ts +0 -13
  44. package/dist/server/migrations/20220613103214-alert-sub-table.js +0 -50
  45. package/dist/server/migrations/20220704225714-drop-foreign-keys.d.ts +0 -13
  46. package/dist/server/migrations/20220704225714-drop-foreign-keys.js +0 -79
  47. package/dist/server/migrations/20221101111110-update-foreign-fields.d.ts +0 -13
  48. package/dist/server/migrations/20221101111110-update-foreign-fields.js +0 -74
  49. package/dist/server/migrations/20221104151410-update-collections-hidden.d.ts +0 -13
  50. package/dist/server/migrations/20221104151410-update-collections-hidden.js +0 -57
  51. package/dist/server/migrations/20221121111110-update-fk-type.d.ts +0 -13
  52. package/dist/server/migrations/20221121111110-update-fk-type.js +0 -155
  53. package/dist/server/migrations/20221121111113-update-id-to-bigint.d.ts +0 -13
  54. package/dist/server/migrations/20221121111113-update-id-to-bigint.js +0 -189
  55. package/dist/server/migrations/20221221103220-timestamps.d.ts +0 -13
  56. package/dist/server/migrations/20221221103220-timestamps.js +0 -55
  57. package/dist/server/migrations/20230225111112-drop-ui-schema-relation.d.ts +0 -13
  58. package/dist/server/migrations/20230225111112-drop-ui-schema-relation.js +0 -97
  59. package/dist/server/migrations/20230509111114-alert-ui-schema.d.ts +0 -13
  60. package/dist/server/migrations/20230509111114-alert-ui-schema.js +0 -87
  61. package/dist/server/migrations/20230623145414-number-step.d.ts +0 -13
  62. package/dist/server/migrations/20230623145414-number-step.js +0 -81
  63. package/dist/server/migrations/20230704222935-tableoid.d.ts +0 -13
  64. package/dist/server/migrations/20230704222935-tableoid.js +0 -83
  65. package/dist/server/migrations/20230918024546-set-collection-schema.d.ts +0 -13
  66. package/dist/server/migrations/20230918024546-set-collection-schema.js +0 -55
  67. package/dist/server/migrations/20240220153103-install-main-datasource.d.ts +0 -14
  68. package/dist/server/migrations/20240220153103-install-main-datasource.js +0 -51
  69. package/dist/server/migrations/20240419182147-fix-created-by-field-target.d.ts +0 -14
  70. package/dist/server/migrations/20240419182147-fix-created-by-field-target.js +0 -49
  71. package/dist/server/migrations/20240420105949-add-sort-field.d.ts +0 -14
  72. package/dist/server/migrations/20240420105949-add-sort-field.js +0 -81
  73. package/dist/server/migrations/20240517101001-fix-target-option-in-tree-collection.d.ts +0 -14
  74. package/dist/server/migrations/20240517101001-fix-target-option-in-tree-collection.js +0 -54
  75. package/dist/server/models/collection.d.ts +0 -27
  76. package/dist/server/models/collection.js +0 -197
  77. package/dist/server/models/field.d.ts +0 -26
  78. package/dist/server/models/field.js +0 -173
  79. package/dist/server/models/index.d.ts +0 -10
  80. package/dist/server/models/index.js +0 -32
  81. package/dist/server/repositories/collection-repository.d.ts +0 -20
  82. package/dist/server/repositories/collection-repository.js +0 -169
  83. package/dist/server/repositories/index.d.ts +0 -9
  84. package/dist/server/repositories/index.js +0 -30
  85. package/dist/server/resourcers/collections.d.ts +0 -12
  86. package/dist/server/resourcers/collections.js +0 -102
  87. package/dist/server/resourcers/views.d.ts +0 -17
  88. package/dist/server/resourcers/views.js +0 -116
  89. package/dist/server/server.d.ts +0 -19
  90. package/dist/server/server.js +0 -407
  91. package/dist/swagger/index.d.ts +0 -413
  92. package/dist/swagger/index.js +0 -440
@@ -1,169 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- var __create = Object.create;
11
- var __defProp = Object.defineProperty;
12
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
- var __getOwnPropNames = Object.getOwnPropertyNames;
14
- var __getProtoOf = Object.getPrototypeOf;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __export = (target, all) => {
17
- for (var name in all)
18
- __defProp(target, name, { get: all[name], enumerable: true });
19
- };
20
- var __copyProps = (to, from, except, desc) => {
21
- if (from && typeof from === "object" || typeof from === "function") {
22
- for (let key of __getOwnPropNames(from))
23
- if (!__hasOwnProp.call(to, key) && key !== except)
24
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
- }
26
- return to;
27
- };
28
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
- // If the importer is in node compatibility mode or this is not an ESM
30
- // file that has been converted to a CommonJS file using a Babel-
31
- // compatible transform (i.e. "__esModule" has not been set), then set
32
- // "default" to the CommonJS "module.exports" for node compatibility.
33
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
- mod
35
- ));
36
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
- var collection_repository_exports = {};
38
- __export(collection_repository_exports, {
39
- CollectionRepository: () => CollectionRepository
40
- });
41
- module.exports = __toCommonJS(collection_repository_exports);
42
- var import_database = require("@nocobase/database");
43
- var import_utils = require("@nocobase/utils");
44
- var import_lodash = __toESM(require("lodash"));
45
- class CollectionRepository extends import_database.Repository {
46
- app;
47
- setApp(app) {
48
- this.app = app;
49
- }
50
- async load(options = {}) {
51
- this.database.logger.debug("loading collections...");
52
- const { filter, skipExist } = options;
53
- const instances = await this.find({ filter, appends: ["fields"] });
54
- const graphlib = import_utils.CollectionsGraph.graphlib();
55
- const graph = new graphlib.Graph();
56
- const nameMap = {};
57
- const viewCollections = [];
58
- for (const instance of instances) {
59
- graph.setNode(instance.get("name"));
60
- if (instance.get("view") || instance.get("sql")) {
61
- viewCollections.push(instance.get("name"));
62
- }
63
- }
64
- for (const instance of instances) {
65
- const collectionName = instance.get("name");
66
- nameMap[collectionName] = instance;
67
- if (instance.get("inherits")) {
68
- for (const parent of instance.get("inherits")) {
69
- graph.setEdge(parent, collectionName);
70
- }
71
- }
72
- }
73
- if (graph.nodeCount() === 0)
74
- return;
75
- if (!graphlib.alg.isAcyclic(graph)) {
76
- const cycles = graphlib.alg.findCycles(graph);
77
- throw new Error(`Cyclic dependencies: ${cycles.map((cycle) => cycle.join(" -> ")).join(", ")}`);
78
- }
79
- const sortedNames = graphlib.alg.topsort(graph);
80
- const lazyCollectionFields = /* @__PURE__ */ new Map();
81
- for (const instanceName of sortedNames) {
82
- if (!nameMap[instanceName])
83
- continue;
84
- const skipField = (() => {
85
- if (viewCollections.includes(instanceName)) {
86
- return true;
87
- }
88
- const fields = nameMap[instanceName].get("fields");
89
- return fields.filter((field) => field["type"] === "belongsTo" || field["type"] === "belongsToMany").map((field) => field.get("name"));
90
- })();
91
- if (import_lodash.default.isArray(skipField) && skipField.length) {
92
- lazyCollectionFields.set(instanceName, skipField);
93
- }
94
- this.database.logger.trace(`load ${instanceName} collection`, {
95
- submodule: "CollectionRepository",
96
- method: "load"
97
- });
98
- this.app.setMaintainingMessage(`load ${instanceName} collection`);
99
- await nameMap[instanceName].load({ skipField });
100
- }
101
- const fieldWithSourceAttributes = /* @__PURE__ */ new Map();
102
- for (const viewCollectionName of viewCollections) {
103
- this.database.logger.trace(`load collection fields`, {
104
- submodule: "CollectionRepository",
105
- method: "load",
106
- viewCollectionName
107
- });
108
- const skipField = (() => {
109
- const fields = nameMap[viewCollectionName].get("fields");
110
- return fields.filter((field) => {
111
- var _a;
112
- if (((_a = field.options) == null ? void 0 : _a.source) && (field["type"] === "belongsTo" || field["type"] === "belongsToMany")) {
113
- return true;
114
- }
115
- return false;
116
- }).map((field) => field.get("name"));
117
- })();
118
- this.app.setMaintainingMessage(`load ${viewCollectionName} collection fields`);
119
- if (import_lodash.default.isArray(skipField) && skipField.length) {
120
- fieldWithSourceAttributes.set(viewCollectionName, skipField);
121
- }
122
- await nameMap[viewCollectionName].loadFields({ skipField });
123
- }
124
- for (const [collectionName, skipField] of lazyCollectionFields) {
125
- this.database.logger.trace(`load collection fields`, {
126
- submodule: "CollectionRepository",
127
- method: "load",
128
- collectionName
129
- });
130
- this.app.setMaintainingMessage(`load ${collectionName} collection fields`);
131
- await nameMap[collectionName].loadFields({ includeFields: skipField });
132
- }
133
- for (const [collectionName, skipField] of fieldWithSourceAttributes) {
134
- this.database.logger.trace(`load collection fields`, {
135
- submodule: "CollectionRepository",
136
- method: "load",
137
- collectionName
138
- });
139
- this.app.setMaintainingMessage(`load ${collectionName} collection fields`);
140
- await nameMap[collectionName].loadFields({ includeFields: skipField });
141
- }
142
- this.database.logger.debug("collections loaded");
143
- }
144
- async db2cm(collectionName) {
145
- const collection = this.database.getCollection(collectionName);
146
- if (await this.findOne({ filter: { name: collectionName } })) {
147
- return;
148
- }
149
- const options = collection.options;
150
- const fields = [];
151
- for (const [name, field] of collection.fields) {
152
- fields.push({
153
- name,
154
- ...field.options
155
- });
156
- }
157
- await this.create({
158
- values: {
159
- ...options,
160
- fields,
161
- from: "db2cm"
162
- }
163
- });
164
- }
165
- }
166
- // Annotate the CommonJS export names for ESM import in node:
167
- 0 && (module.exports = {
168
- CollectionRepository
169
- });
@@ -1,9 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
- export * from './collection-repository';
@@ -1,30 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __copyProps = (to, from, except, desc) => {
15
- if (from && typeof from === "object" || typeof from === "function") {
16
- for (let key of __getOwnPropNames(from))
17
- if (!__hasOwnProp.call(to, key) && key !== except)
18
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
- }
20
- return to;
21
- };
22
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
23
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
- var repositories_exports = {};
25
- module.exports = __toCommonJS(repositories_exports);
26
- __reExport(repositories_exports, require("./collection-repository"), module.exports);
27
- // Annotate the CommonJS export names for ESM import in node:
28
- 0 && (module.exports = {
29
- ...require("./collection-repository")
30
- });
@@ -1,12 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
- declare const _default: {
10
- "collections:setFields"(ctx: any, next: any): Promise<void>;
11
- };
12
- export default _default;
@@ -1,102 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __export = (target, all) => {
15
- for (var name in all)
16
- __defProp(target, name, { get: all[name], enumerable: true });
17
- };
18
- var __copyProps = (to, from, except, desc) => {
19
- if (from && typeof from === "object" || typeof from === "function") {
20
- for (let key of __getOwnPropNames(from))
21
- if (!__hasOwnProp.call(to, key) && key !== except)
22
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
- }
24
- return to;
25
- };
26
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
- var collections_exports = {};
28
- __export(collections_exports, {
29
- default: () => collections_default
30
- });
31
- module.exports = __toCommonJS(collections_exports);
32
- var collections_default = {
33
- async ["collections:setFields"](ctx, next) {
34
- var _a;
35
- const { filterByTk, values } = ctx.action.params;
36
- const transaction = await ctx.app.db.sequelize.transaction();
37
- try {
38
- const fields = (_a = values.fields) == null ? void 0 : _a.map((f) => {
39
- delete f.key;
40
- return f;
41
- });
42
- const db = ctx.app.db;
43
- const collectionModel = await db.getRepository("collections").findOne({
44
- filter: {
45
- name: filterByTk
46
- },
47
- transaction
48
- });
49
- const existFields = await collectionModel.getFields({
50
- transaction
51
- });
52
- const needUpdateFields = fields.filter((f) => {
53
- return existFields.find((ef) => ef.name === f.name);
54
- }).map((f) => {
55
- return {
56
- ...f,
57
- key: existFields.find((ef) => ef.name === f.name).key
58
- };
59
- });
60
- const needDestroyFields = existFields.filter((ef) => {
61
- return !fields.find((f) => f.name === ef.name);
62
- });
63
- const needCreatedFields = fields.filter((f) => {
64
- return !existFields.find((ef) => ef.name === f.name);
65
- });
66
- if (needDestroyFields.length) {
67
- await db.getRepository("fields").destroy({
68
- filterByTk: needDestroyFields.map((f) => f.key),
69
- transaction
70
- });
71
- }
72
- if (needUpdateFields.length) {
73
- await db.getRepository("fields").updateMany({
74
- records: needUpdateFields,
75
- transaction
76
- });
77
- }
78
- if (needCreatedFields.length) {
79
- await db.getRepository("collections.fields", filterByTk).create({
80
- values: needCreatedFields,
81
- transaction
82
- });
83
- }
84
- await collectionModel.loadFields({
85
- transaction
86
- });
87
- const collection = db.getCollection(filterByTk);
88
- await collection.sync({
89
- force: false,
90
- alter: {
91
- drop: false
92
- },
93
- transaction
94
- });
95
- await transaction.commit();
96
- } catch (e) {
97
- await transaction.rollback();
98
- throw e;
99
- }
100
- await next();
101
- }
102
- };
@@ -1,17 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
- declare const _default: {
10
- name: string;
11
- actions: {
12
- get(ctx: any, next: any): Promise<void>;
13
- list: (ctx: any, next: any) => Promise<void>;
14
- query(ctx: any, next: any): Promise<void>;
15
- };
16
- };
17
- export default _default;
@@ -1,116 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __export = (target, all) => {
15
- for (var name in all)
16
- __defProp(target, name, { get: all[name], enumerable: true });
17
- };
18
- var __copyProps = (to, from, except, desc) => {
19
- if (from && typeof from === "object" || typeof from === "function") {
20
- for (let key of __getOwnPropNames(from))
21
- if (!__hasOwnProp.call(to, key) && key !== except)
22
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
- }
24
- return to;
25
- };
26
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
- var views_exports = {};
28
- __export(views_exports, {
29
- default: () => views_default
30
- });
31
- module.exports = __toCommonJS(views_exports);
32
- var import_database = require("@nocobase/database");
33
- var views_default = {
34
- name: "dbViews",
35
- actions: {
36
- async get(ctx, next) {
37
- const { filterByTk, schema } = ctx.action.params;
38
- const db = ctx.app.db;
39
- const fields = [];
40
- const unsupportedFields = [];
41
- const inferFields = await import_database.ViewFieldInference.inferFields({
42
- db,
43
- viewName: filterByTk,
44
- viewSchema: schema
45
- });
46
- for (const [_name, field] of Object.entries(inferFields)) {
47
- if (!field.type) {
48
- unsupportedFields.push(field);
49
- } else {
50
- fields.push(field);
51
- }
52
- }
53
- ctx.body = {
54
- fields,
55
- unsupportedFields,
56
- sources: [
57
- ...new Set(
58
- Object.values(fields).map((field) => field.source).filter(Boolean).map((source) => source.split(".")[0])
59
- )
60
- ]
61
- };
62
- await next();
63
- },
64
- list: async function(ctx, next) {
65
- const db = ctx.app.db;
66
- const dbViews = await db.queryInterface.listViews();
67
- const viewCollections = Array.from(db.collections.values()).filter((collection) => collection.isView());
68
- ctx.body = dbViews.map((dbView) => {
69
- return {
70
- ...dbView
71
- };
72
- }).filter((dbView) => {
73
- return !viewCollections.find((collection) => {
74
- const viewName = dbView.name;
75
- const schema = dbView.schema;
76
- const collectionViewName = collection.options.viewName || collection.options.name;
77
- return collectionViewName === viewName && collection.options.schema === schema;
78
- });
79
- });
80
- await next();
81
- },
82
- async query(ctx, next) {
83
- const { filterByTk, fieldTypes, schema = "public", page = 1, pageSize = 10 } = ctx.action.params;
84
- const offset = (page - 1) * pageSize;
85
- const limit = 1 * pageSize;
86
- const sql = `SELECT *
87
- FROM ${ctx.app.db.utils.quoteTable(ctx.app.db.utils.addSchema(filterByTk, schema))} LIMIT ${limit}
88
- OFFSET ${offset}`;
89
- const rawValues = await ctx.app.db.sequelize.query(sql, { type: "SELECT" });
90
- if (fieldTypes) {
91
- for (const raw of rawValues) {
92
- const fakeInstance = {
93
- dataValues: raw,
94
- getDataValue: (key) => raw[key]
95
- };
96
- for (const fieldName of Object.keys(fieldTypes)) {
97
- const fieldType = fieldTypes[fieldName];
98
- const FieldClass = ctx.app.db.fieldTypes.get(fieldType);
99
- const fieldOptions = new FieldClass(
100
- { name: fieldName },
101
- {
102
- db: ctx.app.db
103
- }
104
- ).options;
105
- if (fieldOptions.get) {
106
- const newValue = fieldOptions.get.apply(fakeInstance);
107
- raw[fieldName] = newValue;
108
- }
109
- }
110
- }
111
- }
112
- ctx.body = rawValues;
113
- await next();
114
- }
115
- }
116
- };
@@ -1,19 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
- import { Filter } from '@nocobase/database';
10
- import { Plugin } from '@nocobase/server';
11
- export declare class PluginDataSourceMainServer extends Plugin {
12
- schema: string;
13
- private loadFilter;
14
- setLoadFilter(filter: Filter): void;
15
- beforeLoad(): Promise<void>;
16
- load(): Promise<void>;
17
- install(): Promise<void>;
18
- }
19
- export default PluginDataSourceMainServer;