@eggjs/tegg-orm-decorator 3.52.0 → 4.0.0-beta.1
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/package.json +23 -21
- package/{dist/src → src}/builder/AttributeMetaBuilder.d.ts +1 -1
- package/src/builder/AttributeMetaBuilder.js +24 -0
- package/{dist/src → src}/builder/IndexMetaBuilder.d.ts +1 -2
- package/src/builder/IndexMetaBuilder.js +33 -0
- package/{dist/src → src}/builder/ModelMetaBuilder.d.ts +1 -1
- package/src/builder/ModelMetaBuilder.js +20 -0
- package/src/builder/index.d.ts +3 -0
- package/src/builder/index.js +4 -0
- package/src/decorator/Attribute.js +10 -0
- package/src/decorator/DataSource.js +7 -0
- package/src/decorator/Model.js +21 -0
- package/src/decorator/ModelIndex.js +7 -0
- package/src/decorator/index.d.ts +4 -0
- package/src/decorator/index.js +5 -0
- package/src/index.d.ts +5 -0
- package/src/index.js +6 -0
- package/src/model/AttributeMeta.js +19 -0
- package/src/model/IndexMeta.js +13 -0
- package/{dist/src → src}/model/ModelMetadata.d.ts +2 -2
- package/src/model/ModelMetadata.js +13 -0
- package/src/model/index.d.ts +3 -0
- package/src/model/index.js +4 -0
- package/src/util/ModelInfoUtil.js +43 -0
- package/{dist/src → src}/util/ModelMetadataUtil.d.ts +2 -2
- package/src/util/ModelMetadataUtil.js +11 -0
- package/src/util/NameUtil.js +32 -0
- package/src/util/index.d.ts +3 -0
- package/src/util/index.js +4 -0
- package/dist/index.d.ts +0 -13
- package/dist/index.js +0 -30
- package/dist/src/builder/AttributeMetaBuilder.js +0 -29
- package/dist/src/builder/IndexMetaBuilder.js +0 -37
- package/dist/src/builder/ModelMetaBuilder.js +0 -24
- package/dist/src/decorator/Attribute.js +0 -16
- package/dist/src/decorator/DataSource.js +0 -10
- package/dist/src/decorator/Index.js +0 -10
- package/dist/src/decorator/Model.js +0 -24
- package/dist/src/model/AttributeMeta.js +0 -16
- package/dist/src/model/IndexMeta.js +0 -13
- package/dist/src/model/ModelMetadata.js +0 -13
- package/dist/src/util/ModelInfoUtil.js +0 -47
- package/dist/src/util/ModelMetadataUtil.js +0 -15
- package/dist/src/util/NameUtil.js +0 -39
- /package/{dist/src → src}/decorator/Attribute.d.ts +0 -0
- /package/{dist/src → src}/decorator/DataSource.d.ts +0 -0
- /package/{dist/src → src}/decorator/Model.d.ts +0 -0
- /package/{dist/src/decorator/Index.d.ts → src/decorator/ModelIndex.d.ts} +0 -0
- /package/{dist/src → src}/model/AttributeMeta.d.ts +0 -0
- /package/{dist/src → src}/model/IndexMeta.d.ts +0 -0
- /package/{dist/src → src}/util/ModelInfoUtil.d.ts +0 -0
- /package/{dist/src → src}/util/NameUtil.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-orm-decorator",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.1",
|
|
4
4
|
"description": "tegg orm decorator",
|
|
5
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./src/index.d.ts",
|
|
9
|
+
"default": "./src/index.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
6
12
|
"files": [
|
|
7
|
-
"
|
|
8
|
-
"
|
|
13
|
+
"src/**/*.js",
|
|
14
|
+
"src/**/*.d.ts"
|
|
9
15
|
],
|
|
10
|
-
"typings": "dist/index.d.ts",
|
|
11
16
|
"keywords": [
|
|
12
17
|
"egg",
|
|
13
18
|
"typescript",
|
|
@@ -15,11 +20,10 @@
|
|
|
15
20
|
"tegg"
|
|
16
21
|
],
|
|
17
22
|
"scripts": {
|
|
18
|
-
"test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
|
|
19
23
|
"clean": "tsc -b --clean",
|
|
20
24
|
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
21
|
-
"tsc:pub": "npm run
|
|
22
|
-
"prepublishOnly": "npm run tsc
|
|
25
|
+
"tsc:pub": "npm run tsc",
|
|
26
|
+
"prepublishOnly": "npm run tsc"
|
|
23
27
|
},
|
|
24
28
|
"author": "killagu <killa123@126.com>",
|
|
25
29
|
"license": "MIT",
|
|
@@ -33,13 +37,13 @@
|
|
|
33
37
|
"directory": "core/orm-decorator"
|
|
34
38
|
},
|
|
35
39
|
"engines": {
|
|
36
|
-
"node": ">=
|
|
40
|
+
"node": ">=20.0.0"
|
|
37
41
|
},
|
|
38
42
|
"dependencies": {
|
|
39
|
-
"@eggjs/core-decorator": "^
|
|
40
|
-
"@eggjs/tegg-common-util": "^
|
|
41
|
-
"@eggjs/tegg-metadata": "^
|
|
42
|
-
"@eggjs/tegg-types": "^
|
|
43
|
+
"@eggjs/core-decorator": "^4.0.0-beta.1",
|
|
44
|
+
"@eggjs/tegg-common-util": "^4.0.0-beta.1",
|
|
45
|
+
"@eggjs/tegg-metadata": "^4.0.0-beta.1",
|
|
46
|
+
"@eggjs/tegg-types": "^4.0.0-beta.1",
|
|
43
47
|
"lodash": "^4.17.21",
|
|
44
48
|
"pluralize": "^8.0.0"
|
|
45
49
|
},
|
|
@@ -50,12 +54,10 @@
|
|
|
50
54
|
"access": "public"
|
|
51
55
|
},
|
|
52
56
|
"devDependencies": {
|
|
53
|
-
"@types/
|
|
54
|
-
"@types/
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
"gitHead": "35ed34855041dd8898046c9f3834d09a39da8ada"
|
|
57
|
+
"@types/node": "22",
|
|
58
|
+
"@types/pluralize": "^0.0.33",
|
|
59
|
+
"ts-node": "10",
|
|
60
|
+
"typescript": "5"
|
|
61
|
+
},
|
|
62
|
+
"gitHead": "79a22905272d6de7fe06152231dff65d213d9166"
|
|
61
63
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { AttributeMeta } from '../model/
|
|
2
|
+
import { AttributeMeta } from '../model/index.js';
|
|
3
3
|
export declare class AttributeMetaBuilder {
|
|
4
4
|
private readonly clazz;
|
|
5
5
|
constructor(clazz: EggProtoImplClass);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AttributeMeta } from '../model/index.js';
|
|
2
|
+
import { ModelInfoUtil, NameUtil } from '../util/index.js';
|
|
3
|
+
export class AttributeMetaBuilder {
|
|
4
|
+
clazz;
|
|
5
|
+
constructor(clazz) {
|
|
6
|
+
this.clazz = clazz;
|
|
7
|
+
}
|
|
8
|
+
build() {
|
|
9
|
+
const modelAttributes = ModelInfoUtil.getModelAttributes(this.clazz);
|
|
10
|
+
const attributes = [];
|
|
11
|
+
if (!modelAttributes) {
|
|
12
|
+
throw new Error(`model ${this.clazz.name} has no attributes`);
|
|
13
|
+
}
|
|
14
|
+
for (const [propertyName, attributeInfo] of modelAttributes) {
|
|
15
|
+
const attribute = this.buildAttributeMeta(propertyName, attributeInfo);
|
|
16
|
+
attributes.push(attribute);
|
|
17
|
+
}
|
|
18
|
+
return attributes;
|
|
19
|
+
}
|
|
20
|
+
buildAttributeMeta(propertyName, attributeInfo) {
|
|
21
|
+
return new AttributeMeta(attributeInfo.dataType, propertyName, attributeInfo.options?.name ?? NameUtil.getAttributeName(propertyName), attributeInfo.options?.allowNull ?? true, attributeInfo.options?.autoIncrement ?? false, attributeInfo.options?.primary ?? false, attributeInfo.options?.unique ?? false);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBdHRyaWJ1dGVNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsS0FBSyxDQUFvQjtJQUUxQyxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFFLFlBQVksRUFBRSxhQUFhLENBQUUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUFvQixFQUFFLGFBQWlDO1FBQ2hGLE9BQU8sSUFBSSxhQUFhLENBQ3RCLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLFlBQVksRUFDWixhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEVBQ3RFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksRUFDeEMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLElBQUksS0FBSyxFQUM3QyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQ3ZDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FDdkMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { IndexMeta } from '../model/
|
|
3
|
-
import { AttributeMeta } from '../model/AttributeMeta';
|
|
2
|
+
import { IndexMeta, AttributeMeta } from '../model/index.js';
|
|
4
3
|
export declare class IndexMetaBuilder {
|
|
5
4
|
private readonly clazz;
|
|
6
5
|
private readonly attributes;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IndexMeta } from '../model/index.js';
|
|
2
|
+
import { ModelInfoUtil, NameUtil } from '../util/index.js';
|
|
3
|
+
export class IndexMetaBuilder {
|
|
4
|
+
clazz;
|
|
5
|
+
attributes;
|
|
6
|
+
constructor(clazz, attributes) {
|
|
7
|
+
this.clazz = clazz;
|
|
8
|
+
this.attributes = attributes;
|
|
9
|
+
}
|
|
10
|
+
build() {
|
|
11
|
+
return ModelInfoUtil.getModelIndices(this.clazz)
|
|
12
|
+
.map(indexInfo => this.buildIndexMeta(indexInfo));
|
|
13
|
+
}
|
|
14
|
+
buildIndexMeta(indexInfo) {
|
|
15
|
+
const fields = [];
|
|
16
|
+
for (const field of indexInfo.fields) {
|
|
17
|
+
const attribute = this.attributes.find(t => t.propertyName === field);
|
|
18
|
+
if (!attribute) {
|
|
19
|
+
throw new Error(`model ${this.clazz.name} has no attribute named ${field}`);
|
|
20
|
+
}
|
|
21
|
+
fields.push(attribute.attributeName);
|
|
22
|
+
}
|
|
23
|
+
let indexName;
|
|
24
|
+
if (indexInfo.options?.name) {
|
|
25
|
+
indexName = indexInfo.options.name;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
indexName = NameUtil.getIndexName(fields, { unique: indexInfo.options?.unique });
|
|
29
|
+
}
|
|
30
|
+
return new IndexMeta(indexName, fields, indexInfo.options?.unique ?? false, indexInfo.options?.primary ?? false);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkluZGV4TWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE1BQU0sT0FBTyxnQkFBZ0I7SUFDVixLQUFLLENBQW9CO0lBQ3pCLFVBQVUsQ0FBdUI7SUFFbEQsWUFBWSxLQUF3QixFQUFFLFVBQWdDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsU0FBeUI7UUFDOUMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSwyQkFBMkIsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLEVBQ2xDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { ModelMetadata } from '../model/
|
|
2
|
+
import { ModelMetadata } from '../model/index.js';
|
|
3
3
|
export declare class ModelMetaBuilder {
|
|
4
4
|
private readonly clazz;
|
|
5
5
|
constructor(clazz: EggProtoImplClass);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModelMetadata } from '../model/index.js';
|
|
2
|
+
import { ModelInfoUtil, NameUtil } from '../util/index.js';
|
|
3
|
+
import { IndexMetaBuilder } from './IndexMetaBuilder.js';
|
|
4
|
+
import { AttributeMetaBuilder } from './AttributeMetaBuilder.js';
|
|
5
|
+
export class ModelMetaBuilder {
|
|
6
|
+
clazz;
|
|
7
|
+
constructor(clazz) {
|
|
8
|
+
this.clazz = clazz;
|
|
9
|
+
}
|
|
10
|
+
build() {
|
|
11
|
+
const dataSource = ModelInfoUtil.getDataSource(this.clazz);
|
|
12
|
+
const tableName = ModelInfoUtil.getTableName(this.clazz) || NameUtil.getTableName(this.clazz.name);
|
|
13
|
+
const attributeMetaBuilder = new AttributeMetaBuilder(this.clazz);
|
|
14
|
+
const attributes = attributeMetaBuilder.build();
|
|
15
|
+
const indexMetaBuilder = new IndexMetaBuilder(this.clazz, attributes);
|
|
16
|
+
const indices = indexMetaBuilder.build();
|
|
17
|
+
return new ModelMetadata(dataSource, tableName, attributes, indices);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLEtBQUssQ0FBb0I7SUFFMUMsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRyxNQUFNLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './AttributeMetaBuilder.js';
|
|
2
|
+
export * from './IndexMetaBuilder.js';
|
|
3
|
+
export * from './ModelMetaBuilder.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { ModelInfoUtil } from '../util/index.js';
|
|
3
|
+
export function Attribute(dataType, options) {
|
|
4
|
+
return function (target, propertyKey) {
|
|
5
|
+
const clazz = target.constructor;
|
|
6
|
+
assert(typeof propertyKey === 'string', `[model/${clazz.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
7
|
+
ModelInfoUtil.addModelAttribute(dataType, options, clazz, propertyKey);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxRQUFnQixFQUFFLE9BQTBCO0lBQ3BFLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0I7UUFDbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDdEQsTUFBTSxDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFDcEMsVUFBVSxLQUFLLENBQUMsSUFBSSxxREFBcUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRyxhQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModelInfoUtil } from '../util/index.js';
|
|
2
|
+
export function DataSource(dataSource) {
|
|
3
|
+
return function (clazz) {
|
|
4
|
+
ModelInfoUtil.setDataSource(dataSource, clazz);
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkRhdGFTb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxVQUFVLENBQUMsVUFBa0I7SUFDM0MsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SingletonProto } from '@eggjs/core-decorator';
|
|
2
|
+
import { AccessLevel, MODEL_PROTO_IMPL_TYPE } from '@eggjs/tegg-types';
|
|
3
|
+
import { ModelInfoUtil } from '../util/index.js';
|
|
4
|
+
export function Model(param) {
|
|
5
|
+
return function (clazz) {
|
|
6
|
+
ModelInfoUtil.setIsModel(true, clazz);
|
|
7
|
+
const func = SingletonProto({
|
|
8
|
+
name: clazz.name,
|
|
9
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
10
|
+
protoImplType: MODEL_PROTO_IMPL_TYPE,
|
|
11
|
+
});
|
|
12
|
+
if (param?.tableName) {
|
|
13
|
+
ModelInfoUtil.setTableName(param.tableName, clazz);
|
|
14
|
+
}
|
|
15
|
+
if (param?.dataSource) {
|
|
16
|
+
ModelInfoUtil.setDataSource(param.dataSource, clazz);
|
|
17
|
+
}
|
|
18
|
+
func(clazz);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEtBQW1CO0lBQ3ZDLE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUM7WUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMvQixhQUFhLEVBQUUscUJBQXFCO1NBQ3JDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDdEIsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModelInfoUtil } from '../util/index.js';
|
|
2
|
+
export function Index(fields, params) {
|
|
3
|
+
return function (clazz) {
|
|
4
|
+
ModelInfoUtil.addModelIndex(fields, params, clazz);
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsSW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxLQUFLLENBQUMsTUFBZ0IsRUFBRSxNQUFxQjtJQUMzRCxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './Attribute.js';
|
|
2
|
+
export * from './DataSource.js';
|
|
3
|
+
export * from './Model.js';
|
|
4
|
+
export * from './ModelIndex.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQyJ9
|
package/src/index.d.ts
ADDED
package/src/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from '@eggjs/tegg-types/orm';
|
|
2
|
+
export * from './builder/index.js';
|
|
3
|
+
export * from './decorator/index.js';
|
|
4
|
+
export * from './model/index.js';
|
|
5
|
+
export * from './util/index.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class AttributeMeta {
|
|
2
|
+
dataType;
|
|
3
|
+
propertyName;
|
|
4
|
+
attributeName;
|
|
5
|
+
allowNull;
|
|
6
|
+
autoIncrement;
|
|
7
|
+
primary;
|
|
8
|
+
unique;
|
|
9
|
+
constructor(dataType, propertyName, attributeName, allowNull, autoIncrement, primary, unique) {
|
|
10
|
+
this.dataType = dataType;
|
|
11
|
+
this.propertyName = propertyName;
|
|
12
|
+
this.attributeName = attributeName;
|
|
13
|
+
this.allowNull = allowNull;
|
|
14
|
+
this.autoIncrement = autoIncrement;
|
|
15
|
+
this.primary = primary;
|
|
16
|
+
this.unique = unique;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkF0dHJpYnV0ZU1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDZixRQUFRLENBQVM7SUFDakIsWUFBWSxDQUFTO0lBQ3JCLGFBQWEsQ0FBUztJQUN0QixTQUFTLENBQVU7SUFDbkIsYUFBYSxDQUFVO0lBQ3ZCLE9BQU8sQ0FBVTtJQUNqQixNQUFNLENBQVU7SUFFekIsWUFDRSxRQUFnQixFQUNoQixZQUFvQixFQUNwQixhQUFxQixFQUNyQixTQUFrQixFQUNsQixhQUFzQixFQUN0QixPQUFnQixFQUNoQixNQUFlO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class IndexMeta {
|
|
2
|
+
name;
|
|
3
|
+
fields;
|
|
4
|
+
unique;
|
|
5
|
+
primary;
|
|
6
|
+
constructor(name, fields, unique, primary) {
|
|
7
|
+
this.name = name;
|
|
8
|
+
this.fields = fields;
|
|
9
|
+
this.unique = unique;
|
|
10
|
+
this.primary = primary;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSW5kZXhNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBQ1gsSUFBSSxDQUFTO0lBQ2IsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sQ0FBVTtJQUNoQixPQUFPLENBQVU7SUFFMUIsWUFDRSxJQUFZLEVBQ1osTUFBZ0IsRUFDaEIsTUFBZSxFQUNmLE9BQWdCO1FBRWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AttributeMeta } from './AttributeMeta';
|
|
2
|
-
import { IndexMeta } from './IndexMeta';
|
|
1
|
+
import { AttributeMeta } from './AttributeMeta.js';
|
|
2
|
+
import { IndexMeta } from './IndexMeta.js';
|
|
3
3
|
export declare class ModelMetadata {
|
|
4
4
|
readonly dataSource: string | undefined;
|
|
5
5
|
readonly tableName: string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class ModelMetadata {
|
|
2
|
+
dataSource;
|
|
3
|
+
tableName;
|
|
4
|
+
attributes;
|
|
5
|
+
indices;
|
|
6
|
+
constructor(dataSource, tableName, attributes, indices) {
|
|
7
|
+
this.dataSource = dataSource;
|
|
8
|
+
this.tableName = tableName;
|
|
9
|
+
this.attributes = attributes;
|
|
10
|
+
this.indices = indices;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsTWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGFBQWE7SUFDZixVQUFVLENBQXFCO0lBQy9CLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQXVCO0lBQ2pDLE9BQU8sQ0FBbUI7SUFFbkMsWUFBWSxVQUE4QixFQUFFLFNBQWlCLEVBQUUsVUFBZ0MsRUFBRSxPQUF5QjtRQUN4SCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './AttributeMeta.js';
|
|
2
|
+
export * from './IndexMeta.js';
|
|
3
|
+
export * from './ModelMetadata.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
import { IS_MODEL, MODEL_DATA_ATTRIBUTES, MODEL_DATA_INDICES, MODEL_DATA_SOURCE, MODEL_DATA_TABLE_NAME, } from '@eggjs/tegg-types';
|
|
3
|
+
export class ModelInfoUtil {
|
|
4
|
+
static setIsModel(isModel, clazz) {
|
|
5
|
+
MetadataUtil.defineMetaData(IS_MODEL, isModel, clazz);
|
|
6
|
+
}
|
|
7
|
+
static getIsModel(clazz) {
|
|
8
|
+
return MetadataUtil.getBooleanMetaData(IS_MODEL, clazz);
|
|
9
|
+
}
|
|
10
|
+
static setDataSource(dataSource, clazz) {
|
|
11
|
+
MetadataUtil.defineMetaData(MODEL_DATA_SOURCE, dataSource, clazz);
|
|
12
|
+
}
|
|
13
|
+
static getDataSource(clazz) {
|
|
14
|
+
return MetadataUtil.getMetaData(MODEL_DATA_SOURCE, clazz);
|
|
15
|
+
}
|
|
16
|
+
static setTableName(tableName, clazz) {
|
|
17
|
+
MetadataUtil.defineMetaData(MODEL_DATA_TABLE_NAME, tableName, clazz);
|
|
18
|
+
}
|
|
19
|
+
static getTableName(clazz) {
|
|
20
|
+
return MetadataUtil.getMetaData(MODEL_DATA_TABLE_NAME, clazz);
|
|
21
|
+
}
|
|
22
|
+
static addModelIndex(fields, options, clazz) {
|
|
23
|
+
const indexInfo = MetadataUtil.initOwnArrayMetaData(MODEL_DATA_INDICES, clazz, []);
|
|
24
|
+
indexInfo.push({
|
|
25
|
+
fields,
|
|
26
|
+
options,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static getModelIndices(clazz) {
|
|
30
|
+
return MetadataUtil.getArrayMetaData(MODEL_DATA_INDICES, clazz);
|
|
31
|
+
}
|
|
32
|
+
static addModelAttribute(dataType, options, clazz, property) {
|
|
33
|
+
const attributeMap = MetadataUtil.initOwnMapMetaData(MODEL_DATA_ATTRIBUTES, clazz, new Map());
|
|
34
|
+
attributeMap.set(property, {
|
|
35
|
+
dataType,
|
|
36
|
+
options,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static getModelAttributes(clazz) {
|
|
40
|
+
return MetadataUtil.getMetaData(MODEL_DATA_ATTRIBUTES, clazz);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUXJELE9BQU8sRUFDTCxRQUFRLEVBQ1IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIscUJBQXFCLEdBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFJM0IsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFnQixFQUFFLEtBQXdCO1FBQzFELFlBQVksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUF3QjtRQUN4QyxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBa0IsRUFBRSxLQUF3QjtRQUMvRCxZQUFZLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxLQUF3QjtRQUM3RCxZQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBZ0IsRUFBRSxPQUFpQyxFQUFFLEtBQXdCO1FBQ2hHLE1BQU0sU0FBUyxHQUEwQixZQUFZLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzdDLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxPQUFxQyxFQUFFLEtBQXdCLEVBQUUsUUFBZ0I7UUFDMUgsTUFBTSxZQUFZLEdBQXNCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pILFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3pCLFFBQVE7WUFDUixPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGIn0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { ModelMetadata } from '../model/
|
|
2
|
+
import { ModelMetadata } from '../model/index.js';
|
|
3
3
|
export declare const MODEL_METADATA: unique symbol;
|
|
4
4
|
export declare class ModelMetadataUtil {
|
|
5
5
|
static setModelMetadata(clazz: EggProtoImplClass, metaData: ModelMetadata): void;
|
|
6
|
-
static getModelMetadata(clazz:
|
|
6
|
+
static getModelMetadata(clazz: EggProtoImplClass): ModelMetadata | undefined;
|
|
7
7
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
export const MODEL_METADATA = Symbol.for('EggPrototype#model#metadata');
|
|
3
|
+
export class ModelMetadataUtil {
|
|
4
|
+
static setModelMetadata(clazz, metaData) {
|
|
5
|
+
MetadataUtil.defineMetaData(MODEL_METADATA, metaData, clazz);
|
|
6
|
+
}
|
|
7
|
+
static getModelMetadata(clazz) {
|
|
8
|
+
return MetadataUtil.getMetaData(MODEL_METADATA, clazz);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNb2RlbE1ldGFkYXRhVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV4RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QixFQUFFLFFBQXVCO1FBQ3ZFLFlBQVksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXdCO1FBQzlDLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import pluralize from 'pluralize';
|
|
3
|
+
export class NameUtil {
|
|
4
|
+
/**
|
|
5
|
+
* get table name
|
|
6
|
+
* StudentScore -> student_scores
|
|
7
|
+
*/
|
|
8
|
+
static getTableName(modelName) {
|
|
9
|
+
const modelNames = pluralize(modelName);
|
|
10
|
+
return _.snakeCase(modelNames);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* get attribute name
|
|
14
|
+
* userName -> user_name
|
|
15
|
+
*/
|
|
16
|
+
static getAttributeName(propertyName) {
|
|
17
|
+
return _.snakeCase(propertyName);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* [ 'user_name' ], unique
|
|
21
|
+
* uk_user_name
|
|
22
|
+
*
|
|
23
|
+
* [ 'user_name', 'gender' ]
|
|
24
|
+
* idx_user_name_gender
|
|
25
|
+
*/
|
|
26
|
+
static getIndexName(fields, options) {
|
|
27
|
+
const prefix = options?.unique ? 'uk_' : 'idx_';
|
|
28
|
+
const names = fields.join('_');
|
|
29
|
+
return prefix + names;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJOYW1lVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxRQUFRO0lBQ25COzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUI7UUFDbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFnQixFQUFFLE9BQThCO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsT0FBTyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './ModelInfoUtil.js';
|
|
2
|
+
export * from './ModelMetadataUtil.js';
|
|
3
|
+
export * from './NameUtil.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUMifQ==
|
package/dist/index.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export * from '@eggjs/tegg-types/orm';
|
|
2
|
-
export * from './src/model/ModelMetadata';
|
|
3
|
-
export * from './src/model/AttributeMeta';
|
|
4
|
-
export * from './src/model/IndexMeta';
|
|
5
|
-
export * from './src/builder/AttributeMetaBuilder';
|
|
6
|
-
export * from './src/builder/ModelMetaBuilder';
|
|
7
|
-
export * from './src/builder/IndexMetaBuilder';
|
|
8
|
-
export * from './src/decorator/Index';
|
|
9
|
-
export * from './src/decorator/Model';
|
|
10
|
-
export * from './src/decorator/Attribute';
|
|
11
|
-
export * from './src/decorator/DataSource';
|
|
12
|
-
export * from './src/util/ModelInfoUtil';
|
|
13
|
-
export * from './src/util/ModelMetadataUtil';
|
package/dist/index.js
DELETED
|
@@ -1,30 +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("@eggjs/tegg-types/orm"), exports);
|
|
18
|
-
__exportStar(require("./src/model/ModelMetadata"), exports);
|
|
19
|
-
__exportStar(require("./src/model/AttributeMeta"), exports);
|
|
20
|
-
__exportStar(require("./src/model/IndexMeta"), exports);
|
|
21
|
-
__exportStar(require("./src/builder/AttributeMetaBuilder"), exports);
|
|
22
|
-
__exportStar(require("./src/builder/ModelMetaBuilder"), exports);
|
|
23
|
-
__exportStar(require("./src/builder/IndexMetaBuilder"), exports);
|
|
24
|
-
__exportStar(require("./src/decorator/Index"), exports);
|
|
25
|
-
__exportStar(require("./src/decorator/Model"), exports);
|
|
26
|
-
__exportStar(require("./src/decorator/Attribute"), exports);
|
|
27
|
-
__exportStar(require("./src/decorator/DataSource"), exports);
|
|
28
|
-
__exportStar(require("./src/util/ModelInfoUtil"), exports);
|
|
29
|
-
__exportStar(require("./src/util/ModelMetadataUtil"), exports);
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLDREQUEwQztBQUMxQyw0REFBMEM7QUFDMUMsd0RBQXNDO0FBQ3RDLHFFQUFtRDtBQUNuRCxpRUFBK0M7QUFDL0MsaUVBQStDO0FBQy9DLHdEQUFzQztBQUN0Qyx3REFBc0M7QUFDdEMsNERBQTBDO0FBQzFDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMsK0RBQTZDIn0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AttributeMetaBuilder = void 0;
|
|
4
|
-
const AttributeMeta_1 = require("../model/AttributeMeta");
|
|
5
|
-
const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
|
|
6
|
-
const NameUtil_1 = require("../util/NameUtil");
|
|
7
|
-
class AttributeMetaBuilder {
|
|
8
|
-
constructor(clazz) {
|
|
9
|
-
this.clazz = clazz;
|
|
10
|
-
}
|
|
11
|
-
build() {
|
|
12
|
-
const modelAttributes = ModelInfoUtil_1.ModelInfoUtil.getModelAttributes(this.clazz);
|
|
13
|
-
const attributes = [];
|
|
14
|
-
if (!modelAttributes) {
|
|
15
|
-
throw new Error(`model ${this.clazz.name} has no attributes`);
|
|
16
|
-
}
|
|
17
|
-
for (const [propertyName, attributeInfo] of modelAttributes) {
|
|
18
|
-
const attribute = this.buildAttributeMeta(propertyName, attributeInfo);
|
|
19
|
-
attributes.push(attribute);
|
|
20
|
-
}
|
|
21
|
-
return attributes;
|
|
22
|
-
}
|
|
23
|
-
buildAttributeMeta(propertyName, attributeInfo) {
|
|
24
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
25
|
-
return new AttributeMeta_1.AttributeMeta(attributeInfo.dataType, propertyName, (_b = (_a = attributeInfo.options) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : NameUtil_1.NameUtil.getAttributeName(propertyName), (_d = (_c = attributeInfo.options) === null || _c === void 0 ? void 0 : _c.allowNull) !== null && _d !== void 0 ? _d : true, (_f = (_e = attributeInfo.options) === null || _e === void 0 ? void 0 : _e.autoIncrement) !== null && _f !== void 0 ? _f : false, (_h = (_g = attributeInfo.options) === null || _g === void 0 ? void 0 : _g.primary) !== null && _h !== void 0 ? _h : false, (_k = (_j = attributeInfo.options) === null || _j === void 0 ? void 0 : _j.unique) !== null && _k !== void 0 ? _k : false);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.AttributeMetaBuilder = AttributeMetaBuilder;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlci9BdHRyaWJ1dGVNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwREFBdUQ7QUFDdkQseURBQXNEO0FBQ3RELCtDQUE0QztBQUU1QyxNQUFhLG9CQUFvQjtJQUcvQixZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxlQUFlLEdBQUcsNkJBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQXlCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxLQUFLLE1BQU0sQ0FBRSxZQUFZLEVBQUUsYUFBYSxDQUFFLElBQUksZUFBZSxFQUFFLENBQUM7WUFDOUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN2RSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsWUFBb0IsRUFBRSxhQUFpQzs7UUFDaEYsT0FBTyxJQUFJLDZCQUFhLENBQ3RCLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLFlBQVksRUFDWixNQUFBLE1BQUEsYUFBYSxDQUFDLE9BQU8sMENBQUUsSUFBSSxtQ0FBSSxtQkFBUSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxFQUN0RSxNQUFBLE1BQUEsYUFBYSxDQUFDLE9BQU8sMENBQUUsU0FBUyxtQ0FBSSxJQUFJLEVBQ3hDLE1BQUEsTUFBQSxhQUFhLENBQUMsT0FBTywwQ0FBRSxhQUFhLG1DQUFJLEtBQUssRUFDN0MsTUFBQSxNQUFBLGFBQWEsQ0FBQyxPQUFPLDBDQUFFLE9BQU8sbUNBQUksS0FBSyxFQUN2QyxNQUFBLE1BQUEsYUFBYSxDQUFDLE9BQU8sMENBQUUsTUFBTSxtQ0FBSSxLQUFLLENBQ3ZDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEvQkQsb0RBK0JDIn0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IndexMetaBuilder = void 0;
|
|
4
|
-
const IndexMeta_1 = require("../model/IndexMeta");
|
|
5
|
-
const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
|
|
6
|
-
const NameUtil_1 = require("../util/NameUtil");
|
|
7
|
-
class IndexMetaBuilder {
|
|
8
|
-
constructor(clazz, attributes) {
|
|
9
|
-
this.clazz = clazz;
|
|
10
|
-
this.attributes = attributes;
|
|
11
|
-
}
|
|
12
|
-
build() {
|
|
13
|
-
return ModelInfoUtil_1.ModelInfoUtil.getModelIndices(this.clazz)
|
|
14
|
-
.map(indexInfo => this.buildIndexMeta(indexInfo));
|
|
15
|
-
}
|
|
16
|
-
buildIndexMeta(indexInfo) {
|
|
17
|
-
var _a, _b, _c, _d, _e, _f;
|
|
18
|
-
const fields = [];
|
|
19
|
-
for (const field of indexInfo.fields) {
|
|
20
|
-
const attribute = this.attributes.find(t => t.propertyName === field);
|
|
21
|
-
if (!attribute) {
|
|
22
|
-
throw new Error(`model ${this.clazz.name} has no attribute named ${field}`);
|
|
23
|
-
}
|
|
24
|
-
fields.push(attribute.attributeName);
|
|
25
|
-
}
|
|
26
|
-
let indexName;
|
|
27
|
-
if ((_a = indexInfo.options) === null || _a === void 0 ? void 0 : _a.name) {
|
|
28
|
-
indexName = indexInfo.options.name;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
indexName = NameUtil_1.NameUtil.getIndexName(fields, { unique: (_b = indexInfo.options) === null || _b === void 0 ? void 0 : _b.unique });
|
|
32
|
-
}
|
|
33
|
-
return new IndexMeta_1.IndexMeta(indexName, fields, (_d = (_c = indexInfo.options) === null || _c === void 0 ? void 0 : _c.unique) !== null && _d !== void 0 ? _d : false, (_f = (_e = indexInfo.options) === null || _e === void 0 ? void 0 : _e.primary) !== null && _f !== void 0 ? _f : false);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.IndexMetaBuilder = IndexMetaBuilder;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVyL0luZGV4TWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esa0RBQStDO0FBQy9DLHlEQUFzRDtBQUN0RCwrQ0FBNEM7QUFHNUMsTUFBYSxnQkFBZ0I7SUFJM0IsWUFBWSxLQUF3QixFQUFFLFVBQWdDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyw2QkFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQXlCOztRQUM5QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLDJCQUEyQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksTUFBQSxTQUFTLENBQUMsT0FBTywwQ0FBRSxJQUFJLEVBQUUsQ0FBQztZQUM1QixTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixTQUFTLEdBQUcsbUJBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQUEsU0FBUyxDQUFDLE9BQU8sMENBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxJQUFJLHFCQUFTLENBQ2xCLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBQSxNQUFBLFNBQVMsQ0FBQyxPQUFPLDBDQUFFLE1BQU0sbUNBQUksS0FBSyxFQUNsQyxNQUFBLE1BQUEsU0FBUyxDQUFDLE9BQU8sMENBQUUsT0FBTyxtQ0FBSSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0Y7QUFwQ0QsNENBb0NDIn0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelMetaBuilder = void 0;
|
|
4
|
-
const ModelMetadata_1 = require("../model/ModelMetadata");
|
|
5
|
-
const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
|
|
6
|
-
const NameUtil_1 = require("../util/NameUtil");
|
|
7
|
-
const IndexMetaBuilder_1 = require("./IndexMetaBuilder");
|
|
8
|
-
const AttributeMetaBuilder_1 = require("./AttributeMetaBuilder");
|
|
9
|
-
class ModelMetaBuilder {
|
|
10
|
-
constructor(clazz) {
|
|
11
|
-
this.clazz = clazz;
|
|
12
|
-
}
|
|
13
|
-
build() {
|
|
14
|
-
const dataSource = ModelInfoUtil_1.ModelInfoUtil.getDataSource(this.clazz);
|
|
15
|
-
const tableName = ModelInfoUtil_1.ModelInfoUtil.getTableName(this.clazz) || NameUtil_1.NameUtil.getTableName(this.clazz.name);
|
|
16
|
-
const attributeMetaBuilder = new AttributeMetaBuilder_1.AttributeMetaBuilder(this.clazz);
|
|
17
|
-
const attributes = attributeMetaBuilder.build();
|
|
18
|
-
const indexMetaBuilder = new IndexMetaBuilder_1.IndexMetaBuilder(this.clazz, attributes);
|
|
19
|
-
const indices = indexMetaBuilder.build();
|
|
20
|
-
return new ModelMetadata_1.ModelMetadata(dataSource, tableName, attributes, indices);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.ModelMetaBuilder = ModelMetaBuilder;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVyL01vZGVsTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMERBQXVEO0FBQ3ZELHlEQUFzRDtBQUN0RCwrQ0FBNEM7QUFDNUMseURBQXNEO0FBQ3RELGlFQUE4RDtBQUU5RCxNQUFhLGdCQUFnQjtJQUczQixZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxVQUFVLEdBQUcsNkJBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLDZCQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25HLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1DQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsT0FBTyxJQUFJLDZCQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGO0FBaEJELDRDQWdCQyJ9
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Attribute = Attribute;
|
|
7
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
-
const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
|
|
9
|
-
function Attribute(dataType, options) {
|
|
10
|
-
return function (target, propertyKey) {
|
|
11
|
-
const clazz = target.constructor;
|
|
12
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[model/${clazz.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
13
|
-
ModelInfoUtil_1.ModelInfoUtil.addModelAttribute(dataType, options, clazz, propertyKey);
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RlY29yYXRvci9BdHRyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSw4QkFPQztBQVhELDhEQUFpQztBQUVqQyx5REFBc0Q7QUFFdEQsU0FBZ0IsU0FBUyxDQUFDLFFBQWdCLEVBQUUsT0FBMEI7SUFDcEUsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUN0RCxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxVQUFVLEtBQUssQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xHLDZCQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataSource = DataSource;
|
|
4
|
-
const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
|
|
5
|
-
function DataSource(dataSource) {
|
|
6
|
-
return function (clazz) {
|
|
7
|
-
ModelInfoUtil_1.ModelInfoUtil.setDataSource(dataSource, clazz);
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLGdDQUlDO0FBTkQseURBQXNEO0FBRXRELFNBQWdCLFVBQVUsQ0FBQyxVQUFrQjtJQUMzQyxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsNkJBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Index = Index;
|
|
4
|
-
const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
|
|
5
|
-
function Index(fields, params) {
|
|
6
|
-
return function (clazz) {
|
|
7
|
-
ModelInfoUtil_1.ModelInfoUtil.addModelIndex(fields, params, clazz);
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9yL0luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esc0JBSUM7QUFORCx5REFBc0Q7QUFFdEQsU0FBZ0IsS0FBSyxDQUFDLE1BQWdCLEVBQUUsTUFBcUI7SUFDM0QsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLDZCQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Model = Model;
|
|
4
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
5
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
6
|
-
const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
|
|
7
|
-
function Model(param) {
|
|
8
|
-
return function (clazz) {
|
|
9
|
-
ModelInfoUtil_1.ModelInfoUtil.setIsModel(true, clazz);
|
|
10
|
-
const func = (0, core_decorator_1.SingletonProto)({
|
|
11
|
-
name: clazz.name,
|
|
12
|
-
accessLevel: tegg_types_1.AccessLevel.PUBLIC,
|
|
13
|
-
protoImplType: tegg_types_1.MODEL_PROTO_IMPL_TYPE,
|
|
14
|
-
});
|
|
15
|
-
if (param === null || param === void 0 ? void 0 : param.tableName) {
|
|
16
|
-
ModelInfoUtil_1.ModelInfoUtil.setTableName(param.tableName, clazz);
|
|
17
|
-
}
|
|
18
|
-
if (param === null || param === void 0 ? void 0 : param.dataSource) {
|
|
19
|
-
ModelInfoUtil_1.ModelInfoUtil.setDataSource(param.dataSource, clazz);
|
|
20
|
-
}
|
|
21
|
-
func(clazz);
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9yL01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0Esc0JBZ0JDO0FBckJELDBEQUF1RDtBQUN2RCxrREFBdUU7QUFFdkUseURBQXNEO0FBRXRELFNBQWdCLEtBQUssQ0FBQyxLQUFtQjtJQUN2QyxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsNkJBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUEsK0JBQWMsRUFBQztZQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsV0FBVyxFQUFFLHdCQUFXLENBQUMsTUFBTTtZQUMvQixhQUFhLEVBQUUsa0NBQXFCO1NBQ3JDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLDZCQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLDZCQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AttributeMeta = void 0;
|
|
4
|
-
class AttributeMeta {
|
|
5
|
-
constructor(dataType, propertyName, attributeName, allowNull, autoIncrement, primary, unique) {
|
|
6
|
-
this.dataType = dataType;
|
|
7
|
-
this.propertyName = propertyName;
|
|
8
|
-
this.attributeName = attributeName;
|
|
9
|
-
this.allowNull = allowNull;
|
|
10
|
-
this.autoIncrement = autoIncrement;
|
|
11
|
-
this.primary = primary;
|
|
12
|
-
this.unique = unique;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.AttributeMeta = AttributeMeta;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9BdHRyaWJ1dGVNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWEsYUFBYTtJQVN4QixZQUNFLFFBQWdCLEVBQ2hCLFlBQW9CLEVBQ3BCLGFBQXFCLEVBQ3JCLFNBQWtCLEVBQ2xCLGFBQXNCLEVBQ3RCLE9BQWdCLEVBQ2hCLE1BQWU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUF6QkQsc0NBeUJDIn0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IndexMeta = void 0;
|
|
4
|
-
class IndexMeta {
|
|
5
|
-
constructor(name, fields, unique, primary) {
|
|
6
|
-
this.name = name;
|
|
7
|
-
this.fields = fields;
|
|
8
|
-
this.unique = unique;
|
|
9
|
-
this.primary = primary;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.IndexMeta = IndexMeta;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL0luZGV4TWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFNBQVM7SUFNcEIsWUFDRSxJQUFZLEVBQ1osTUFBZ0IsRUFDaEIsTUFBZSxFQUNmLE9BQWdCO1FBRWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQWpCRCw4QkFpQkMifQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelMetadata = void 0;
|
|
4
|
-
class ModelMetadata {
|
|
5
|
-
constructor(dataSource, tableName, attributes, indices) {
|
|
6
|
-
this.dataSource = dataSource;
|
|
7
|
-
this.tableName = tableName;
|
|
8
|
-
this.attributes = attributes;
|
|
9
|
-
this.indices = indices;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.ModelMetadata = ModelMetadata;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9Nb2RlbE1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsYUFBYTtJQU14QixZQUFZLFVBQThCLEVBQUUsU0FBaUIsRUFBRSxVQUFnQyxFQUFFLE9BQXlCO1FBQ3hILElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQVpELHNDQVlDIn0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelInfoUtil = void 0;
|
|
4
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
5
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
6
|
-
class ModelInfoUtil {
|
|
7
|
-
static setIsModel(isModel, clazz) {
|
|
8
|
-
core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.IS_MODEL, isModel, clazz);
|
|
9
|
-
}
|
|
10
|
-
static getIsModel(clazz) {
|
|
11
|
-
return core_decorator_1.MetadataUtil.getBooleanMetaData(tegg_types_1.IS_MODEL, clazz);
|
|
12
|
-
}
|
|
13
|
-
static setDataSource(dataSource, clazz) {
|
|
14
|
-
core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.MODEL_DATA_SOURCE, dataSource, clazz);
|
|
15
|
-
}
|
|
16
|
-
static getDataSource(clazz) {
|
|
17
|
-
return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.MODEL_DATA_SOURCE, clazz);
|
|
18
|
-
}
|
|
19
|
-
static setTableName(tableName, clazz) {
|
|
20
|
-
core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.MODEL_DATA_TABLE_NAME, tableName, clazz);
|
|
21
|
-
}
|
|
22
|
-
static getTableName(clazz) {
|
|
23
|
-
return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.MODEL_DATA_TABLE_NAME, clazz);
|
|
24
|
-
}
|
|
25
|
-
static addModelIndex(fields, options, clazz) {
|
|
26
|
-
const indexInfo = core_decorator_1.MetadataUtil.initOwnArrayMetaData(tegg_types_1.MODEL_DATA_INDICES, clazz, []);
|
|
27
|
-
indexInfo.push({
|
|
28
|
-
fields,
|
|
29
|
-
options,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
static getModelIndices(clazz) {
|
|
33
|
-
return core_decorator_1.MetadataUtil.getArrayMetaData(tegg_types_1.MODEL_DATA_INDICES, clazz);
|
|
34
|
-
}
|
|
35
|
-
static addModelAttribute(dataType, options, clazz, property) {
|
|
36
|
-
const attributeMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.MODEL_DATA_ATTRIBUTES, clazz, new Map());
|
|
37
|
-
attributeMap.set(property, {
|
|
38
|
-
dataType,
|
|
39
|
-
options,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
static getModelAttributes(clazz) {
|
|
43
|
-
return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.MODEL_DATA_ATTRIBUTES, clazz);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.ModelInfoUtil = ModelInfoUtil;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL01vZGVsSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBUXJELGtEQU0yQjtBQUkzQixNQUFhLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFnQixFQUFFLEtBQXdCO1FBQzFELDZCQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQXdCO1FBQ3hDLE9BQU8sNkJBQVksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWtCLEVBQUUsS0FBd0I7UUFDL0QsNkJBQVksQ0FBQyxjQUFjLENBQUMsOEJBQWlCLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQXdCO1FBQzNDLE9BQU8sNkJBQVksQ0FBQyxXQUFXLENBQUMsOEJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxLQUF3QjtRQUM3RCw2QkFBWSxDQUFDLGNBQWMsQ0FBQyxrQ0FBcUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0I7UUFDMUMsT0FBTyw2QkFBWSxDQUFDLFdBQVcsQ0FBQyxrQ0FBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFnQixFQUFFLE9BQWlDLEVBQUUsS0FBd0I7UUFDaEcsTUFBTSxTQUFTLEdBQTBCLDZCQUFZLENBQUMsb0JBQW9CLENBQUMsK0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzdDLE9BQU8sNkJBQVksQ0FBQyxnQkFBZ0IsQ0FBQywrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQWdCLEVBQUUsT0FBcUMsRUFBRSxLQUF3QixFQUFFLFFBQWdCO1FBQzFILE1BQU0sWUFBWSxHQUFzQiw2QkFBWSxDQUFDLGtCQUFrQixDQUFDLGtDQUFxQixFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDakgsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDekIsUUFBUTtZQUNSLE9BQU87U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCO1FBQ2hELE9BQU8sNkJBQVksQ0FBQyxXQUFXLENBQUMsa0NBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBaERELHNDQWdEQyJ9
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelMetadataUtil = exports.MODEL_METADATA = void 0;
|
|
4
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
5
|
-
exports.MODEL_METADATA = Symbol.for('EggPrototype#model#metadata');
|
|
6
|
-
class ModelMetadataUtil {
|
|
7
|
-
static setModelMetadata(clazz, metaData) {
|
|
8
|
-
core_decorator_1.MetadataUtil.defineMetaData(exports.MODEL_METADATA, metaData, clazz);
|
|
9
|
-
}
|
|
10
|
-
static getModelMetadata(clazz) {
|
|
11
|
-
return core_decorator_1.MetadataUtil.getMetaData(exports.MODEL_METADATA, clazz);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.ModelMetadataUtil = ModelMetadataUtil;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9Nb2RlbE1ldGFkYXRhVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFJeEMsUUFBQSxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhFLE1BQWEsaUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QixFQUFFLFFBQXVCO1FBQ3ZFLDZCQUFZLENBQUMsY0FBYyxDQUFDLHNCQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSztRQUMzQixPQUFPLDZCQUFZLENBQUMsV0FBVyxDQUFDLHNCQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBUkQsOENBUUMifQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.NameUtil = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const pluralize_1 = __importDefault(require("pluralize"));
|
|
9
|
-
class NameUtil {
|
|
10
|
-
/**
|
|
11
|
-
* get table name
|
|
12
|
-
* StudentScore -> student_scores
|
|
13
|
-
*/
|
|
14
|
-
static getTableName(modelName) {
|
|
15
|
-
const modelNames = (0, pluralize_1.default)(modelName);
|
|
16
|
-
return lodash_1.default.snakeCase(modelNames);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* get attribute name
|
|
20
|
-
* userName -> user_name
|
|
21
|
-
*/
|
|
22
|
-
static getAttributeName(propertyName) {
|
|
23
|
-
return lodash_1.default.snakeCase(propertyName);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* [ 'user_name' ], unique
|
|
27
|
-
* uk_user_name
|
|
28
|
-
*
|
|
29
|
-
* [ 'user_name', 'gender' ]
|
|
30
|
-
* idx_user_name_gender
|
|
31
|
-
*/
|
|
32
|
-
static getIndexName(fields, options) {
|
|
33
|
-
const prefix = (options === null || options === void 0 ? void 0 : options.unique) ? 'uk_' : 'idx_';
|
|
34
|
-
const names = fields.join('_');
|
|
35
|
-
return prefix + names;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.NameUtil = NameUtil;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9OYW1lVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBdUI7QUFDdkIsMERBQWtDO0FBRWxDLE1BQWEsUUFBUTtJQUNuQjs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQWlCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLElBQUEsbUJBQVMsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxPQUFPLGdCQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBb0I7UUFDMUMsT0FBTyxnQkFBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFnQixFQUFFLE9BQThCO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBOUJELDRCQThCQyJ9
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|