1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | Object.defineProperty(exports, "__esModule", { value: true });
|
7 | exports.ModelMetadataHelper = void 0;
|
8 | const core_1 = require("@loopback/core");
|
9 | const model_1 = require("../model");
|
10 | const relations_1 = require("../relations");
|
11 | const model_decorator_1 = require("./model.decorator");
|
12 | class ModelMetadataHelper {
|
13 | |
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | static getModelMetadata(target, options) {
|
21 | const classDef = core_1.MetadataInspector.getClassMetadata(model_decorator_1.MODEL_WITH_PROPERTIES_KEY, target,
|
22 |
|
23 |
|
24 | { ...options, ownMetadataOnly: true });
|
25 |
|
26 |
|
27 |
|
28 | if (classDef) {
|
29 | return classDef;
|
30 | }
|
31 | else {
|
32 | const modelMeta = core_1.MetadataInspector.getClassMetadata(model_decorator_1.MODEL_KEY, target, options);
|
33 | if (!modelMeta) {
|
34 | return {};
|
35 | }
|
36 | else {
|
37 |
|
38 |
|
39 | const meta = new model_1.ModelDefinition({ ...modelMeta });
|
40 |
|
41 | Object.assign(meta, modelMeta);
|
42 | meta.properties = Object.assign(meta.properties, core_1.MetadataInspector.getAllPropertyMetadata(model_decorator_1.MODEL_PROPERTIES_KEY, target.prototype, options));
|
43 | meta.relations = Object.assign(meta.relations, core_1.MetadataInspector.getAllPropertyMetadata(relations_1.RELATIONS_KEY, target.prototype, options));
|
44 | core_1.MetadataInspector.defineMetadata(model_decorator_1.MODEL_WITH_PROPERTIES_KEY.key, meta, target);
|
45 | return meta;
|
46 | }
|
47 | }
|
48 | }
|
49 | }
|
50 | exports.ModelMetadataHelper = ModelMetadataHelper;
|
51 |
|
\ | No newline at end of file |