@tachybase/database 0.23.8
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/.turbo/turbo-build.log +10 -0
- package/LICENSE +201 -0
- package/lib/collection-factory.d.ts +17 -0
- package/lib/collection-factory.js +52 -0
- package/lib/collection-group-manager.d.ts +26 -0
- package/lib/collection-group-manager.js +57 -0
- package/lib/collection-importer.d.ts +7 -0
- package/lib/collection-importer.js +74 -0
- package/lib/collection.d.ts +138 -0
- package/lib/collection.js +686 -0
- package/lib/database-utils/index.d.ts +9 -0
- package/lib/database-utils/index.js +71 -0
- package/lib/database-utils/traverseJSON.d.ts +10 -0
- package/lib/database-utils/traverseJSON.js +126 -0
- package/lib/database.d.ts +201 -0
- package/lib/database.js +765 -0
- package/lib/decorators/must-have-filter-decorator.d.ts +2 -0
- package/lib/decorators/must-have-filter-decorator.js +38 -0
- package/lib/decorators/target-collection-decorator.d.ts +2 -0
- package/lib/decorators/target-collection-decorator.js +47 -0
- package/lib/decorators/transaction-decorator.d.ts +1 -0
- package/lib/decorators/transaction-decorator.js +88 -0
- package/lib/eager-loading/eager-loading-tree.d.ts +31 -0
- package/lib/eager-loading/eager-loading-tree.js +439 -0
- package/lib/errors/identifier-error.d.ts +3 -0
- package/lib/errors/identifier-error.js +35 -0
- package/lib/errors/zero-column-table-error.d.ts +2 -0
- package/lib/errors/zero-column-table-error.js +31 -0
- package/lib/features/references-map.d.ts +18 -0
- package/lib/features/references-map.js +109 -0
- package/lib/features/referential-integrity-check.d.ts +8 -0
- package/lib/features/referential-integrity-check.js +83 -0
- package/lib/field-repository/array-field-repository.d.ts +28 -0
- package/lib/field-repository/array-field-repository.js +197 -0
- package/lib/fields/array-field.d.ts +11 -0
- package/lib/fields/array-field.js +57 -0
- package/lib/fields/belongs-to-field.d.ts +17 -0
- package/lib/fields/belongs-to-field.js +154 -0
- package/lib/fields/belongs-to-many-field.d.ts +20 -0
- package/lib/fields/belongs-to-many-field.js +187 -0
- package/lib/fields/boolean-field.d.ts +8 -0
- package/lib/fields/boolean-field.js +36 -0
- package/lib/fields/context-field.d.ts +14 -0
- package/lib/fields/context-field.js +70 -0
- package/lib/fields/date-field.d.ts +13 -0
- package/lib/fields/date-field.js +64 -0
- package/lib/fields/field.d.ts +43 -0
- package/lib/fields/field.js +156 -0
- package/lib/fields/has-inverse-field.d.ts +4 -0
- package/lib/fields/has-inverse-field.js +15 -0
- package/lib/fields/has-many-field.d.ts +68 -0
- package/lib/fields/has-many-field.js +156 -0
- package/lib/fields/has-one-field.d.ts +68 -0
- package/lib/fields/has-one-field.js +150 -0
- package/lib/fields/index.d.ts +46 -0
- package/lib/fields/index.js +65 -0
- package/lib/fields/json-field.d.ts +14 -0
- package/lib/fields/json-field.js +54 -0
- package/lib/fields/nanoid-field.d.ts +13 -0
- package/lib/fields/nanoid-field.js +58 -0
- package/lib/fields/number-field.d.ts +41 -0
- package/lib/fields/number-field.js +85 -0
- package/lib/fields/password-field.d.ts +21 -0
- package/lib/fields/password-field.js +95 -0
- package/lib/fields/radio-field.d.ts +16 -0
- package/lib/fields/radio-field.js +66 -0
- package/lib/fields/relation-field.d.ts +21 -0
- package/lib/fields/relation-field.js +79 -0
- package/lib/fields/set-field.d.ts +10 -0
- package/lib/fields/set-field.js +46 -0
- package/lib/fields/sort-field.d.ts +16 -0
- package/lib/fields/sort-field.js +187 -0
- package/lib/fields/string-field.d.ts +8 -0
- package/lib/fields/string-field.js +36 -0
- package/lib/fields/text-field.d.ts +8 -0
- package/lib/fields/text-field.js +36 -0
- package/lib/fields/time-field.d.ts +8 -0
- package/lib/fields/time-field.js +36 -0
- package/lib/fields/uid-field.d.ts +13 -0
- package/lib/fields/uid-field.js +63 -0
- package/lib/fields/uuid-field.d.ts +9 -0
- package/lib/fields/uuid-field.js +45 -0
- package/lib/fields/virtual-field.d.ts +8 -0
- package/lib/fields/virtual-field.js +36 -0
- package/lib/filter-match.d.ts +1 -0
- package/lib/filter-match.js +66 -0
- package/lib/filter-parser.d.ts +21 -0
- package/lib/filter-parser.js +230 -0
- package/lib/helpers.d.ts +3 -0
- package/lib/helpers.js +167 -0
- package/lib/index.d.ts +30 -0
- package/lib/index.js +114 -0
- package/lib/inherited-collection.d.ts +14 -0
- package/lib/inherited-collection.js +138 -0
- package/lib/inherited-map.d.ts +21 -0
- package/lib/inherited-map.js +113 -0
- package/lib/inherited-sync-runner.d.ts +4 -0
- package/lib/inherited-sync-runner.js +175 -0
- package/lib/listeners/adjacency-list.d.ts +2 -0
- package/lib/listeners/adjacency-list.js +42 -0
- package/lib/listeners/append-child-collection-name-after-repository-find.d.ts +6 -0
- package/lib/listeners/append-child-collection-name-after-repository-find.js +66 -0
- package/lib/listeners/index.d.ts +2 -0
- package/lib/listeners/index.js +33 -0
- package/lib/magic-attribute-model.d.ts +8 -0
- package/lib/magic-attribute-model.js +203 -0
- package/lib/migration.d.ts +35 -0
- package/lib/migration.js +103 -0
- package/lib/mock-database.d.ts +25 -0
- package/lib/mock-database.js +126 -0
- package/lib/model-hook.d.ts +12 -0
- package/lib/model-hook.js +92 -0
- package/lib/model.d.ts +23 -0
- package/lib/model.js +152 -0
- package/lib/operators/array.d.ts +2 -0
- package/lib/operators/array.js +158 -0
- package/lib/operators/association.d.ts +2 -0
- package/lib/operators/association.js +35 -0
- package/lib/operators/boolean.d.ts +2 -0
- package/lib/operators/boolean.js +38 -0
- package/lib/operators/child-collection.d.ts +2 -0
- package/lib/operators/child-collection.js +67 -0
- package/lib/operators/date.d.ts +2 -0
- package/lib/operators/date.js +140 -0
- package/lib/operators/empty.d.ts +5 -0
- package/lib/operators/empty.js +89 -0
- package/lib/operators/eq.d.ts +2 -0
- package/lib/operators/eq.js +35 -0
- package/lib/operators/index.d.ts +5 -0
- package/lib/operators/index.js +56 -0
- package/lib/operators/jsonb.d.ts +2 -0
- package/lib/operators/jsonb.js +50 -0
- package/lib/operators/ne.d.ts +2 -0
- package/lib/operators/ne.js +40 -0
- package/lib/operators/notIn.d.ts +2 -0
- package/lib/operators/notIn.js +33 -0
- package/lib/operators/string.d.ts +2 -0
- package/lib/operators/string.js +109 -0
- package/lib/operators/utils.d.ts +4 -0
- package/lib/operators/utils.js +40 -0
- package/lib/options-parser.d.ts +37 -0
- package/lib/options-parser.js +332 -0
- package/lib/playground.d.ts +1 -0
- package/lib/playground.js +43 -0
- package/lib/query-interface/mysql-query-interface.d.ts +35 -0
- package/lib/query-interface/mysql-query-interface.js +122 -0
- package/lib/query-interface/postgres-query-interface.d.ts +32 -0
- package/lib/query-interface/postgres-query-interface.js +189 -0
- package/lib/query-interface/query-interface-builder.d.ts +2 -0
- package/lib/query-interface/query-interface-builder.js +46 -0
- package/lib/query-interface/query-interface.d.ts +42 -0
- package/lib/query-interface/query-interface.js +46 -0
- package/lib/query-interface/sqlite-query-interface.d.ts +35 -0
- package/lib/query-interface/sqlite-query-interface.js +131 -0
- package/lib/relation-repository/belongs-to-many-repository.d.ts +21 -0
- package/lib/relation-repository/belongs-to-many-repository.js +280 -0
- package/lib/relation-repository/belongs-to-repository.d.ts +6 -0
- package/lib/relation-repository/belongs-to-repository.js +39 -0
- package/lib/relation-repository/hasmany-repository.d.ts +10 -0
- package/lib/relation-repository/hasmany-repository.js +182 -0
- package/lib/relation-repository/hasone-repository.d.ts +6 -0
- package/lib/relation-repository/hasone-repository.js +39 -0
- package/lib/relation-repository/multiple-relation-repository.d.ts +20 -0
- package/lib/relation-repository/multiple-relation-repository.js +229 -0
- package/lib/relation-repository/relation-repository.d.ts +29 -0
- package/lib/relation-repository/relation-repository.js +202 -0
- package/lib/relation-repository/single-relation-repository.d.ts +25 -0
- package/lib/relation-repository/single-relation-repository.js +162 -0
- package/lib/relation-repository/types.d.ts +7 -0
- package/lib/relation-repository/types.js +15 -0
- package/lib/repositories/tree-repository/adjacency-list-repository.d.ts +18 -0
- package/lib/repositories/tree-repository/adjacency-list-repository.js +183 -0
- package/lib/repositories/view-repository.d.ts +3 -0
- package/lib/repositories/view-repository.js +32 -0
- package/lib/repository.d.ts +206 -0
- package/lib/repository.js +597 -0
- package/lib/sql-collection/index.d.ts +2 -0
- package/lib/sql-collection/index.js +23 -0
- package/lib/sql-collection/query-generator.d.ts +10 -0
- package/lib/sql-collection/query-generator.js +70 -0
- package/lib/sql-collection/sql-collection.d.ts +7 -0
- package/lib/sql-collection/sql-collection.js +69 -0
- package/lib/sql-collection/sql-model.d.ts +16 -0
- package/lib/sql-collection/sql-model.js +168 -0
- package/lib/sql-parser/index.d.ts +10 -0
- package/lib/sql-parser/index.js +10699 -0
- package/lib/sql-parser/postgres.d.ts +10 -0
- package/lib/sql-parser/postgres.js +31506 -0
- package/lib/sql-parser/sql.pegjs +1297 -0
- package/lib/sync-runner.d.ts +30 -0
- package/lib/sync-runner.js +277 -0
- package/lib/types.d.ts +49 -0
- package/lib/types.js +15 -0
- package/lib/update-associations.d.ts +60 -0
- package/lib/update-associations.js +405 -0
- package/lib/update-guard.d.ts +28 -0
- package/lib/update-guard.js +202 -0
- package/lib/utils.d.ts +7 -0
- package/lib/utils.js +127 -0
- package/lib/value-parsers/array-value-parser.d.ts +8 -0
- package/lib/value-parsers/array-value-parser.js +58 -0
- package/lib/value-parsers/base-value-parser.d.ts +12 -0
- package/lib/value-parsers/base-value-parser.js +63 -0
- package/lib/value-parsers/boolean-value-parser.d.ts +4 -0
- package/lib/value-parsers/boolean-value-parser.js +52 -0
- package/lib/value-parsers/date-value-parser.d.ts +5 -0
- package/lib/value-parsers/date-value-parser.js +88 -0
- package/lib/value-parsers/index.d.ts +12 -0
- package/lib/value-parsers/index.js +78 -0
- package/lib/value-parsers/json-value-parser.d.ts +4 -0
- package/lib/value-parsers/json-value-parser.js +47 -0
- package/lib/value-parsers/number-value-parser.d.ts +4 -0
- package/lib/value-parsers/number-value-parser.js +58 -0
- package/lib/value-parsers/string-value-parser.d.ts +8 -0
- package/lib/value-parsers/string-value-parser.js +64 -0
- package/lib/value-parsers/to-many-value-parser.d.ts +13 -0
- package/lib/value-parsers/to-many-value-parser.js +108 -0
- package/lib/value-parsers/to-one-value-parser.d.ts +4 -0
- package/lib/value-parsers/to-one-value-parser.js +48 -0
- package/lib/view/field-type-map.d.ts +97 -0
- package/lib/view/field-type-map.js +90 -0
- package/lib/view/view-inference.d.ts +32 -0
- package/lib/view/view-inference.js +146 -0
- package/lib/view-collection.d.ts +6 -0
- package/lib/view-collection.js +45 -0
- package/package.json +38 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
26
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
27
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
28
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
29
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
30
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
31
|
+
mod
|
|
32
|
+
));
|
|
33
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
|
+
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
35
|
+
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
36
|
+
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
37
|
+
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
38
|
+
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
39
|
+
var __runInitializers = (array, flags, self, value) => {
|
|
40
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
41
|
+
return value;
|
|
42
|
+
};
|
|
43
|
+
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
44
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
45
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
|
46
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
47
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
|
48
|
+
return __privateGet(this, extra);
|
|
49
|
+
}, set [name](x) {
|
|
50
|
+
return __privateSet(this, extra, x);
|
|
51
|
+
} }, name));
|
|
52
|
+
k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
|
53
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
54
|
+
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
55
|
+
if (k) {
|
|
56
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
|
|
57
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
58
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
59
|
+
}
|
|
60
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
61
|
+
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
62
|
+
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
63
|
+
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
64
|
+
}
|
|
65
|
+
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
66
|
+
};
|
|
67
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
68
|
+
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
|
69
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
70
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
71
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
72
|
+
var belongs_to_many_repository_exports = {};
|
|
73
|
+
__export(belongs_to_many_repository_exports, {
|
|
74
|
+
BelongsToManyRepository: () => BelongsToManyRepository
|
|
75
|
+
});
|
|
76
|
+
module.exports = __toCommonJS(belongs_to_many_repository_exports);
|
|
77
|
+
var import_lodash = __toESM(require("lodash"));
|
|
78
|
+
var import_sequelize = require("sequelize");
|
|
79
|
+
var import_update_associations = require("../update-associations");
|
|
80
|
+
var import_multiple_relation_repository = require("./multiple-relation-repository");
|
|
81
|
+
var import_relation_repository = require("./relation-repository");
|
|
82
|
+
var _toggle_dec, _set_dec, _add_dec, _destroy_dec, _create_dec, _a, _init;
|
|
83
|
+
const _BelongsToManyRepository = class _BelongsToManyRepository extends (_a = import_multiple_relation_repository.MultipleRelationRepository, _create_dec = [(0, import_relation_repository.transaction)()], _destroy_dec = [(0, import_relation_repository.transaction)((args, transaction2) => {
|
|
84
|
+
return {
|
|
85
|
+
filterByTk: args[0],
|
|
86
|
+
transaction: transaction2
|
|
87
|
+
};
|
|
88
|
+
})], _add_dec = [(0, import_relation_repository.transaction)((args, transaction2) => {
|
|
89
|
+
return {
|
|
90
|
+
tk: args[0],
|
|
91
|
+
transaction: transaction2
|
|
92
|
+
};
|
|
93
|
+
})], _set_dec = [(0, import_relation_repository.transaction)((args, transaction2) => {
|
|
94
|
+
return {
|
|
95
|
+
tk: args[0],
|
|
96
|
+
transaction: transaction2
|
|
97
|
+
};
|
|
98
|
+
})], _toggle_dec = [(0, import_relation_repository.transaction)((args, transaction2) => {
|
|
99
|
+
return {
|
|
100
|
+
tk: args[0],
|
|
101
|
+
transaction: transaction2
|
|
102
|
+
};
|
|
103
|
+
})], _a) {
|
|
104
|
+
constructor() {
|
|
105
|
+
super(...arguments);
|
|
106
|
+
__runInitializers(_init, 5, this);
|
|
107
|
+
}
|
|
108
|
+
async aggregate(options) {
|
|
109
|
+
const targetRepository = this.targetCollection.repository;
|
|
110
|
+
const sourceModel = await this.getSourceModel();
|
|
111
|
+
const association = this.association;
|
|
112
|
+
return await targetRepository.aggregate({
|
|
113
|
+
...options,
|
|
114
|
+
optionsTransformer: /* @__PURE__ */ __name((modelOptions) => {
|
|
115
|
+
modelOptions.include = modelOptions.include || [];
|
|
116
|
+
const throughWhere = {};
|
|
117
|
+
throughWhere[association.foreignKey] = sourceModel.get(association.sourceKey);
|
|
118
|
+
modelOptions.include.push({
|
|
119
|
+
association: association.oneFromTarget,
|
|
120
|
+
required: true,
|
|
121
|
+
attributes: [],
|
|
122
|
+
where: throughWhere
|
|
123
|
+
});
|
|
124
|
+
}, "optionsTransformer")
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
async create(options) {
|
|
128
|
+
if (Array.isArray(options.values)) {
|
|
129
|
+
return Promise.all(options.values.map((record) => this.create({ ...options, values: record })));
|
|
130
|
+
}
|
|
131
|
+
const transaction2 = await this.getTransaction(options);
|
|
132
|
+
const createAccessor = this.accessors().create;
|
|
133
|
+
const values = options.values || {};
|
|
134
|
+
const sourceModel = await this.getSourceModel(transaction2);
|
|
135
|
+
const createOptions = {
|
|
136
|
+
...options,
|
|
137
|
+
through: values[this.throughName()],
|
|
138
|
+
transaction: transaction2
|
|
139
|
+
};
|
|
140
|
+
const instance = await sourceModel[createAccessor](values, createOptions);
|
|
141
|
+
await (0, import_update_associations.updateAssociations)(instance, values, { ...options, transaction: transaction2 });
|
|
142
|
+
return instance;
|
|
143
|
+
}
|
|
144
|
+
async destroy(options) {
|
|
145
|
+
const transaction2 = await this.getTransaction(options);
|
|
146
|
+
const association = this.association;
|
|
147
|
+
const throughModel = this.throughModel();
|
|
148
|
+
const instancesToIds = /* @__PURE__ */ __name((instances) => {
|
|
149
|
+
return instances.map((instance) => instance.get(this.targetKey()));
|
|
150
|
+
}, "instancesToIds");
|
|
151
|
+
const throughTableWhere = [
|
|
152
|
+
{
|
|
153
|
+
[throughModel.rawAttributes[association.foreignKey].field]: this.sourceKeyValue
|
|
154
|
+
}
|
|
155
|
+
];
|
|
156
|
+
let ids;
|
|
157
|
+
if (options && options["filter"]) {
|
|
158
|
+
const instances = await this.find({
|
|
159
|
+
filter: options["filter"],
|
|
160
|
+
transaction: transaction2
|
|
161
|
+
});
|
|
162
|
+
ids = instancesToIds(instances);
|
|
163
|
+
}
|
|
164
|
+
if (options && options["filterByTk"]) {
|
|
165
|
+
const instances = this.association.toInstanceArray(options["filterByTk"]);
|
|
166
|
+
ids = ids ? import_lodash.default.intersection(ids, instancesToIds(instances)) : instancesToIds(instances);
|
|
167
|
+
}
|
|
168
|
+
if (options && !options["filterByTk"] && !options["filter"]) {
|
|
169
|
+
const sourceModel = await this.getSourceModel(transaction2);
|
|
170
|
+
const instances = await sourceModel[this.accessors().get]({
|
|
171
|
+
transaction: transaction2
|
|
172
|
+
});
|
|
173
|
+
ids = instancesToIds(instances);
|
|
174
|
+
}
|
|
175
|
+
throughTableWhere.push({
|
|
176
|
+
[throughModel.rawAttributes[association.otherKey].field]: {
|
|
177
|
+
[import_sequelize.Op.in]: ids
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
await this.throughModel().destroy({
|
|
181
|
+
where: throughTableWhere,
|
|
182
|
+
transaction: transaction2
|
|
183
|
+
});
|
|
184
|
+
await this.targetModel.destroy({
|
|
185
|
+
where: {
|
|
186
|
+
[this.targetKey()]: {
|
|
187
|
+
[import_sequelize.Op.in]: ids
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
transaction: transaction2
|
|
191
|
+
});
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
async add(options) {
|
|
195
|
+
await this.setTargets("add", options);
|
|
196
|
+
}
|
|
197
|
+
async set(options) {
|
|
198
|
+
await this.setTargets("set", options);
|
|
199
|
+
}
|
|
200
|
+
async toggle(options) {
|
|
201
|
+
const transaction2 = await this.getTransaction(options);
|
|
202
|
+
const sourceModel = await this.getSourceModel(transaction2);
|
|
203
|
+
const has = await sourceModel[this.accessors().hasSingle](options["tk"], {
|
|
204
|
+
transaction: transaction2
|
|
205
|
+
});
|
|
206
|
+
if (has) {
|
|
207
|
+
await this.remove({
|
|
208
|
+
...options,
|
|
209
|
+
transaction: transaction2
|
|
210
|
+
});
|
|
211
|
+
} else {
|
|
212
|
+
await this.add({
|
|
213
|
+
...options,
|
|
214
|
+
transaction: transaction2
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
extendFindOptions(findOptions) {
|
|
220
|
+
let joinTableAttributes;
|
|
221
|
+
if (import_lodash.default.get(findOptions, "fields")) {
|
|
222
|
+
joinTableAttributes = [];
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
...findOptions,
|
|
226
|
+
joinTableAttributes
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
throughName() {
|
|
230
|
+
return this.throughModel().name;
|
|
231
|
+
}
|
|
232
|
+
throughModel() {
|
|
233
|
+
return this.association.through.model;
|
|
234
|
+
}
|
|
235
|
+
async setTargets(call, options) {
|
|
236
|
+
const handleKeys = this.convertTks(options);
|
|
237
|
+
const transaction2 = await this.getTransaction(options, false);
|
|
238
|
+
const sourceModel = await this.getSourceModel(transaction2);
|
|
239
|
+
const setObj = handleKeys.reduce((carry, item) => {
|
|
240
|
+
if (Array.isArray(item)) {
|
|
241
|
+
carry[item[0]] = item[1];
|
|
242
|
+
} else {
|
|
243
|
+
carry[item] = true;
|
|
244
|
+
}
|
|
245
|
+
return carry;
|
|
246
|
+
}, {});
|
|
247
|
+
const targetKeys = Object.keys(setObj);
|
|
248
|
+
const association = this.association;
|
|
249
|
+
const targetObjects = await this.targetModel.findAll({
|
|
250
|
+
where: {
|
|
251
|
+
[association["targetKey"]]: targetKeys
|
|
252
|
+
},
|
|
253
|
+
transaction: transaction2
|
|
254
|
+
});
|
|
255
|
+
await sourceModel[this.accessors()[call]](targetObjects, {
|
|
256
|
+
transaction: transaction2
|
|
257
|
+
});
|
|
258
|
+
for (const [id, throughValues] of Object.entries(setObj)) {
|
|
259
|
+
if (typeof throughValues === "object") {
|
|
260
|
+
const instance = await this.targetModel.findByPk(id, {
|
|
261
|
+
transaction: transaction2
|
|
262
|
+
});
|
|
263
|
+
await (0, import_update_associations.updateThroughTableValue)(instance, this.throughName(), throughValues, sourceModel, transaction2);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
_init = __decoratorStart(_a);
|
|
269
|
+
__decorateElement(_init, 1, "create", _create_dec, _BelongsToManyRepository);
|
|
270
|
+
__decorateElement(_init, 1, "destroy", _destroy_dec, _BelongsToManyRepository);
|
|
271
|
+
__decorateElement(_init, 1, "add", _add_dec, _BelongsToManyRepository);
|
|
272
|
+
__decorateElement(_init, 1, "set", _set_dec, _BelongsToManyRepository);
|
|
273
|
+
__decorateElement(_init, 1, "toggle", _toggle_dec, _BelongsToManyRepository);
|
|
274
|
+
__decoratorMetadata(_init, _BelongsToManyRepository);
|
|
275
|
+
__name(_BelongsToManyRepository, "BelongsToManyRepository");
|
|
276
|
+
let BelongsToManyRepository = _BelongsToManyRepository;
|
|
277
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
278
|
+
0 && (module.exports = {
|
|
279
|
+
BelongsToManyRepository
|
|
280
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var belongs_to_repository_exports = {};
|
|
20
|
+
__export(belongs_to_repository_exports, {
|
|
21
|
+
BelongsToRepository: () => BelongsToRepository
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(belongs_to_repository_exports);
|
|
24
|
+
var import_single_relation_repository = require("./single-relation-repository");
|
|
25
|
+
const _BelongsToRepository = class _BelongsToRepository extends import_single_relation_repository.SingleRelationRepository {
|
|
26
|
+
async filterOptions(sourceModel) {
|
|
27
|
+
const association = this.association;
|
|
28
|
+
return {
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
[association.targetKey]: sourceModel.get(association.foreignKey)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
__name(_BelongsToRepository, "BelongsToRepository");
|
|
35
|
+
let BelongsToRepository = _BelongsToRepository;
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
BelongsToRepository
|
|
39
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AggregateOptions, DestroyOptions, FindOptions, TargetKey, TK } from '../repository';
|
|
2
|
+
import { AssociatedOptions, MultipleRelationRepository } from './multiple-relation-repository';
|
|
3
|
+
export declare class HasManyRepository extends MultipleRelationRepository {
|
|
4
|
+
find(options?: FindOptions): Promise<any>;
|
|
5
|
+
aggregate(options: AggregateOptions): Promise<any>;
|
|
6
|
+
destroy(options?: TK | DestroyOptions): Promise<boolean>;
|
|
7
|
+
set(options: TargetKey | TargetKey[] | AssociatedOptions): Promise<void>;
|
|
8
|
+
add(options: TargetKey | TargetKey[] | AssociatedOptions): Promise<void>;
|
|
9
|
+
accessors(): import("sequelize").MultiAssociationAccessors;
|
|
10
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
+
var __typeError = (msg) => {
|
|
8
|
+
throw TypeError(msg);
|
|
9
|
+
};
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
26
|
+
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
27
|
+
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
28
|
+
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
29
|
+
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
30
|
+
var __runInitializers = (array, flags, self, value) => {
|
|
31
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
32
|
+
return value;
|
|
33
|
+
};
|
|
34
|
+
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
35
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
36
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
|
37
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
38
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
|
39
|
+
return __privateGet(this, extra);
|
|
40
|
+
}, set [name](x) {
|
|
41
|
+
return __privateSet(this, extra, x);
|
|
42
|
+
} }, name));
|
|
43
|
+
k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
|
44
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
45
|
+
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
46
|
+
if (k) {
|
|
47
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
|
|
48
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
49
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
50
|
+
}
|
|
51
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
52
|
+
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
53
|
+
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
54
|
+
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
55
|
+
}
|
|
56
|
+
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
57
|
+
};
|
|
58
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
59
|
+
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
|
60
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
61
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
62
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
63
|
+
var hasmany_repository_exports = {};
|
|
64
|
+
__export(hasmany_repository_exports, {
|
|
65
|
+
HasManyRepository: () => HasManyRepository
|
|
66
|
+
});
|
|
67
|
+
module.exports = __toCommonJS(hasmany_repository_exports);
|
|
68
|
+
var import_lodash = require("lodash");
|
|
69
|
+
var import_sequelize = require("sequelize");
|
|
70
|
+
var import_multiple_relation_repository = require("./multiple-relation-repository");
|
|
71
|
+
var import_relation_repository = require("./relation-repository");
|
|
72
|
+
var _add_dec, _set_dec, _destroy_dec, _a, _init;
|
|
73
|
+
const _HasManyRepository = class _HasManyRepository extends (_a = import_multiple_relation_repository.MultipleRelationRepository, _destroy_dec = [(0, import_relation_repository.transaction)((args, transaction2) => {
|
|
74
|
+
return {
|
|
75
|
+
filterByTk: args[0],
|
|
76
|
+
transaction: transaction2
|
|
77
|
+
};
|
|
78
|
+
})], _set_dec = [(0, import_relation_repository.transaction)((args, transaction2) => {
|
|
79
|
+
return {
|
|
80
|
+
tk: args[0],
|
|
81
|
+
transaction: transaction2
|
|
82
|
+
};
|
|
83
|
+
})], _add_dec = [(0, import_relation_repository.transaction)((args, transaction2) => {
|
|
84
|
+
return {
|
|
85
|
+
tk: args[0],
|
|
86
|
+
transaction: transaction2
|
|
87
|
+
};
|
|
88
|
+
})], _a) {
|
|
89
|
+
constructor() {
|
|
90
|
+
super(...arguments);
|
|
91
|
+
__runInitializers(_init, 5, this);
|
|
92
|
+
}
|
|
93
|
+
async find(options) {
|
|
94
|
+
const targetRepository = this.targetCollection.repository;
|
|
95
|
+
const addFilter = {
|
|
96
|
+
[this.association.foreignKey]: this.sourceKeyValue
|
|
97
|
+
};
|
|
98
|
+
if (options == null ? void 0 : options.filterByTk) {
|
|
99
|
+
addFilter[this.associationField.targetKey] = options.filterByTk;
|
|
100
|
+
}
|
|
101
|
+
const findOptions = {
|
|
102
|
+
...(0, import_lodash.omit)(options, ["filterByTk", "where", "values", "attributes"]),
|
|
103
|
+
filter: {
|
|
104
|
+
$and: [options.filter || {}, addFilter]
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
return await targetRepository.find(findOptions);
|
|
108
|
+
}
|
|
109
|
+
async aggregate(options) {
|
|
110
|
+
const targetRepository = this.targetCollection.repository;
|
|
111
|
+
const addFilter = {
|
|
112
|
+
[this.association.foreignKey]: this.sourceKeyValue
|
|
113
|
+
};
|
|
114
|
+
const aggOptions = {
|
|
115
|
+
...options,
|
|
116
|
+
filter: {
|
|
117
|
+
$and: [options.filter || {}, addFilter]
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
return await targetRepository.aggregate(aggOptions);
|
|
121
|
+
}
|
|
122
|
+
async destroy(options) {
|
|
123
|
+
const transaction2 = await this.getTransaction(options);
|
|
124
|
+
const sourceModel = await this.getSourceModel(transaction2);
|
|
125
|
+
const where = [
|
|
126
|
+
{
|
|
127
|
+
[this.association.foreignKey]: sourceModel.get(this.association.sourceKey)
|
|
128
|
+
}
|
|
129
|
+
];
|
|
130
|
+
if (options && options["filter"]) {
|
|
131
|
+
const filterResult = this.parseFilter(options["filter"], options);
|
|
132
|
+
if (filterResult.include && filterResult.include.length > 0) {
|
|
133
|
+
return await this.destroyByFilter(options["filter"], transaction2);
|
|
134
|
+
}
|
|
135
|
+
where.push(filterResult.where);
|
|
136
|
+
}
|
|
137
|
+
if (options && options["filterByTk"]) {
|
|
138
|
+
if (typeof options === "object" && options["filterByTk"]) {
|
|
139
|
+
options = options["filterByTk"];
|
|
140
|
+
}
|
|
141
|
+
where.push({
|
|
142
|
+
[this.targetKey()]: options
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
await this.targetModel.destroy({
|
|
146
|
+
where: {
|
|
147
|
+
[import_sequelize.Op.and]: where
|
|
148
|
+
},
|
|
149
|
+
individualHooks: true,
|
|
150
|
+
transaction: transaction2
|
|
151
|
+
});
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
async set(options) {
|
|
155
|
+
const transaction2 = await this.getTransaction(options);
|
|
156
|
+
const sourceModel = await this.getSourceModel(transaction2);
|
|
157
|
+
await sourceModel[this.accessors().set](this.convertTks(options), {
|
|
158
|
+
transaction: transaction2
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async add(options) {
|
|
162
|
+
const transaction2 = await this.getTransaction(options);
|
|
163
|
+
const sourceModel = await this.getSourceModel(transaction2);
|
|
164
|
+
await sourceModel[this.accessors().add](this.convertTks(options), {
|
|
165
|
+
transaction: transaction2
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
accessors() {
|
|
169
|
+
return this.association.accessors;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
_init = __decoratorStart(_a);
|
|
173
|
+
__decorateElement(_init, 1, "destroy", _destroy_dec, _HasManyRepository);
|
|
174
|
+
__decorateElement(_init, 1, "set", _set_dec, _HasManyRepository);
|
|
175
|
+
__decorateElement(_init, 1, "add", _add_dec, _HasManyRepository);
|
|
176
|
+
__decoratorMetadata(_init, _HasManyRepository);
|
|
177
|
+
__name(_HasManyRepository, "HasManyRepository");
|
|
178
|
+
let HasManyRepository = _HasManyRepository;
|
|
179
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
180
|
+
0 && (module.exports = {
|
|
181
|
+
HasManyRepository
|
|
182
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var hasone_repository_exports = {};
|
|
20
|
+
__export(hasone_repository_exports, {
|
|
21
|
+
HasOneRepository: () => HasOneRepository
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(hasone_repository_exports);
|
|
24
|
+
var import_single_relation_repository = require("./single-relation-repository");
|
|
25
|
+
const _HasOneRepository = class _HasOneRepository extends import_single_relation_repository.SingleRelationRepository {
|
|
26
|
+
filterOptions(sourceModel) {
|
|
27
|
+
const association = this.association;
|
|
28
|
+
return {
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
[association.foreignKey]: sourceModel.get(association.sourceKey)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
__name(_HasOneRepository, "HasOneRepository");
|
|
35
|
+
let HasOneRepository = _HasOneRepository;
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
HasOneRepository
|
|
39
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MultiAssociationAccessors, Transaction, Transactionable } from 'sequelize';
|
|
2
|
+
import { CommonFindOptions, CountOptions, DestroyOptions, Filter, FindOneOptions, FindOptions, TargetKey, TK, UpdateOptions } from '../repository';
|
|
3
|
+
import { RelationRepository } from './relation-repository';
|
|
4
|
+
export type FindAndCountOptions = CommonFindOptions;
|
|
5
|
+
export interface AssociatedOptions extends Transactionable {
|
|
6
|
+
tk?: TK;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class MultipleRelationRepository extends RelationRepository {
|
|
9
|
+
extendFindOptions(findOptions: any): any;
|
|
10
|
+
find(options?: FindOptions): Promise<any>;
|
|
11
|
+
findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>;
|
|
12
|
+
count(options?: CountOptions): Promise<number>;
|
|
13
|
+
findOne(options?: FindOneOptions): Promise<any>;
|
|
14
|
+
remove(options: TargetKey | TargetKey[] | AssociatedOptions): Promise<void>;
|
|
15
|
+
update(options?: UpdateOptions): Promise<any>;
|
|
16
|
+
destroy(options?: TK | DestroyOptions): Promise<boolean>;
|
|
17
|
+
protected destroyByFilter(filter: Filter, transaction?: Transaction): Promise<boolean>;
|
|
18
|
+
protected filterHasInclude(filter: Filter, options?: any): boolean;
|
|
19
|
+
protected accessors(): MultiAssociationAccessors;
|
|
20
|
+
}
|