@mee4dy/crud-nestjs 1.0.6 → 1.0.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.decorator.js","sourceRoot":"","sources":["../../src/decorators/crud.decorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,
|
|
1
|
+
{"version":3,"file":"crud.decorator.js","sourceRoot":"","sources":["../../src/decorators/crud.decorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oBAsCC;AA1CD,4BAA0B;AAC1B,4CAAkC;AAClC,0CAA4B;AAE5B,SAAgB,IAAI,CAAC,MAAkB;IACrC,OAAO,UAAU,MAAW;QAC1B,MAAM,aAAa,GAAmC;YACpD,EAAE,EAAE,IAAI;YACR,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;aACd;YACD,KAAK,EAAE;gBACL,aAAa,EAAE;oBACb,OAAO,EAAE,CAAC,cAAE,CAAC;oBACb,MAAM,EAAE,CAAC,cAAE,CAAC;oBACZ,MAAM,EAAE,CAAC,cAAE,CAAC;oBACZ,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,KAAK;iBACd;aACF;YACD,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,MAAM,EAAE,CAAC,CAAC,cAAE,EAAE,MAAM,CAAC,CAAC;iBACvB;aACF;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YACrF,MAAM,mBAAmB,GAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEtE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CrudParamsAdapterService = void 0;
|
|
4
4
|
const sequelize_1 = require("sequelize");
|
|
5
|
+
const merge_util_1 = require("../utils/merge.util");
|
|
5
6
|
class CrudParamsAdapterService {
|
|
6
7
|
constructor(params) {
|
|
7
8
|
this.params = params;
|
|
@@ -24,10 +25,7 @@ class CrudParamsAdapterService {
|
|
|
24
25
|
limit,
|
|
25
26
|
offset,
|
|
26
27
|
};
|
|
27
|
-
return
|
|
28
|
-
...baseOptions,
|
|
29
|
-
...repositoryParams,
|
|
30
|
-
};
|
|
28
|
+
return (0, merge_util_1.merge)(baseOptions, repositoryParams);
|
|
31
29
|
}
|
|
32
30
|
getRepositoryParams() {
|
|
33
31
|
return this.params.repositoryParams || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-params-adapter.service.js","sourceRoot":"","sources":["../../src/services/crud-params-adapter.service.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;
|
|
1
|
+
{"version":3,"file":"crud-params-adapter.service.js","sourceRoot":"","sources":["../../src/services/crud-params-adapter.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -147,6 +147,27 @@ const filters = {
|
|
|
147
147
|
GET /posts?filters[user_id]=1&filters[title][op]=like&filters[title][value]=test&filters[created_at][op]=range&filters[created_at][from]=2024-01-01&filters[created_at][to]=2024-12-31
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
+
**Пример объединения условий:**
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
// CRUD фильтры + repositoryParams
|
|
154
|
+
const params: CrudParams = {
|
|
155
|
+
filters: { user_id: 1, status: 'active' },
|
|
156
|
+
repositoryParams: {
|
|
157
|
+
where: {
|
|
158
|
+
created_at: {
|
|
159
|
+
[Op.lte]: '2025-07-28 12:00:00'
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// Результат объединения:
|
|
166
|
+
// WHERE user_id = 1 AND status = 'active' AND created_at <= '2025-07-28 12:00:00'
|
|
167
|
+
````
|
|
168
|
+
|
|
169
|
+
````
|
|
170
|
+
|
|
150
171
|
### Сортировка (orders)
|
|
151
172
|
|
|
152
173
|
```typescript
|
|
@@ -307,9 +328,10 @@ const params: CrudParams = {
|
|
|
307
328
|
},
|
|
308
329
|
},
|
|
309
330
|
};
|
|
331
|
+
// Результат: Объединяется с любыми существующими фильтрами и атрибутами
|
|
310
332
|
```
|
|
311
333
|
|
|
312
|
-
**Важно:** Параметры из `repositoryParams`
|
|
334
|
+
**Важно:** Параметры из `repositoryParams` объединяются с параметрами, сгенерированными из других полей `CrudParams`, используя глубокое слияние объектов. Это позволяет комбинировать CRUD фильтры с прямыми Sequelize условиями.
|
|
313
335
|
|
|
314
336
|
## Примеры контроллеров
|
|
315
337
|
|