@tachybase/module-collection 1.3.20 → 1.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/externalVersion.js +4 -8
- package/dist/server/actions/collectionImportExportMeta.d.ts +1 -1
- package/dist/server/actions/collectionImportExportMeta.js +5 -5
- package/dist/server/collections/collectionCategories.d.ts +1 -1
- package/dist/server/collections/collections.d.ts +1 -1
- package/dist/server/collections/fields.d.ts +1 -1
- package/dist/server/hooks/afterCreateForForeignKeyField.d.ts +1 -1
- package/dist/server/hooks/afterCreateForReverseField.d.ts +1 -1
- package/dist/server/hooks/afterDestroyForForeignKeyField.d.ts +1 -1
- package/dist/server/hooks/beforeCreateForChildrenCollection.d.ts +1 -1
- package/dist/server/hooks/beforeCreateForReverseField.d.ts +1 -1
- package/dist/server/hooks/beforeCreateForValidateField.d.ts +1 -1
- package/dist/server/hooks/beforeCreateForViewCollection.d.ts +1 -1
- package/dist/server/hooks/beforeDestroyForeignKey.d.ts +1 -1
- package/dist/server/hooks/beforeInitOptions.d.ts +1 -1
- package/dist/server/hooks/beforeInitOptions.js +8 -8
- package/dist/server/migrations/20220613103214-alert-sub-table.d.ts +1 -1
- package/dist/server/migrations/20220613103214-alert-sub-table.js +1 -1
- package/dist/server/migrations/20220704225714-drop-foreign-keys.d.ts +1 -1
- package/dist/server/migrations/20220704225714-drop-foreign-keys.js +1 -1
- package/dist/server/migrations/20221101111110-update-foreign-fields.d.ts +1 -1
- package/dist/server/migrations/20221101111110-update-foreign-fields.js +1 -1
- package/dist/server/migrations/20221104151410-update-collections-hidden.d.ts +1 -1
- package/dist/server/migrations/20221104151410-update-collections-hidden.js +1 -1
- package/dist/server/migrations/20221121111110-update-fk-type.d.ts +1 -1
- package/dist/server/migrations/20221121111110-update-fk-type.js +4 -5
- package/dist/server/migrations/20221121111113-update-id-to-bigint.d.ts +1 -1
- package/dist/server/migrations/20221121111113-update-id-to-bigint.js +4 -5
- package/dist/server/migrations/20221221103220-timestamps.d.ts +1 -1
- package/dist/server/migrations/20221221103220-timestamps.js +1 -1
- package/dist/server/migrations/20230225111112-drop-ui-schema-relation.d.ts +1 -1
- package/dist/server/migrations/20230225111112-drop-ui-schema-relation.js +1 -1
- package/dist/server/migrations/20230509111114-alert-ui-schema.d.ts +1 -1
- package/dist/server/migrations/20230509111114-alert-ui-schema.js +1 -1
- package/dist/server/migrations/20230623145414-number-step.d.ts +1 -1
- package/dist/server/migrations/20230623145414-number-step.js +1 -1
- package/dist/server/migrations/20230704222935-tableoid.d.ts +1 -1
- package/dist/server/migrations/20230704222935-tableoid.js +1 -1
- package/dist/server/migrations/20230918024546-set-collection-schema.d.ts +1 -1
- package/dist/server/migrations/20230918024546-set-collection-schema.js +1 -1
- package/dist/server/migrations/20240220153103-install-main-datasource.d.ts +1 -1
- package/dist/server/migrations/20240220153103-install-main-datasource.js +1 -1
- package/dist/server/models/collection.d.ts +1 -1
- package/dist/server/models/collection.js +2 -2
- package/dist/server/models/field.d.ts +2 -2
- package/dist/server/models/field.js +2 -2
- package/dist/server/repositories/collection-repository.d.ts +1 -1
- package/dist/server/repositories/collection-repository.js +3 -4
- package/dist/server/resourcers/sql.d.ts +1 -1
- package/dist/server/resourcers/sql.js +2 -2
- package/dist/server/resourcers/views.js +2 -2
- package/dist/server/server.d.ts +1 -2
- package/dist/server/server.js +8 -9
- package/package.json +9 -16
package/dist/externalVersion.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
"@tachybase/client": "1.3.
|
|
3
|
-
"@tachybase/
|
|
4
|
-
"@
|
|
5
|
-
"@tachybase/server": "1.3.20",
|
|
2
|
+
"@tachybase/client": "1.3.22",
|
|
3
|
+
"@tachybase/module-error-handler": "1.3.22",
|
|
4
|
+
"@tego/server": "1.3.39",
|
|
6
5
|
"async-mutex": "0.5.0",
|
|
7
6
|
"lodash": "4.17.21",
|
|
8
|
-
"@tachybase/test": "1.3.
|
|
9
|
-
"@tachybase/actions": "1.3.20",
|
|
10
|
-
"@tachybase/resourcer": "1.3.20",
|
|
11
|
-
"@tachybase/utils": "1.3.20",
|
|
7
|
+
"@tachybase/test": "1.3.39",
|
|
12
8
|
"sequelize": "6.37.5",
|
|
13
9
|
"dayjs": "1.11.13"
|
|
14
10
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ResourceOptions } from '@
|
|
1
|
+
import { ResourceOptions } from '@tego/server';
|
|
2
2
|
export declare const collectionImportExportMeta: ResourceOptions;
|
|
@@ -32,19 +32,19 @@ __export(collectionImportExportMeta_exports, {
|
|
|
32
32
|
module.exports = __toCommonJS(collectionImportExportMeta_exports);
|
|
33
33
|
var import_promises = __toESM(require("node:fs/promises"));
|
|
34
34
|
var import_node_os = __toESM(require("node:os"));
|
|
35
|
-
var
|
|
35
|
+
var import_server = require("@tego/server");
|
|
36
36
|
const collectionImportExportMeta = {
|
|
37
37
|
name: "collections",
|
|
38
38
|
middleware: async (ctx, next) => {
|
|
39
39
|
if (ctx.action.actionName === "importMeta") {
|
|
40
|
-
const storage =
|
|
40
|
+
const storage = import_server.koaMulter.diskStorage({
|
|
41
41
|
destination: import_node_os.default.tmpdir(),
|
|
42
42
|
filename: function(req, file, cb) {
|
|
43
43
|
const randomName = Date.now().toString() + Math.random().toString().slice(2);
|
|
44
44
|
cb(null, randomName);
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
|
-
const upload = (0,
|
|
47
|
+
const upload = (0, import_server.koaMulter)({ storage }).single("file");
|
|
48
48
|
return upload(ctx, next);
|
|
49
49
|
} else {
|
|
50
50
|
return next();
|
|
@@ -150,12 +150,12 @@ const collectionImportExportMeta = {
|
|
|
150
150
|
return;
|
|
151
151
|
}
|
|
152
152
|
if (collection && collection.name !== meta.name) {
|
|
153
|
-
meta.key = (0,
|
|
153
|
+
meta.key = (0, import_server.uid)();
|
|
154
154
|
return;
|
|
155
155
|
} else {
|
|
156
156
|
collection = existCollections.find((v) => v.name === meta.name);
|
|
157
157
|
if (collection) {
|
|
158
|
-
collection.name = `t_${(0,
|
|
158
|
+
collection.name = `t_${(0, import_server.uid)()}`;
|
|
159
159
|
collectionNameMap[meta.name] = collection.name;
|
|
160
160
|
meta.name = collection.name;
|
|
161
161
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import Database from '@
|
|
1
|
+
import { Database } from '@tego/server';
|
|
2
2
|
export declare function afterCreateForForeignKeyField(db: Database): (model: any, options: any) => Promise<void>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import Database from '@
|
|
1
|
+
import { Database } from '@tego/server';
|
|
2
2
|
export declare function afterDestroyForForeignKeyField(db: Database): (model: any, opts: any) => Promise<void>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import Database from '@
|
|
1
|
+
import { Database } from '@tego/server';
|
|
2
2
|
export declare function beforeDestroyForeignKey(db: Database): (model: any, opts: any) => Promise<void>;
|
|
@@ -21,7 +21,7 @@ __export(beforeInitOptions_exports, {
|
|
|
21
21
|
beforeInitOptions: () => beforeInitOptions
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(beforeInitOptions_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_server = require("@tego/server");
|
|
25
25
|
var import_sequelize = require("sequelize");
|
|
26
26
|
const setTargetKey = (db, model) => {
|
|
27
27
|
if (model.get("targetKey")) {
|
|
@@ -54,7 +54,7 @@ const beforeInitOptions = {
|
|
|
54
54
|
}
|
|
55
55
|
const defaults = {
|
|
56
56
|
// targetKey: 'id',
|
|
57
|
-
foreignKey: `f_${(0,
|
|
57
|
+
foreignKey: `f_${(0, import_server.uid)()}`
|
|
58
58
|
};
|
|
59
59
|
for (const key in defaults) {
|
|
60
60
|
if (model.get(key)) {
|
|
@@ -71,9 +71,9 @@ const beforeInitOptions = {
|
|
|
71
71
|
const defaults = {
|
|
72
72
|
// targetKey: 'id',
|
|
73
73
|
// sourceKey: 'id',
|
|
74
|
-
through: `t_${(0,
|
|
75
|
-
foreignKey: `f_${(0,
|
|
76
|
-
otherKey: `f_${(0,
|
|
74
|
+
through: `t_${(0, import_server.uid)()}`,
|
|
75
|
+
foreignKey: `f_${(0, import_server.uid)()}`,
|
|
76
|
+
otherKey: `f_${(0, import_server.uid)()}`
|
|
77
77
|
};
|
|
78
78
|
for (const key in defaults) {
|
|
79
79
|
if (model.get(key)) {
|
|
@@ -91,8 +91,8 @@ const beforeInitOptions = {
|
|
|
91
91
|
const defaults = {
|
|
92
92
|
// targetKey: 'id',
|
|
93
93
|
// sourceKey: 'id',
|
|
94
|
-
foreignKey: `f_${(0,
|
|
95
|
-
target: `t_${(0,
|
|
94
|
+
foreignKey: `f_${(0, import_server.uid)()}`,
|
|
95
|
+
target: `t_${(0, import_server.uid)()}`
|
|
96
96
|
};
|
|
97
97
|
for (const key in defaults) {
|
|
98
98
|
if (model.get(key)) {
|
|
@@ -112,7 +112,7 @@ const beforeInitOptions = {
|
|
|
112
112
|
}
|
|
113
113
|
const defaults = {
|
|
114
114
|
// sourceKey: 'id',
|
|
115
|
-
foreignKey: `f_${(0,
|
|
115
|
+
foreignKey: `f_${(0, import_server.uid)()}`
|
|
116
116
|
};
|
|
117
117
|
for (const key in defaults) {
|
|
118
118
|
if (model.get(key)) {
|
|
@@ -20,7 +20,7 @@ __export(alert_sub_table_exports, {
|
|
|
20
20
|
default: () => alert_sub_table_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(alert_sub_table_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class alert_sub_table_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -20,7 +20,7 @@ __export(drop_foreign_keys_exports, {
|
|
|
20
20
|
default: () => drop_foreign_keys_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(drop_foreign_keys_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class drop_foreign_keys_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -20,7 +20,7 @@ __export(update_foreign_fields_exports, {
|
|
|
20
20
|
default: () => DropForeignKeysMigration
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(update_foreign_fields_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
var import_afterCreateForForeignKeyField = require("../hooks/afterCreateForForeignKeyField");
|
|
25
25
|
class DropForeignKeysMigration extends import_server.Migration {
|
|
26
26
|
constructor() {
|
|
@@ -20,7 +20,7 @@ __export(update_collections_hidden_exports, {
|
|
|
20
20
|
default: () => UpdateCollectionsHiddenMigration
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(update_collections_hidden_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class UpdateCollectionsHiddenMigration extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -20,8 +20,7 @@ __export(update_fk_type_exports, {
|
|
|
20
20
|
default: () => UpdateIdToBigIntMigrator
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(update_fk_type_exports);
|
|
23
|
-
var
|
|
24
|
-
var import_server = require("@tachybase/server");
|
|
23
|
+
var import_server = require("@tego/server");
|
|
25
24
|
class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
26
25
|
constructor() {
|
|
27
26
|
super(...arguments);
|
|
@@ -51,7 +50,7 @@ class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
|
51
50
|
const updateToBigInt = async (model, fieldName) => {
|
|
52
51
|
let sql;
|
|
53
52
|
const tableName = model.tableName;
|
|
54
|
-
if (model.rawAttributes[fieldName].type instanceof
|
|
53
|
+
if (model.rawAttributes[fieldName].type instanceof import_server.DataTypes.INTEGER) {
|
|
55
54
|
if (db.inDialect("postgres")) {
|
|
56
55
|
sql = `ALTER TABLE "${tableName}" ALTER COLUMN "${fieldName}" SET DATA TYPE BIGINT;`;
|
|
57
56
|
} else if (db.inDialect("mysql", "mariadb")) {
|
|
@@ -61,7 +60,7 @@ class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
|
61
60
|
{
|
|
62
61
|
[attributeName]: queryInterface.normalizeAttribute({
|
|
63
62
|
...dataTypeOrOptions,
|
|
64
|
-
type:
|
|
63
|
+
type: import_server.DataTypes.BIGINT
|
|
65
64
|
})
|
|
66
65
|
},
|
|
67
66
|
{
|
|
@@ -96,7 +95,7 @@ class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
|
96
95
|
if (primaryKeyField && primaryKeyField.primaryKey) {
|
|
97
96
|
await updateToBigInt(model, model.primaryKeyField);
|
|
98
97
|
}
|
|
99
|
-
if (model.tableAttributes["sort"] && model.tableAttributes["sort"].type instanceof
|
|
98
|
+
if (model.tableAttributes["sort"] && model.tableAttributes["sort"].type instanceof import_server.DataTypes.INTEGER) {
|
|
100
99
|
await updateToBigInt(model, "sort");
|
|
101
100
|
}
|
|
102
101
|
const associations = model.associations;
|
|
@@ -20,8 +20,7 @@ __export(update_id_to_bigint_exports, {
|
|
|
20
20
|
default: () => UpdateIdToBigIntMigrator
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(update_id_to_bigint_exports);
|
|
23
|
-
var
|
|
24
|
-
var import_server = require("@tachybase/server");
|
|
23
|
+
var import_server = require("@tego/server");
|
|
25
24
|
class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
26
25
|
constructor() {
|
|
27
26
|
super(...arguments);
|
|
@@ -70,7 +69,7 @@ class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
|
70
69
|
fieldRecord.set("type", "bigInt");
|
|
71
70
|
await fieldRecord.save();
|
|
72
71
|
}
|
|
73
|
-
if (model.rawAttributes[fieldName].type instanceof
|
|
72
|
+
if (model.rawAttributes[fieldName].type instanceof import_server.DataTypes.INTEGER) {
|
|
74
73
|
if (db.inDialect("postgres")) {
|
|
75
74
|
sql = `ALTER TABLE ${quoteTableName} ALTER COLUMN "${columnName}" SET DATA TYPE BIGINT;`;
|
|
76
75
|
} else if (db.inDialect("mysql", "mariadb")) {
|
|
@@ -80,7 +79,7 @@ class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
|
80
79
|
{
|
|
81
80
|
[attributeName]: queryInterface.normalizeAttribute({
|
|
82
81
|
...dataTypeOrOptions,
|
|
83
|
-
type:
|
|
82
|
+
type: import_server.DataTypes.BIGINT
|
|
84
83
|
})
|
|
85
84
|
},
|
|
86
85
|
{
|
|
@@ -138,7 +137,7 @@ class UpdateIdToBigIntMigrator extends import_server.Migration {
|
|
|
138
137
|
if (primaryKeyField && primaryKeyField.primaryKey) {
|
|
139
138
|
await updateToBigInt(model, model.primaryKeyField);
|
|
140
139
|
}
|
|
141
|
-
if (model.tableAttributes["sort"] && model.tableAttributes["sort"].type instanceof
|
|
140
|
+
if (model.tableAttributes["sort"] && model.tableAttributes["sort"].type instanceof import_server.DataTypes.INTEGER) {
|
|
142
141
|
await updateToBigInt(model, "sort");
|
|
143
142
|
}
|
|
144
143
|
const associations = model.associations;
|
|
@@ -20,7 +20,7 @@ __export(timestamps_exports, {
|
|
|
20
20
|
default: () => timestamps_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(timestamps_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class timestamps_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -20,7 +20,7 @@ __export(drop_ui_schema_relation_exports, {
|
|
|
20
20
|
default: () => drop_ui_schema_relation_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(drop_ui_schema_relation_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class drop_ui_schema_relation_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -20,7 +20,7 @@ __export(alert_ui_schema_exports, {
|
|
|
20
20
|
default: () => alert_ui_schema_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(alert_ui_schema_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class alert_ui_schema_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -30,7 +30,7 @@ __export(number_step_exports, {
|
|
|
30
30
|
default: () => number_step_default
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(number_step_exports);
|
|
33
|
-
var import_server = require("@
|
|
33
|
+
var import_server = require("@tego/server");
|
|
34
34
|
var import_lodash = __toESM(require("lodash"));
|
|
35
35
|
class number_step_default extends import_server.Migration {
|
|
36
36
|
constructor() {
|
|
@@ -30,7 +30,7 @@ __export(tableoid_exports, {
|
|
|
30
30
|
default: () => tableoid_default
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(tableoid_exports);
|
|
33
|
-
var import_server = require("@
|
|
33
|
+
var import_server = require("@tego/server");
|
|
34
34
|
var import_lodash = __toESM(require("lodash"));
|
|
35
35
|
class tableoid_default extends import_server.Migration {
|
|
36
36
|
constructor() {
|
|
@@ -20,7 +20,7 @@ __export(set_collection_schema_exports, {
|
|
|
20
20
|
default: () => set_collection_schema_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(set_collection_schema_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class set_collection_schema_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -20,7 +20,7 @@ __export(install_main_datasource_exports, {
|
|
|
20
20
|
default: () => install_main_datasource_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(install_main_datasource_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class install_main_datasource_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Collection, Database, MagicAttributeModel, SyncOptions, Transactionable } from '@tego/server';
|
|
2
2
|
import { QueryInterfaceDropTableOptions } from 'sequelize';
|
|
3
3
|
interface LoadOptions extends Transactionable {
|
|
4
4
|
skipField?: boolean | Array<string>;
|
|
@@ -30,9 +30,9 @@ __export(collection_exports, {
|
|
|
30
30
|
CollectionModel: () => CollectionModel
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(collection_exports);
|
|
33
|
-
var
|
|
33
|
+
var import_server = require("@tego/server");
|
|
34
34
|
var import_lodash = __toESM(require("lodash"));
|
|
35
|
-
class CollectionModel extends
|
|
35
|
+
class CollectionModel extends import_server.MagicAttributeModel {
|
|
36
36
|
get db() {
|
|
37
37
|
return this.constructor.database;
|
|
38
38
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Collection, Database, MagicAttributeModel, SyncOptions, Transactionable } from '@tego/server';
|
|
2
2
|
interface LoadOptions extends Transactionable {
|
|
3
3
|
skipExist?: boolean;
|
|
4
4
|
}
|
|
@@ -8,7 +8,7 @@ interface MigrateOptions extends SyncOptions, Transactionable {
|
|
|
8
8
|
export declare class FieldModel extends MagicAttributeModel {
|
|
9
9
|
get db(): Database;
|
|
10
10
|
isAssociationField(): boolean;
|
|
11
|
-
load(loadOptions?: LoadOptions): Promise<import("@
|
|
11
|
+
load(loadOptions?: LoadOptions): Promise<import("@tego/server").Field>;
|
|
12
12
|
syncSortByField(options: Transactionable): Promise<void>;
|
|
13
13
|
migrate({ isNew, ...options }?: MigrateOptions): Promise<void>;
|
|
14
14
|
remove(options?: any): Promise<void>;
|
|
@@ -20,8 +20,8 @@ __export(field_exports, {
|
|
|
20
20
|
FieldModel: () => FieldModel
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(field_exports);
|
|
23
|
-
var
|
|
24
|
-
class FieldModel extends
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
class FieldModel extends import_server.MagicAttributeModel {
|
|
25
25
|
get db() {
|
|
26
26
|
return this.constructor.database;
|
|
27
27
|
}
|
|
@@ -30,10 +30,9 @@ __export(collection_repository_exports, {
|
|
|
30
30
|
CollectionRepository: () => CollectionRepository
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(collection_repository_exports);
|
|
33
|
-
var
|
|
34
|
-
var import_utils = require("@tachybase/utils");
|
|
33
|
+
var import_server = require("@tego/server");
|
|
35
34
|
var import_lodash = __toESM(require("lodash"));
|
|
36
|
-
class CollectionRepository extends
|
|
35
|
+
class CollectionRepository extends import_server.Repository {
|
|
37
36
|
setApp(app) {
|
|
38
37
|
this.app = app;
|
|
39
38
|
}
|
|
@@ -41,7 +40,7 @@ class CollectionRepository extends import_database.Repository {
|
|
|
41
40
|
var _a, _b, _c;
|
|
42
41
|
const { filter, skipExist } = options;
|
|
43
42
|
const instances = await this.find({ filter, appends: ["fields"] });
|
|
44
|
-
const graphlib =
|
|
43
|
+
const graphlib = import_server.CollectionsGraph.graphlib();
|
|
45
44
|
const graph = new graphlib.Graph();
|
|
46
45
|
const nameMap = {};
|
|
47
46
|
const viewCollections = [];
|
|
@@ -20,7 +20,7 @@ __export(sql_exports, {
|
|
|
20
20
|
default: () => sql_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(sql_exports);
|
|
23
|
-
var
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
const updateCollection = async (ctx, transaction) => {
|
|
25
25
|
const { filterByTk, values } = ctx.action.params;
|
|
26
26
|
const repo = ctx.db.getRepository("collections");
|
|
@@ -60,7 +60,7 @@ var sql_default = {
|
|
|
60
60
|
if (!/^select/i.test(sql) && !/^with([\s\S]+)select([\s\S]+)/i.test(sql)) {
|
|
61
61
|
ctx.throw(400, ctx.t("Only select query allowed"));
|
|
62
62
|
}
|
|
63
|
-
const tmpCollection = new
|
|
63
|
+
const tmpCollection = new import_server.SqlCollection({ name: "tmp", sql }, { database: ctx.db });
|
|
64
64
|
const model = tmpCollection.model;
|
|
65
65
|
const data = await model.findAll({ attributes: ["*"], limit: 5, raw: true });
|
|
66
66
|
let fields = {};
|
|
@@ -20,14 +20,14 @@ __export(views_exports, {
|
|
|
20
20
|
default: () => views_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(views_exports);
|
|
23
|
-
var
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
var views_default = {
|
|
25
25
|
name: "dbViews",
|
|
26
26
|
actions: {
|
|
27
27
|
async get(ctx, next) {
|
|
28
28
|
const { filterByTk, schema } = ctx.action.params;
|
|
29
29
|
const db = ctx.app.db;
|
|
30
|
-
const fields = await
|
|
30
|
+
const fields = await import_server.ViewFieldInference.inferFields({
|
|
31
31
|
db,
|
|
32
32
|
viewName: filterByTk,
|
|
33
33
|
viewSchema: schema
|
package/dist/server/server.d.ts
CHANGED
package/dist/server/server.js
CHANGED
|
@@ -31,11 +31,10 @@ __export(server_exports, {
|
|
|
31
31
|
default: () => server_default
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(server_exports);
|
|
34
|
-
var
|
|
35
|
-
var process = __toESM(require("process"));
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var import_server = require("@tachybase/server");
|
|
34
|
+
var import_node_path = __toESM(require("node:path"));
|
|
35
|
+
var process = __toESM(require("node:process"));
|
|
36
|
+
var import_node_worker_threads = require("node:worker_threads");
|
|
37
|
+
var import_server = require("@tego/server");
|
|
39
38
|
var import_async_mutex = require("async-mutex");
|
|
40
39
|
var import_lodash = __toESM(require("lodash"));
|
|
41
40
|
var import__ = require(".");
|
|
@@ -68,7 +67,7 @@ class CollectionManagerPlugin extends import_server.Plugin {
|
|
|
68
67
|
});
|
|
69
68
|
this.db.addMigrations({
|
|
70
69
|
namespace: "collection-manager",
|
|
71
|
-
directory:
|
|
70
|
+
directory: import_node_path.default.resolve(__dirname, "./migrations"),
|
|
72
71
|
context: {
|
|
73
72
|
plugin: this
|
|
74
73
|
}
|
|
@@ -217,7 +216,7 @@ class CollectionManagerPlugin extends import_server.Plugin {
|
|
|
217
216
|
});
|
|
218
217
|
};
|
|
219
218
|
this.app.on("beforeStart", loadCollections);
|
|
220
|
-
if (!
|
|
219
|
+
if (!import_node_worker_threads.isMainThread) {
|
|
221
220
|
return;
|
|
222
221
|
}
|
|
223
222
|
this.app.resourcer.use(
|
|
@@ -239,12 +238,12 @@ class CollectionManagerPlugin extends import_server.Plugin {
|
|
|
239
238
|
this.app.resourcer.define(import_collectionImportExportMeta.collectionImportExportMeta);
|
|
240
239
|
}
|
|
241
240
|
async load() {
|
|
242
|
-
await this.importCollections(
|
|
241
|
+
await this.importCollections(import_node_path.default.resolve(__dirname, "./collections"));
|
|
243
242
|
this.db.getRepository("collections").setApp(this.app);
|
|
244
243
|
const errorHandlerPlugin = this.app.getPlugin("error-handler");
|
|
245
244
|
errorHandlerPlugin.errorHandler.register(
|
|
246
245
|
(err) => {
|
|
247
|
-
return err instanceof
|
|
246
|
+
return err instanceof import_server.UniqueConstraintError;
|
|
248
247
|
},
|
|
249
248
|
(err, ctx) => {
|
|
250
249
|
return ctx.throw(400, ctx.t(`The value of ${Object.keys(err.fields)} field duplicated`));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/module-collection",
|
|
3
3
|
"displayName": "Data source: Main",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.22",
|
|
5
5
|
"description": "TachyBase main database, supports relational databases such as MySQL, PostgreSQL, SQLite and so on.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Data sources"
|
|
@@ -11,25 +11,18 @@
|
|
|
11
11
|
"dependencies": {},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@hapi/topo": "^6.0.2",
|
|
14
|
-
"@
|
|
14
|
+
"@tachybase/test": "^1.3.39",
|
|
15
|
+
"@tego/client": "^1.3.39",
|
|
16
|
+
"@tego/server": "^1.3.39",
|
|
17
|
+
"@types/lodash": "^4.17.20",
|
|
15
18
|
"async-mutex": "^0.5.0",
|
|
16
19
|
"lodash": "4.17.21",
|
|
17
20
|
"sequelize": "^6.37.5",
|
|
18
|
-
"toposort": "^2.0.2"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"@tachybase/actions": "1.3.20",
|
|
22
|
-
"@tachybase/database": "1.3.20",
|
|
23
|
-
"@tachybase/module-error-handler": "1.3.20",
|
|
24
|
-
"@tachybase/client": "1.3.20",
|
|
25
|
-
"@tachybase/resourcer": "1.3.20",
|
|
26
|
-
"@tachybase/server": "1.3.20",
|
|
27
|
-
"@tachybase/test": "1.3.20",
|
|
28
|
-
"@tachybase/utils": "1.3.20"
|
|
21
|
+
"toposort": "^2.0.2",
|
|
22
|
+
"@tachybase/client": "1.3.22",
|
|
23
|
+
"@tachybase/module-error-handler": "1.3.22"
|
|
29
24
|
},
|
|
30
25
|
"description.zh-CN": "TachyBase 主数据库,支持 MySQL、PostgreSQL、SQLite 等关系型数据库。",
|
|
31
26
|
"displayName.zh-CN": "数据源:主数据库",
|
|
32
|
-
"scripts": {
|
|
33
|
-
"build": "tachybase-build --no-dts @tachybase/module-collection"
|
|
34
|
-
}
|
|
27
|
+
"scripts": {}
|
|
35
28
|
}
|