@eggjs/tegg-orm-decorator 3.62.0 → 4.0.0-beta.10
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/README.md +16 -6
- package/dist/{src/builder → builder}/AttributeMetaBuilder.d.ts +1 -1
- package/dist/builder/AttributeMetaBuilder.js +24 -0
- package/dist/{src/builder → builder}/IndexMetaBuilder.d.ts +1 -2
- package/dist/builder/IndexMetaBuilder.js +33 -0
- package/dist/{src/builder → builder}/ModelMetaBuilder.d.ts +1 -1
- package/dist/builder/ModelMetaBuilder.js +20 -0
- package/dist/builder/index.d.ts +3 -0
- package/dist/builder/index.js +4 -0
- package/dist/decorator/Attribute.js +10 -0
- package/dist/decorator/DataSource.js +7 -0
- package/dist/decorator/Model.js +21 -0
- package/dist/decorator/ModelIndex.js +7 -0
- package/dist/decorator/index.d.ts +4 -0
- package/dist/decorator/index.js +5 -0
- package/dist/index.d.ts +4 -12
- package/dist/index.js +6 -30
- package/dist/model/AttributeMeta.js +19 -0
- package/dist/model/IndexMeta.js +13 -0
- package/dist/{src/model → model}/ModelMetadata.d.ts +2 -2
- package/dist/model/ModelMetadata.js +15 -0
- package/dist/model/index.d.ts +3 -0
- package/dist/model/index.js +4 -0
- package/dist/util/ModelInfoUtil.js +43 -0
- package/dist/{src/util → util}/ModelMetadataUtil.d.ts +2 -2
- package/dist/util/ModelMetadataUtil.js +12 -0
- package/dist/util/NameUtil.js +32 -0
- package/dist/util/index.d.ts +3 -0
- package/dist/util/index.js +4 -0
- package/package.json +28 -31
- 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/decorator → decorator}/Attribute.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/DataSource.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Model.d.ts +0 -0
- /package/dist/{src/decorator/Index.d.ts → decorator/ModelIndex.d.ts} +0 -0
- /package/dist/{src/model → model}/AttributeMeta.d.ts +0 -0
- /package/dist/{src/model → model}/IndexMeta.d.ts +0 -0
- /package/dist/{src/util → util}/ModelInfoUtil.d.ts +0 -0
- /package/dist/{src/util → util}/NameUtil.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# `@eggjs/tegg-orm-decorator`
|
|
2
2
|
|
|
3
|
+
[![NPM version][npm-image]][npm-url]
|
|
4
|
+
[![Known Vulnerabilities][snyk-image]][snyk-url]
|
|
5
|
+
[![npm download][download-image]][download-url]
|
|
6
|
+
[](https://nodejs.org/en/download/)
|
|
7
|
+
|
|
8
|
+
[npm-image]: https://img.shields.io/npm/v/@eggjs/tegg-orm-decorator.svg?style=flat-square
|
|
9
|
+
[npm-url]: https://npmjs.org/package/@eggjs/tegg-orm-decorator
|
|
10
|
+
[snyk-image]: https://snyk.io/test/npm/@eggjs/tegg-orm-decorator/badge.svg?style=flat-square
|
|
11
|
+
[snyk-url]: https://snyk.io/test/npm/@eggjs/tegg-orm-decorator
|
|
12
|
+
[download-image]: https://img.shields.io/npm/dm/@eggjs/tegg-orm-decorator.svg?style=flat-square
|
|
13
|
+
[download-url]: https://npmjs.org/package/@eggjs/tegg-orm-decorator
|
|
14
|
+
|
|
3
15
|
## Install
|
|
4
16
|
|
|
5
17
|
```shell
|
|
@@ -10,7 +22,9 @@ npm i --save @eggjs/tegg-orm-decorator
|
|
|
10
22
|
|
|
11
23
|
```ts
|
|
12
24
|
import { Model, Attribute } from '@eggjs/tegg-orm-decorator';
|
|
13
|
-
import
|
|
25
|
+
import leoric from 'leoric';
|
|
26
|
+
|
|
27
|
+
const { DataTypes, Bone } = leoric;
|
|
14
28
|
|
|
15
29
|
@Model()
|
|
16
30
|
export class App extends Bone {
|
|
@@ -32,10 +46,7 @@ export class AppService {
|
|
|
32
46
|
@Inject()
|
|
33
47
|
App: typeof App;
|
|
34
48
|
|
|
35
|
-
async createApp(data: {
|
|
36
|
-
name: string;
|
|
37
|
-
desc: string;
|
|
38
|
-
}): Promise<App> {
|
|
49
|
+
async createApp(data: { name: string; desc: string }): Promise<App> {
|
|
39
50
|
const bone = await this.App.create(data as any);
|
|
40
51
|
return bone as App;
|
|
41
52
|
}
|
|
@@ -45,5 +56,4 @@ export class AppService {
|
|
|
45
56
|
return app as App;
|
|
46
57
|
}
|
|
47
58
|
}
|
|
48
|
-
|
|
49
59
|
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { AttributeMeta } from '../model/
|
|
2
|
+
import { AttributeMeta } from '../model/index.ts';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlci9BdHRyaWJ1dGVNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsS0FBSyxDQUFvQjtJQUUxQyxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFFLFlBQVksRUFBRSxhQUFhLENBQUUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUFvQixFQUFFLGFBQWlDO1FBQ2hGLE9BQU8sSUFBSSxhQUFhLENBQ3RCLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLFlBQVksRUFDWixhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEVBQ3RFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksRUFDeEMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLElBQUksS0FBSyxFQUM3QyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQ3ZDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FDdkMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -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.ts';
|
|
4
3
|
export declare class IndexMetaBuilder {
|
|
5
4
|
private readonly clazz;
|
|
6
5
|
private readonly attributes;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IndexMeta, AttributeMeta } 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyL0luZGV4TWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE1BQU0sT0FBTyxnQkFBZ0I7SUFDVixLQUFLLENBQW9CO0lBQ3pCLFVBQVUsQ0FBdUI7SUFFbEQsWUFBWSxLQUF3QixFQUFFLFVBQWdDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsU0FBeUI7UUFDOUMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSwyQkFBMkIsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLEVBQ2xDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { ModelMetadata } from '../model/
|
|
2
|
+
import { ModelMetadata } from '../model/index.ts';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyL01vZGVsTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLEtBQUssQ0FBb0I7SUFFMUMsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRyxNQUFNLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9BdHRyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBSWpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsU0FBUyxDQUFDLFFBQWdCLEVBQUUsT0FBMEI7SUFDcEUsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUN0RCxNQUFNLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxVQUFVLEtBQUssQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6RSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3IvRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxVQUFrQjtJQUMzQyxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxLQUFLLENBQUMsS0FBbUI7SUFDdkMsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQztZQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1lBQy9CLGFBQWEsRUFBRSxxQkFBcUI7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDckIsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN0QixhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3IvTW9kZWxJbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLEtBQUssQ0FBQyxNQUFnQixFQUFFLE1BQXFCO0lBQzNELE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDIn0=
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
export * from '@eggjs/tegg-types/orm';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
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';
|
|
2
|
+
export * from './builder/index.ts';
|
|
3
|
+
export * from './decorator/index.ts';
|
|
4
|
+
export * from './model/index.ts';
|
|
5
|
+
export * from './util/index.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,30 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
+
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9BdHRyaWJ1dGVNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBQ2YsUUFBUSxDQUFTO0lBQ2pCLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVM7SUFDdEIsU0FBUyxDQUFVO0lBQ25CLGFBQWEsQ0FBVTtJQUN2QixPQUFPLENBQVU7SUFDakIsTUFBTSxDQUFVO0lBRXpCLFlBQ0UsUUFBZ0IsRUFDaEIsWUFBb0IsRUFDcEIsYUFBcUIsRUFDckIsU0FBa0IsRUFDbEIsYUFBc0IsRUFDdEIsT0FBZ0IsRUFDaEIsTUFBZTtRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0luZGV4TWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUNYLElBQUksQ0FBUztJQUNiLE1BQU0sQ0FBVztJQUNqQixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFVO0lBRTFCLFlBQ0UsSUFBWSxFQUNaLE1BQWdCLEVBQ2hCLE1BQWUsRUFDZixPQUFnQjtRQUVoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AttributeMeta } from './AttributeMeta';
|
|
2
|
-
import { IndexMeta } from './IndexMeta';
|
|
1
|
+
import { AttributeMeta } from './AttributeMeta.ts';
|
|
2
|
+
import { IndexMeta } from './IndexMeta.ts';
|
|
3
3
|
export declare class ModelMetadata {
|
|
4
4
|
readonly dataSource: string | undefined;
|
|
5
5
|
readonly tableName: string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AttributeMeta } from "./AttributeMeta.js";
|
|
2
|
+
import { IndexMeta } from "./IndexMeta.js";
|
|
3
|
+
export class ModelMetadata {
|
|
4
|
+
dataSource;
|
|
5
|
+
tableName;
|
|
6
|
+
attributes;
|
|
7
|
+
indices;
|
|
8
|
+
constructor(dataSource, tableName, attributes, indices) {
|
|
9
|
+
this.dataSource = dataSource;
|
|
10
|
+
this.tableName = tableName;
|
|
11
|
+
this.attributes = attributes;
|
|
12
|
+
this.indices = indices;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9Nb2RlbE1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLGFBQWE7SUFDZixVQUFVLENBQXFCO0lBQy9CLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQXVCO0lBQ2pDLE9BQU8sQ0FBbUI7SUFFbkMsWUFBWSxVQUE4QixFQUFFLFNBQWlCLEVBQUUsVUFBZ0MsRUFBRSxPQUF5QjtRQUN4SCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL01vZGVsSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUXJELE9BQU8sRUFDTCxRQUFRLEVBQ1IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIscUJBQXFCLEdBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFJM0IsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFnQixFQUFFLEtBQXdCO1FBQzFELFlBQVksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUF3QjtRQUN4QyxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBa0IsRUFBRSxLQUF3QjtRQUMvRCxZQUFZLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxLQUF3QjtRQUM3RCxZQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBZ0IsRUFBRSxPQUFpQyxFQUFFLEtBQXdCO1FBQ2hHLE1BQU0sU0FBUyxHQUEwQixZQUFZLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzdDLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxPQUFxQyxFQUFFLEtBQXdCLEVBQUUsUUFBZ0I7UUFDMUgsTUFBTSxZQUFZLEdBQXNCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pILFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3pCLFFBQVE7WUFDUixPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGIn0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { ModelMetadata } from '../model/
|
|
2
|
+
import { ModelMetadata } from '../model/index.ts';
|
|
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,12 @@
|
|
|
1
|
+
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
import { ModelMetadata } from "../model/index.js";
|
|
3
|
+
export const MODEL_METADATA = Symbol.for('EggPrototype#model#metadata');
|
|
4
|
+
export class ModelMetadataUtil {
|
|
5
|
+
static setModelMetadata(clazz, metaData) {
|
|
6
|
+
MetadataUtil.defineMetaData(MODEL_METADATA, metaData, clazz);
|
|
7
|
+
}
|
|
8
|
+
static getModelMetadata(clazz) {
|
|
9
|
+
return MetadataUtil.getMetaData(MODEL_METADATA, clazz);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9Nb2RlbE1ldGFkYXRhVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFFeEUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0IsRUFBRSxRQUF1QjtRQUN2RSxZQUFZLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QjtRQUM5QyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9OYW1lVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxRQUFRO0lBQ25COzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUI7UUFDbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFnQixFQUFFLE9BQThCO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsT0FBTyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-orm-decorator",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
4
|
"description": "tegg orm decorator",
|
|
5
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./dist/index.js",
|
|
8
|
+
"./package.json": "./package.json"
|
|
9
|
+
},
|
|
6
10
|
"files": [
|
|
7
|
-
"dist
|
|
8
|
-
"dist/**/*.d.ts"
|
|
11
|
+
"dist"
|
|
9
12
|
],
|
|
10
|
-
"typings": "dist/index.d.ts",
|
|
11
13
|
"keywords": [
|
|
12
14
|
"egg",
|
|
13
15
|
"typescript",
|
|
14
16
|
"runtime",
|
|
15
17
|
"tegg"
|
|
16
18
|
],
|
|
17
|
-
"scripts": {
|
|
18
|
-
"test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
|
|
19
|
-
"clean": "tsc -b --clean",
|
|
20
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
21
|
-
"tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
|
|
22
|
-
"prepublishOnly": "npm run tsc:pub"
|
|
23
|
-
},
|
|
24
19
|
"author": "killagu <killa123@126.com>",
|
|
25
20
|
"license": "MIT",
|
|
26
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
21
|
+
"homepage": "https://github.com/eggjs/tegg/tree/next/core/orm-decorator",
|
|
27
22
|
"bugs": {
|
|
28
23
|
"url": "https://github.com/eggjs/tegg/issues"
|
|
29
24
|
},
|
|
@@ -33,29 +28,31 @@
|
|
|
33
28
|
"directory": "core/orm-decorator"
|
|
34
29
|
},
|
|
35
30
|
"engines": {
|
|
36
|
-
"node": ">=
|
|
31
|
+
"node": ">=22.18.0"
|
|
37
32
|
},
|
|
38
33
|
"dependencies": {
|
|
39
|
-
"@eggjs/core-decorator": "^3.62.0",
|
|
40
|
-
"@eggjs/tegg-common-util": "^3.62.0",
|
|
41
|
-
"@eggjs/tegg-metadata": "^3.62.0",
|
|
42
|
-
"@eggjs/tegg-types": "^3.62.0",
|
|
43
34
|
"lodash": "^4.17.21",
|
|
44
|
-
"pluralize": "^8.0.0"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"leoric": "^2.6.1"
|
|
35
|
+
"pluralize": "^8.0.0",
|
|
36
|
+
"@eggjs/core-decorator": "4.0.0-beta.10",
|
|
37
|
+
"@eggjs/tegg-types": "4.0.0-beta.10"
|
|
48
38
|
},
|
|
49
39
|
"publishConfig": {
|
|
50
40
|
"access": "public"
|
|
51
41
|
},
|
|
52
42
|
"devDependencies": {
|
|
53
|
-
"@types/
|
|
54
|
-
"@types/node": "^
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
},
|
|
60
|
-
"
|
|
61
|
-
|
|
43
|
+
"@types/lodash": "^4.17.20",
|
|
44
|
+
"@types/node": "^22.10.5",
|
|
45
|
+
"@types/pluralize": "^0.0.33",
|
|
46
|
+
"tsdown": "^0.15.6",
|
|
47
|
+
"typescript": "^5.9.3",
|
|
48
|
+
"unplugin-unused": "^0.5.3"
|
|
49
|
+
},
|
|
50
|
+
"main": "./dist/index.js",
|
|
51
|
+
"module": "./dist/index.js",
|
|
52
|
+
"types": "./dist/index.d.ts",
|
|
53
|
+
"scripts": {
|
|
54
|
+
"clean": "rimraf dist",
|
|
55
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
56
|
+
"typecheck": "tsc --noEmit"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -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
|