@venizia/ignis 0.0.10-2 → 0.0.10-4
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/dist/base/controllers/common/types.d.ts +19 -3
- package/dist/base/controllers/common/types.d.ts.map +1 -1
- package/dist/base/controllers/factory/controller.d.ts +6 -3
- package/dist/base/controllers/factory/controller.d.ts.map +1 -1
- package/dist/base/controllers/factory/controller.js +3 -1
- package/dist/base/controllers/factory/controller.js.map +1 -1
- package/dist/base/controllers/factory/definition.d.ts.map +1 -1
- package/dist/base/controllers/factory/definition.js +36 -35
- package/dist/base/controllers/factory/definition.js.map +1 -1
- package/dist/base/datasources/{abstract-datasource.d.ts → abstract.d.ts} +1 -1
- package/dist/base/datasources/abstract.d.ts.map +1 -0
- package/dist/base/datasources/{abstract-datasource.js → abstract.js} +5 -4
- package/dist/base/datasources/abstract.js.map +1 -0
- package/dist/base/datasources/index.d.ts +1 -1
- package/dist/base/datasources/index.d.ts.map +1 -1
- package/dist/base/datasources/index.js +1 -1
- package/dist/base/datasources/index.js.map +1 -1
- package/dist/base/repositories/common/index.d.ts +1 -0
- package/dist/base/repositories/common/index.d.ts.map +1 -1
- package/dist/base/repositories/common/index.js +1 -0
- package/dist/base/repositories/common/index.js.map +1 -1
- package/dist/base/repositories/common/types.d.ts +13 -51
- package/dist/base/repositories/common/types.d.ts.map +1 -1
- package/dist/base/repositories/common/types.js +1 -137
- package/dist/base/repositories/common/types.js.map +1 -1
- package/dist/base/repositories/core/{abstract-repository.d.ts → abstract.d.ts} +8 -4
- package/dist/base/repositories/core/abstract.d.ts.map +1 -0
- package/dist/base/repositories/core/{abstract-repository.js → abstract.js} +1 -1
- package/dist/base/repositories/core/abstract.js.map +1 -0
- package/dist/base/repositories/core/index.d.ts +1 -1
- package/dist/base/repositories/core/index.d.ts.map +1 -1
- package/dist/base/repositories/core/index.js +1 -1
- package/dist/base/repositories/core/index.js.map +1 -1
- package/dist/base/repositories/index.d.ts +1 -0
- package/dist/base/repositories/index.d.ts.map +1 -1
- package/dist/base/repositories/index.js +1 -0
- package/dist/base/repositories/index.js.map +1 -1
- package/dist/base/repositories/query-schemas/fields.d.ts +6 -0
- package/dist/base/repositories/query-schemas/fields.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/fields.js +17 -0
- package/dist/base/repositories/query-schemas/fields.js.map +1 -0
- package/dist/base/repositories/query-schemas/filter.d.ts +23 -0
- package/dist/base/repositories/query-schemas/filter.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/filter.js +72 -0
- package/dist/base/repositories/query-schemas/filter.js.map +1 -0
- package/dist/base/repositories/query-schemas/index.d.ts +8 -0
- package/dist/base/repositories/query-schemas/index.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/index.js +24 -0
- package/dist/base/repositories/query-schemas/index.js.map +1 -0
- package/dist/base/repositories/query-schemas/limit.d.ts +4 -0
- package/dist/base/repositories/query-schemas/limit.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/limit.js +12 -0
- package/dist/base/repositories/query-schemas/limit.js.map +1 -0
- package/dist/base/repositories/query-schemas/offset.d.ts +4 -0
- package/dist/base/repositories/query-schemas/offset.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/offset.js +12 -0
- package/dist/base/repositories/query-schemas/offset.js.map +1 -0
- package/dist/base/repositories/query-schemas/order-by.d.ts +4 -0
- package/dist/base/repositories/query-schemas/order-by.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/order-by.js +18 -0
- package/dist/base/repositories/query-schemas/order-by.js.map +1 -0
- package/dist/base/repositories/query-schemas/skip.d.ts +4 -0
- package/dist/base/repositories/query-schemas/skip.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/skip.js +12 -0
- package/dist/base/repositories/query-schemas/skip.js.map +1 -0
- package/dist/base/repositories/query-schemas/where.d.ts +9 -0
- package/dist/base/repositories/query-schemas/where.d.ts.map +1 -0
- package/dist/base/repositories/query-schemas/where.js +27 -0
- package/dist/base/repositories/query-schemas/where.js.map +1 -0
- package/dist/components/static-asset/common/types.d.ts +4 -4
- package/dist/components/static-asset/common/types.d.ts.map +1 -1
- package/dist/components/static-asset/models/base.model.d.ts +2 -2
- package/dist/components/static-asset/models/base.model.d.ts.map +1 -1
- package/dist/components/static-asset/models/base.model.js +1 -1
- package/dist/components/static-asset/models/base.model.js.map +1 -1
- package/dist/components/static-asset/repositories/base.repository.d.ts +2 -2
- package/dist/components/static-asset/repositories/base.repository.d.ts.map +1 -1
- package/dist/components/static-asset/repositories/base.repository.js +1 -1
- package/dist/components/static-asset/repositories/base.repository.js.map +1 -1
- package/dist/connectors/postgres/datasources/abstract.d.ts +22 -0
- package/dist/connectors/postgres/datasources/abstract.d.ts.map +1 -0
- package/dist/connectors/postgres/datasources/abstract.js +24 -0
- package/dist/connectors/postgres/datasources/abstract.js.map +1 -0
- package/dist/connectors/postgres/datasources/{base-datasource.d.ts → base.d.ts} +3 -3
- package/dist/connectors/postgres/datasources/base.d.ts.map +1 -0
- package/dist/connectors/postgres/datasources/{base-datasource.js → base.js} +5 -5
- package/dist/connectors/postgres/datasources/base.js.map +1 -0
- package/dist/connectors/postgres/datasources/common/types.d.ts +2 -0
- package/dist/connectors/postgres/datasources/common/types.d.ts.map +1 -1
- package/dist/connectors/postgres/datasources/common/types.js.map +1 -1
- package/dist/connectors/postgres/datasources/index.d.ts +4 -3
- package/dist/connectors/postgres/datasources/index.d.ts.map +1 -1
- package/dist/connectors/postgres/datasources/index.js +8 -5
- package/dist/connectors/postgres/datasources/index.js.map +1 -1
- package/dist/connectors/postgres/models/base.d.ts +5 -3
- package/dist/connectors/postgres/models/base.d.ts.map +1 -1
- package/dist/connectors/postgres/models/base.js +5 -5
- package/dist/connectors/postgres/models/base.js.map +1 -1
- package/dist/connectors/postgres/models/index.d.ts +1 -2
- package/dist/connectors/postgres/models/index.d.ts.map +1 -1
- package/dist/connectors/postgres/models/index.js +4 -4
- package/dist/connectors/postgres/models/index.js.map +1 -1
- package/dist/connectors/postgres/repositories/common/types.d.ts +26 -2
- package/dist/connectors/postgres/repositories/common/types.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/base.d.ts +7 -9
- package/dist/connectors/postgres/repositories/core/base.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/base.js +7 -9
- package/dist/connectors/postgres/repositories/core/base.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/default.d.ts +9 -0
- package/dist/connectors/postgres/repositories/core/default.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/core/{default-crud.js → default.js} +5 -5
- package/dist/connectors/postgres/repositories/core/default.js.map +1 -0
- package/dist/connectors/postgres/repositories/core/index.d.ts +7 -2
- package/dist/connectors/postgres/repositories/core/index.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/index.js +14 -2
- package/dist/connectors/postgres/repositories/core/index.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/persistable.d.ts +6 -6
- package/dist/connectors/postgres/repositories/core/persistable.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/persistable.js +8 -8
- package/dist/connectors/postgres/repositories/core/persistable.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/readable.d.ts +4 -4
- package/dist/connectors/postgres/repositories/core/readable.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/readable.js +6 -6
- package/dist/connectors/postgres/repositories/core/readable.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts +2 -2
- package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/soft-deletable.js +4 -4
- package/dist/connectors/postgres/repositories/core/soft-deletable.js.map +1 -1
- package/dist/connectors/postgres/repositories/{operators → dialect}/filter.d.ts +2 -2
- package/dist/connectors/postgres/repositories/dialect/filter.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/filter.js.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/index.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/index.js.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/internal/json-utils.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/internal/json-utils.js.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/query.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/query.js.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/relation.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/relation.js.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/update.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/update.js.map +1 -0
- package/dist/connectors/postgres/repositories/index.d.ts +1 -1
- package/dist/connectors/postgres/repositories/index.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/index.js +1 -1
- package/dist/connectors/postgres/repositories/index.js.map +1 -1
- package/dist/connectors/typesense/datasources/{abstract-datasource.d.ts → abstract.d.ts} +1 -1
- package/dist/connectors/typesense/datasources/abstract.d.ts.map +1 -0
- package/dist/connectors/typesense/datasources/{abstract-datasource.js → abstract.js} +1 -1
- package/dist/connectors/typesense/datasources/abstract.js.map +1 -0
- package/dist/connectors/typesense/datasources/{base-datasource.d.ts → base.d.ts} +2 -2
- package/dist/connectors/typesense/datasources/base.d.ts.map +1 -0
- package/dist/connectors/typesense/datasources/{base-datasource.js → base.js} +3 -3
- package/dist/connectors/typesense/datasources/base.js.map +1 -0
- package/dist/connectors/typesense/datasources/datasource.d.ts +4 -3
- package/dist/connectors/typesense/datasources/datasource.d.ts.map +1 -1
- package/dist/connectors/typesense/datasources/datasource.js +6 -7
- package/dist/connectors/typesense/datasources/datasource.js.map +1 -1
- package/dist/connectors/typesense/datasources/index.d.ts +2 -2
- package/dist/connectors/typesense/datasources/index.d.ts.map +1 -1
- package/dist/connectors/typesense/datasources/index.js +2 -2
- package/dist/connectors/typesense/datasources/index.js.map +1 -1
- package/dist/connectors/typesense/index.d.ts +1 -1
- package/dist/connectors/typesense/index.d.ts.map +1 -1
- package/dist/connectors/typesense/index.js +1 -1
- package/dist/connectors/typesense/index.js.map +1 -1
- package/dist/connectors/typesense/internal/index.d.ts +1 -1
- package/dist/connectors/typesense/internal/index.d.ts.map +1 -1
- package/dist/connectors/typesense/internal/index.js +1 -1
- package/dist/connectors/typesense/internal/index.js.map +1 -1
- package/dist/connectors/typesense/models/{base-search-entity.d.ts → base.d.ts} +4 -2
- package/dist/connectors/typesense/models/base.d.ts.map +1 -0
- package/dist/connectors/typesense/models/{base-search-entity.js → base.js} +1 -1
- package/dist/connectors/typesense/models/base.js.map +1 -0
- package/dist/connectors/typesense/models/index.d.ts +1 -1
- package/dist/connectors/typesense/models/index.d.ts.map +1 -1
- package/dist/connectors/typesense/models/index.js +1 -3
- package/dist/connectors/typesense/models/index.js.map +1 -1
- package/dist/connectors/typesense/repositories/core/{base-repository.d.ts → base.d.ts} +9 -8
- package/dist/connectors/typesense/repositories/core/base.d.ts.map +1 -0
- package/dist/connectors/typesense/repositories/core/{base-repository.js → base.js} +7 -9
- package/dist/connectors/typesense/repositories/core/base.js.map +1 -0
- package/dist/connectors/typesense/repositories/core/default.d.ts +5 -0
- package/dist/connectors/typesense/repositories/core/default.d.ts.map +1 -0
- package/dist/connectors/typesense/repositories/core/default.js +9 -0
- package/dist/connectors/typesense/repositories/core/default.js.map +1 -0
- package/dist/connectors/typesense/repositories/core/index.d.ts +3 -2
- package/dist/connectors/typesense/repositories/core/index.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/core/index.js +5 -2
- package/dist/connectors/typesense/repositories/core/index.js.map +1 -1
- package/dist/connectors/typesense/repositories/core/persistable.d.ts +35 -1
- package/dist/connectors/typesense/repositories/core/persistable.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/core/persistable.js +57 -0
- package/dist/connectors/typesense/repositories/core/persistable.js.map +1 -1
- package/dist/connectors/typesense/repositories/core/readable.d.ts +2 -2
- package/dist/connectors/typesense/repositories/core/readable.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/core/readable.js +2 -2
- package/dist/connectors/typesense/repositories/core/readable.js.map +1 -1
- package/dist/connectors/typesense/repositories/dialect/index.d.ts +2 -0
- package/dist/connectors/typesense/repositories/dialect/index.d.ts.map +1 -0
- package/dist/connectors/typesense/repositories/dialect/index.js +18 -0
- package/dist/connectors/typesense/repositories/dialect/index.js.map +1 -0
- package/dist/connectors/typesense/{query-dialect.d.ts → repositories/dialect/query-dialect.d.ts} +2 -2
- package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts.map +1 -0
- package/dist/connectors/typesense/{query-dialect.js → repositories/dialect/query-dialect.js} +18 -18
- package/dist/connectors/typesense/repositories/dialect/query-dialect.js.map +1 -0
- package/dist/connectors/typesense/repositories/index.d.ts +1 -0
- package/dist/connectors/typesense/repositories/index.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/index.js +1 -0
- package/dist/connectors/typesense/repositories/index.js.map +1 -1
- package/dist/connectors/typesense/types.d.ts +6 -6
- package/dist/connectors/typesense/types.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/repository.mixin.d.ts +1 -1
- package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/repository.mixin.js +2 -4
- package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
- package/package.json +1 -1
- package/dist/base/datasources/abstract-datasource.d.ts.map +0 -1
- package/dist/base/datasources/abstract-datasource.js.map +0 -1
- package/dist/base/repositories/core/abstract-repository.d.ts.map +0 -1
- package/dist/base/repositories/core/abstract-repository.js.map +0 -1
- package/dist/connectors/postgres/datasources/abstract-datasource.d.ts +0 -13
- package/dist/connectors/postgres/datasources/abstract-datasource.d.ts.map +0 -1
- package/dist/connectors/postgres/datasources/abstract-datasource.js +0 -12
- package/dist/connectors/postgres/datasources/abstract-datasource.js.map +0 -1
- package/dist/connectors/postgres/datasources/base-datasource.d.ts.map +0 -1
- package/dist/connectors/postgres/datasources/base-datasource.js.map +0 -1
- package/dist/connectors/postgres/repositories/core/default-crud.d.ts +0 -9
- package/dist/connectors/postgres/repositories/core/default-crud.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/core/default-crud.js.map +0 -1
- package/dist/connectors/postgres/repositories/operators/filter.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/operators/filter.js.map +0 -1
- package/dist/connectors/postgres/repositories/operators/index.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/operators/index.js.map +0 -1
- package/dist/connectors/postgres/repositories/operators/internal/json-utils.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/operators/internal/json-utils.js.map +0 -1
- package/dist/connectors/postgres/repositories/operators/query.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/operators/query.js.map +0 -1
- package/dist/connectors/postgres/repositories/operators/relation.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/operators/relation.js.map +0 -1
- package/dist/connectors/postgres/repositories/operators/update.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/operators/update.js.map +0 -1
- package/dist/connectors/typesense/datasources/abstract-datasource.d.ts.map +0 -1
- package/dist/connectors/typesense/datasources/abstract-datasource.js.map +0 -1
- package/dist/connectors/typesense/datasources/base-datasource.d.ts.map +0 -1
- package/dist/connectors/typesense/datasources/base-datasource.js.map +0 -1
- package/dist/connectors/typesense/models/base-search-entity.d.ts.map +0 -1
- package/dist/connectors/typesense/models/base-search-entity.js.map +0 -1
- package/dist/connectors/typesense/query-dialect.d.ts.map +0 -1
- package/dist/connectors/typesense/query-dialect.js.map +0 -1
- package/dist/connectors/typesense/repositories/core/base-repository.d.ts.map +0 -1
- package/dist/connectors/typesense/repositories/core/base-repository.js.map +0 -1
- package/dist/connectors/typesense/repositories/core/default-search.d.ts +0 -41
- package/dist/connectors/typesense/repositories/core/default-search.d.ts.map +0 -1
- package/dist/connectors/typesense/repositories/core/default-search.js +0 -66
- package/dist/connectors/typesense/repositories/core/default-search.js.map +0 -1
- /package/dist/connectors/postgres/repositories/{operators → dialect}/filter.js +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/index.d.ts +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/index.js +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/internal/json-utils.d.ts +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/internal/json-utils.js +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/query.d.ts +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/query.js +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/relation.d.ts +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/relation.js +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/update.d.ts +0 -0
- /package/dist/connectors/postgres/repositories/{operators → dialect}/update.js +0 -0
|
@@ -3,55 +3,8 @@ import { AbstractEntity, IdType } from '../../../base/models';
|
|
|
3
3
|
import { z } from '@hono/zod-openapi';
|
|
4
4
|
import { TLogLevel, TNullable } from '@venizia/ignis-helpers';
|
|
5
5
|
import { Column, SQL } from 'drizzle-orm';
|
|
6
|
+
import { TFilter, TWhere } from '../query-schemas';
|
|
6
7
|
import { TLockStrength } from './constants';
|
|
7
|
-
/** Zod schema for pagination skip parameter. */
|
|
8
|
-
export declare const SkipSchema: z.ZodOptional<z.ZodNumber>;
|
|
9
|
-
export type TSkip = z.infer<typeof SkipSchema>;
|
|
10
|
-
/** Zod schema for pagination offset parameter. */
|
|
11
|
-
export declare const OffsetSchema: z.ZodOptional<z.ZodNumber>;
|
|
12
|
-
export type TOffset = z.infer<typeof OffsetSchema>;
|
|
13
|
-
/** Zod schema for pagination limit parameter - no schema-level default; ReadableRepository.find()
|
|
14
|
-
* applies DEFAULT_LIMIT only to the top-level query so it never leaks into relation scopes. */
|
|
15
|
-
export declare const LimitSchema: z.ZodOptional<z.ZodNumber>;
|
|
16
|
-
export type TLimit = z.infer<typeof LimitSchema>;
|
|
17
|
-
/** Zod schema for query ordering. Supports regular columns and JSON/JSONB paths. */
|
|
18
|
-
export declare const OrderBySchema: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
|
-
export type TOrderBy = z.infer<typeof OrderBySchema>;
|
|
20
|
-
/** Zod schema for query where conditions. Supports object format and JSON string format. */
|
|
21
|
-
export declare const WhereSchema: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<any, string>>, z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
22
|
-
/** Where clause conditions with field-level conditions and logical AND/OR grouping. */
|
|
23
|
-
export type TWhere<T = any> = {
|
|
24
|
-
[key in keyof T]?: any;
|
|
25
|
-
} & {
|
|
26
|
-
and?: TWhere<T>[];
|
|
27
|
-
or?: TWhere<T>[];
|
|
28
|
-
};
|
|
29
|
-
/** Zod schema for field/column selection. Supports array format or object format. */
|
|
30
|
-
export declare const FieldsSchema: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodBoolean>, z.ZodArray<z.ZodString>]>>;
|
|
31
|
-
/** Field selection -- object mapping field names to booleans, or array of field names. */
|
|
32
|
-
export type TFields<T = any> = Partial<{
|
|
33
|
-
[K in keyof T]: boolean;
|
|
34
|
-
}> | Array<keyof T>;
|
|
35
|
-
/** Zod schema for including related entities in queries with optional nested filtering. */
|
|
36
|
-
export declare const InclusionSchema: any;
|
|
37
|
-
/** Single relation inclusion configuration. */
|
|
38
|
-
export type TInclusion = {
|
|
39
|
-
relation: string;
|
|
40
|
-
scope?: TFilter;
|
|
41
|
-
shouldSkipDefaultFilter?: boolean;
|
|
42
|
-
};
|
|
43
|
-
/** Comprehensive Zod schema for repository query filtering. Supports object and JSON string formats. */
|
|
44
|
-
export declare const FilterSchema: any;
|
|
45
|
-
/** Comprehensive filter configuration used across all repository query methods. */
|
|
46
|
-
export type TFilter<T = any> = {
|
|
47
|
-
where?: TWhere<T>;
|
|
48
|
-
fields?: TFields;
|
|
49
|
-
include?: TInclusion[];
|
|
50
|
-
order?: string[];
|
|
51
|
-
limit?: number;
|
|
52
|
-
offset?: number;
|
|
53
|
-
skip?: number;
|
|
54
|
-
};
|
|
55
8
|
/** Update data supporting both regular fields and JSON path updates via dot notation. */
|
|
56
9
|
export type TUpdateData<T = any> = Partial<T> & {
|
|
57
10
|
[jsonPath: string]: any;
|
|
@@ -152,8 +105,8 @@ export interface IReadableRepository<TDataObject extends object = object, ExtraO
|
|
|
152
105
|
options?: ExtraOptions;
|
|
153
106
|
}): Promise<TNullable<R>>;
|
|
154
107
|
}
|
|
155
|
-
/** Interface for
|
|
156
|
-
export interface
|
|
108
|
+
/** Interface for create operations. */
|
|
109
|
+
export interface ICreatableRepository<TDataObject extends object = object, TPersistObject extends object = TDataObject, ExtraOptions extends IExtraOptions = IExtraOptions> extends IRepository {
|
|
157
110
|
create(opts: {
|
|
158
111
|
data: TPersistObject;
|
|
159
112
|
options: ExtraOptions & {
|
|
@@ -186,6 +139,9 @@ export interface IPersistableRepository<TDataObject extends object = object, TPe
|
|
|
186
139
|
}): Promise<TCount & {
|
|
187
140
|
data: Array<R>;
|
|
188
141
|
}>;
|
|
142
|
+
}
|
|
143
|
+
/** Interface for update operations. */
|
|
144
|
+
export interface IUpdatableRepository<TDataObject extends object = object, TPersistObject extends object = TDataObject, ExtraOptions extends IExtraOptions = IExtraOptions> extends IRepository {
|
|
189
145
|
updateById(opts: {
|
|
190
146
|
id: IdType;
|
|
191
147
|
data: Partial<TPersistObject>;
|
|
@@ -246,6 +202,9 @@ export interface IPersistableRepository<TDataObject extends object = object, TPe
|
|
|
246
202
|
}): Promise<TCount & {
|
|
247
203
|
data: Array<R>;
|
|
248
204
|
}>;
|
|
205
|
+
}
|
|
206
|
+
/** Interface for delete operations. */
|
|
207
|
+
export interface IDeletableRepository<TDataObject extends object = object, ExtraOptions extends IExtraOptions = IExtraOptions> extends IRepository {
|
|
249
208
|
deleteById(opts: {
|
|
250
209
|
id: IdType;
|
|
251
210
|
options: ExtraOptions & {
|
|
@@ -301,8 +260,11 @@ export interface IPersistableRepository<TDataObject extends object = object, TPe
|
|
|
301
260
|
data: Array<R>;
|
|
302
261
|
}>;
|
|
303
262
|
}
|
|
263
|
+
/** Interface for full CRUD repository operations - reads plus create, update, and delete. */
|
|
264
|
+
export interface IPersistableRepository<TDataObject extends object = object, TPersistObject extends object = TDataObject, ExtraOptions extends IExtraOptions = IExtraOptions> extends IReadableRepository<TDataObject, ExtraOptions>, ICreatableRepository<TDataObject, TPersistObject, ExtraOptions>, IUpdatableRepository<TDataObject, TPersistObject, ExtraOptions>, IDeletableRepository<TDataObject, ExtraOptions> {
|
|
265
|
+
}
|
|
304
266
|
/** Alias for IPersistableRepository (already the full create/read/update/delete surface) - the
|
|
305
|
-
* name both
|
|
267
|
+
* name both DefaultRelationalRepository and DefaultSearchRepository are meant to satisfy. */
|
|
306
268
|
export interface ICrudRepository<TDataObject extends object = object, TPersistObject extends object = TDataObject, ExtraOptions extends IExtraOptions = IExtraOptions> extends IPersistableRepository<TDataObject, TPersistObject, ExtraOptions> {
|
|
307
269
|
}
|
|
308
270
|
/** Options passed to query operator handler functions. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/common/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,143 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CountSchema =
|
|
3
|
+
exports.CountSchema = void 0;
|
|
4
4
|
const zod_openapi_1 = require("@hono/zod-openapi");
|
|
5
|
-
/** Zod schema for pagination skip parameter. */
|
|
6
|
-
exports.SkipSchema = zod_openapi_1.z
|
|
7
|
-
.number()
|
|
8
|
-
.optional()
|
|
9
|
-
.openapi({
|
|
10
|
-
description: 'Number of items to skip for pagination.',
|
|
11
|
-
examples: [1, 2, 3],
|
|
12
|
-
});
|
|
13
|
-
/** Zod schema for pagination offset parameter. */
|
|
14
|
-
exports.OffsetSchema = zod_openapi_1.z
|
|
15
|
-
.number()
|
|
16
|
-
.optional()
|
|
17
|
-
.openapi({
|
|
18
|
-
description: 'Number of items to offset for pagination.',
|
|
19
|
-
examples: [1, 2, 3],
|
|
20
|
-
});
|
|
21
|
-
/** Zod schema for pagination limit parameter - no schema-level default; ReadableRepository.find()
|
|
22
|
-
* applies DEFAULT_LIMIT only to the top-level query so it never leaks into relation scopes. */
|
|
23
|
-
exports.LimitSchema = zod_openapi_1.z
|
|
24
|
-
.number()
|
|
25
|
-
.optional()
|
|
26
|
-
.openapi({
|
|
27
|
-
description: 'Maximum number of items to return. Defaults to 10 for top-level list queries.',
|
|
28
|
-
examples: [1, 2, 3],
|
|
29
|
-
});
|
|
30
|
-
/** Zod schema for query ordering. Supports regular columns and JSON/JSONB paths. */
|
|
31
|
-
exports.OrderBySchema = zod_openapi_1.z
|
|
32
|
-
.array(zod_openapi_1.z.string())
|
|
33
|
-
.optional()
|
|
34
|
-
.openapi({
|
|
35
|
-
description: "Sorting order for results. Supports regular columns ('fieldName ASC') and JSON/JSONB paths ('metadata.field DESC', 'data.nested[0].value ASC').",
|
|
36
|
-
examples: [
|
|
37
|
-
'id DESC',
|
|
38
|
-
'createdAt ASC',
|
|
39
|
-
'metadata.priority DESC',
|
|
40
|
-
'data.nested.value ASC',
|
|
41
|
-
'items[0].score DESC',
|
|
42
|
-
],
|
|
43
|
-
});
|
|
44
|
-
/** @internal Recursive schema for where clause validation with nested AND/OR. */
|
|
45
|
-
const _WhereSchema = zod_openapi_1.z.lazy(() => zod_openapi_1.z.record(zod_openapi_1.z.string(), zod_openapi_1.z.any()).and(zod_openapi_1.z.object({
|
|
46
|
-
and: zod_openapi_1.z.array(_WhereSchema).optional(),
|
|
47
|
-
or: zod_openapi_1.z.array(_WhereSchema).optional(),
|
|
48
|
-
})));
|
|
49
|
-
/** Zod schema for query where conditions. Supports object format and JSON string format. */
|
|
50
|
-
exports.WhereSchema = zod_openapi_1.z
|
|
51
|
-
.union([
|
|
52
|
-
_WhereSchema,
|
|
53
|
-
zod_openapi_1.z
|
|
54
|
-
.string()
|
|
55
|
-
.transform(val => {
|
|
56
|
-
if (val) {
|
|
57
|
-
return JSON.parse(val);
|
|
58
|
-
}
|
|
59
|
-
return undefined;
|
|
60
|
-
})
|
|
61
|
-
.pipe(_WhereSchema),
|
|
62
|
-
])
|
|
63
|
-
.openapi({
|
|
64
|
-
type: 'object',
|
|
65
|
-
description: 'Query conditions for selecting data.',
|
|
66
|
-
});
|
|
67
|
-
/** Zod schema for field/column selection. Supports array format or object format. */
|
|
68
|
-
exports.FieldsSchema = zod_openapi_1.z
|
|
69
|
-
.record(zod_openapi_1.z.string(), zod_openapi_1.z.boolean())
|
|
70
|
-
.or(zod_openapi_1.z.array(zod_openapi_1.z.string()))
|
|
71
|
-
.optional()
|
|
72
|
-
.openapi({
|
|
73
|
-
description: 'Fields selection - either an array of field names to include, or an object with field names as keys and boolean values (true to include, false to exclude)',
|
|
74
|
-
examples: [
|
|
75
|
-
JSON.stringify(['id', 'name', 'email']),
|
|
76
|
-
JSON.stringify({ id: true, name: true }),
|
|
77
|
-
JSON.stringify({ id: true, name: true, email: true, fullName: false }),
|
|
78
|
-
],
|
|
79
|
-
});
|
|
80
|
-
/** Zod schema for including related entities in queries with optional nested filtering. */
|
|
81
|
-
exports.InclusionSchema = zod_openapi_1.z
|
|
82
|
-
.array(zod_openapi_1.z.object({
|
|
83
|
-
relation: zod_openapi_1.z.string().openapi({ description: 'Model relation name' }),
|
|
84
|
-
scope: zod_openapi_1.z
|
|
85
|
-
.lazy(() => exports.FilterSchema) // eslint-disable-line @typescript-eslint/no-use-before-define
|
|
86
|
-
.optional()
|
|
87
|
-
.openapi({ description: 'Model relation filter' }),
|
|
88
|
-
shouldSkipDefaultFilter: zod_openapi_1.z
|
|
89
|
-
.boolean()
|
|
90
|
-
.optional()
|
|
91
|
-
.openapi({ description: 'Skip the default filter for this relation' }),
|
|
92
|
-
}))
|
|
93
|
-
.optional()
|
|
94
|
-
.openapi({
|
|
95
|
-
description: 'Define related models to include in the response.',
|
|
96
|
-
examples: [
|
|
97
|
-
JSON.stringify({ include: [{ relation: 'posts' }] }),
|
|
98
|
-
JSON.stringify({ include: [{ relation: 'posts', scope: { limit: 5 } }] }),
|
|
99
|
-
],
|
|
100
|
-
});
|
|
101
|
-
/** @internal Filter schema object definition. */
|
|
102
|
-
const _FilterSchema = zod_openapi_1.z.object({
|
|
103
|
-
where: exports.WhereSchema.optional(),
|
|
104
|
-
fields: exports.FieldsSchema,
|
|
105
|
-
include: exports.InclusionSchema,
|
|
106
|
-
order: exports.OrderBySchema,
|
|
107
|
-
limit: exports.LimitSchema,
|
|
108
|
-
offset: exports.OffsetSchema,
|
|
109
|
-
skip: exports.SkipSchema,
|
|
110
|
-
});
|
|
111
|
-
/** Comprehensive Zod schema for repository query filtering. Supports object and JSON string formats. */
|
|
112
|
-
exports.FilterSchema = zod_openapi_1.z
|
|
113
|
-
.union([
|
|
114
|
-
_FilterSchema,
|
|
115
|
-
zod_openapi_1.z
|
|
116
|
-
.string()
|
|
117
|
-
.transform(val => {
|
|
118
|
-
if (val) {
|
|
119
|
-
return JSON.parse(val);
|
|
120
|
-
}
|
|
121
|
-
return {};
|
|
122
|
-
})
|
|
123
|
-
.pipe(_FilterSchema),
|
|
124
|
-
])
|
|
125
|
-
.optional()
|
|
126
|
-
.openapi({
|
|
127
|
-
type: 'object',
|
|
128
|
-
description: 'A comprehensive filter object for querying data, including conditions, field selection, relations, pagination, and sorting.',
|
|
129
|
-
examples: [
|
|
130
|
-
JSON.stringify({ where: { name: 'John Doe' }, limit: 10 }),
|
|
131
|
-
JSON.stringify({ fields: { id: true, name: true, email: true }, order: ['createdAt DESC'] }),
|
|
132
|
-
JSON.stringify({ include: [{ relation: 'posts', scope: { limit: 5 } }] }),
|
|
133
|
-
JSON.stringify({
|
|
134
|
-
where: { or: [{ status: 'active' }, { isPublished: true }] },
|
|
135
|
-
skip: 20,
|
|
136
|
-
limit: 10,
|
|
137
|
-
}),
|
|
138
|
-
JSON.stringify({ where: { and: [{ role: 'admin' }, { createdAt: { gte: 'YYYY-MM-DD' } }] } }),
|
|
139
|
-
],
|
|
140
|
-
});
|
|
141
5
|
/** Zod schema for count operation results. */
|
|
142
6
|
exports.CountSchema = zod_openapi_1.z.object({ count: zod_openapi_1.z.number().default(0) }).openapi({
|
|
143
7
|
description: 'Total count of items matching the criteria.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/repositories/common/types.ts"],"names":[],"mappings":";;;AAEA,mDAAsC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/repositories/common/types.ts"],"names":[],"mappings":";;;AAEA,mDAAsC;AAWtC,8CAA8C;AACjC,QAAA,WAAW,GAAG,eAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,eAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IAC5E,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;CACxC,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AbstractDataSource } from '../../../base/datasources';
|
|
2
|
-
import { AbstractEntity } from '../../../base/models';
|
|
3
|
-
import { IdType } from '../../../base/models';
|
|
2
|
+
import { AbstractEntity, IdType } from '../../../base/models';
|
|
4
3
|
import { IModelMetadata } from '../../../helpers/inversion';
|
|
5
4
|
import { BaseHelper, TClass, TNullable } from '@venizia/ignis-helpers';
|
|
6
|
-
import { IExtraOptions, IPersistableRepository, TCount, TDataRange,
|
|
5
|
+
import { IExtraOptions, IPersistableRepository, TCount, TDataRange, TRepositoryOperationScope } from '../common';
|
|
6
|
+
import { TFilter, TWhere } from '../query-schemas';
|
|
7
7
|
/** Engine-neutral repository plumbing - lazy dataSource/entity resolution, class-keyed `@model`
|
|
8
8
|
* settings, operation scope. `TOptions` defaults to `IExtraOptions` so connectors can narrow it while staying assignable to this base. */
|
|
9
9
|
export declare abstract class AbstractRepository<TDataObject extends object, TPersistObject extends object = TDataObject, TOptions extends IExtraOptions = IExtraOptions> extends BaseHelper implements IPersistableRepository<TDataObject, TPersistObject, TOptions> {
|
|
@@ -39,6 +39,7 @@ export declare abstract class AbstractRepository<TDataObject extends object, TPe
|
|
|
39
39
|
protected get defaultLimit(): number | undefined;
|
|
40
40
|
/** Resolves the entity instance from @repository metadata on first access. */
|
|
41
41
|
protected resolveEntity(): AbstractEntity;
|
|
42
|
+
/** Readable */
|
|
42
43
|
abstract count(opts: {
|
|
43
44
|
where: TWhere<TDataObject>;
|
|
44
45
|
options?: TOptions;
|
|
@@ -71,6 +72,7 @@ export declare abstract class AbstractRepository<TDataObject extends object, TPe
|
|
|
71
72
|
filter?: Omit<TFilter<TDataObject>, 'where'>;
|
|
72
73
|
options?: TOptions;
|
|
73
74
|
}): Promise<TNullable<R>>;
|
|
75
|
+
/** Creatable */
|
|
74
76
|
abstract create(opts: {
|
|
75
77
|
data: TPersistObject;
|
|
76
78
|
options: TOptions & {
|
|
@@ -103,6 +105,7 @@ export declare abstract class AbstractRepository<TDataObject extends object, TPe
|
|
|
103
105
|
}): Promise<TCount & {
|
|
104
106
|
data: Array<R>;
|
|
105
107
|
}>;
|
|
108
|
+
/** Updatable */
|
|
106
109
|
abstract updateById(opts: {
|
|
107
110
|
id: IdType;
|
|
108
111
|
data: Partial<TPersistObject>;
|
|
@@ -162,6 +165,7 @@ export declare abstract class AbstractRepository<TDataObject extends object, TPe
|
|
|
162
165
|
}): Promise<TCount & {
|
|
163
166
|
data: Array<R>;
|
|
164
167
|
}>;
|
|
168
|
+
/** Deletable */
|
|
165
169
|
abstract deleteById(opts: {
|
|
166
170
|
id: IdType;
|
|
167
171
|
options: TOptions & {
|
|
@@ -216,4 +220,4 @@ export declare abstract class AbstractRepository<TDataObject extends object, TPe
|
|
|
216
220
|
data: Array<R>;
|
|
217
221
|
}>;
|
|
218
222
|
}
|
|
219
|
-
//# sourceMappingURL=abstract
|
|
223
|
+
//# sourceMappingURL=abstract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './abstract
|
|
1
|
+
export * from './abstract';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./abstract
|
|
17
|
+
__exportStar(require("./abstract"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC"}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./common"), exports);
|
|
18
18
|
__exportStar(require("./core"), exports);
|
|
19
|
+
__exportStar(require("./query-schemas"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,kDAAgC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from '@hono/zod-openapi';
|
|
2
|
+
export declare const FieldsSchema: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodBoolean>, z.ZodArray<z.ZodString>]>>;
|
|
3
|
+
export type TFields<T = any> = Partial<{
|
|
4
|
+
[K in keyof T]: boolean;
|
|
5
|
+
}> | Array<keyof T>;
|
|
6
|
+
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/query-schemas/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,eAAO,MAAM,YAAY,8FAYrB,CAAC;AAEL,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO;CAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FieldsSchema = void 0;
|
|
4
|
+
const zod_openapi_1 = require("@hono/zod-openapi");
|
|
5
|
+
exports.FieldsSchema = zod_openapi_1.z
|
|
6
|
+
.record(zod_openapi_1.z.string(), zod_openapi_1.z.boolean())
|
|
7
|
+
.or(zod_openapi_1.z.array(zod_openapi_1.z.string()))
|
|
8
|
+
.optional()
|
|
9
|
+
.openapi({
|
|
10
|
+
description: 'Fields selection - either an array of field names to include, or an object with field names as keys and boolean values (true to include, false to exclude)',
|
|
11
|
+
examples: [
|
|
12
|
+
JSON.stringify(['id', 'name', 'email']),
|
|
13
|
+
JSON.stringify({ id: true, name: true }),
|
|
14
|
+
JSON.stringify({ id: true, name: true, email: true, fullName: false }),
|
|
15
|
+
],
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/base/repositories/query-schemas/fields.ts"],"names":[],"mappings":";;;AAAA,mDAAsC;AAEzB,QAAA,YAAY,GAAG,eAAC;KAC1B,MAAM,CAAC,eAAC,CAAC,MAAM,EAAE,EAAE,eAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,EAAE,CAAC,eAAC,CAAC,KAAK,CAAC,eAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KACvB,QAAQ,EAAE;KACV,OAAO,CAAC;IACP,WAAW,EACT,4JAA4J;IAC9J,QAAQ,EAAE;QACR,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KACvE;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TFields } from './fields';
|
|
2
|
+
import { TWhere } from './where';
|
|
3
|
+
/** Zod schema for including related entities in queries with optional nested filtering. */
|
|
4
|
+
export declare const InclusionSchema: any;
|
|
5
|
+
/** Single relation inclusion configuration. */
|
|
6
|
+
export type TInclusion = {
|
|
7
|
+
relation: string;
|
|
8
|
+
scope?: TFilter;
|
|
9
|
+
shouldSkipDefaultFilter?: boolean;
|
|
10
|
+
};
|
|
11
|
+
/** Comprehensive Zod schema for repository query filtering. Supports object and JSON string formats. */
|
|
12
|
+
export declare const FilterSchema: any;
|
|
13
|
+
/** Comprehensive filter configuration used across all repository query methods. */
|
|
14
|
+
export type TFilter<T = any> = {
|
|
15
|
+
where?: TWhere<T>;
|
|
16
|
+
fields?: TFields;
|
|
17
|
+
include?: TInclusion[];
|
|
18
|
+
order?: string[];
|
|
19
|
+
limit?: number;
|
|
20
|
+
offset?: number;
|
|
21
|
+
skip?: number;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/query-schemas/filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAE,MAAM,UAAU,CAAC;AAKjD,OAAO,EAAE,MAAM,EAAe,MAAM,SAAS,CAAC;AAE9C,2FAA2F;AAC3F,eAAO,MAAM,eAAe,KAqBxB,CAAC;AAEL,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAaF,wGAAwG;AACxG,eAAO,MAAM,YAAY,KA8BrB,CAAC;AAEL,mFAAmF;AACnF,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FilterSchema = exports.InclusionSchema = void 0;
|
|
4
|
+
const zod_openapi_1 = require("@hono/zod-openapi");
|
|
5
|
+
const fields_1 = require("./fields");
|
|
6
|
+
const limit_1 = require("./limit");
|
|
7
|
+
const offset_1 = require("./offset");
|
|
8
|
+
const order_by_1 = require("./order-by");
|
|
9
|
+
const skip_1 = require("./skip");
|
|
10
|
+
const where_1 = require("./where");
|
|
11
|
+
/** Zod schema for including related entities in queries with optional nested filtering. */
|
|
12
|
+
exports.InclusionSchema = zod_openapi_1.z
|
|
13
|
+
.array(zod_openapi_1.z.object({
|
|
14
|
+
relation: zod_openapi_1.z.string().openapi({ description: 'Model relation name' }),
|
|
15
|
+
scope: zod_openapi_1.z
|
|
16
|
+
.lazy(() => exports.FilterSchema) // eslint-disable-line @typescript-eslint/no-use-before-define
|
|
17
|
+
.optional()
|
|
18
|
+
.openapi({ description: 'Model relation filter' }),
|
|
19
|
+
shouldSkipDefaultFilter: zod_openapi_1.z
|
|
20
|
+
.boolean()
|
|
21
|
+
.optional()
|
|
22
|
+
.openapi({ description: 'Skip the default filter for this relation' }),
|
|
23
|
+
}))
|
|
24
|
+
.optional()
|
|
25
|
+
.openapi({
|
|
26
|
+
description: 'Define related models to include in the response.',
|
|
27
|
+
examples: [
|
|
28
|
+
JSON.stringify({ include: [{ relation: 'posts' }] }),
|
|
29
|
+
JSON.stringify({ include: [{ relation: 'posts', scope: { limit: 5 } }] }),
|
|
30
|
+
],
|
|
31
|
+
});
|
|
32
|
+
/** @internal Filter schema object definition. */
|
|
33
|
+
const _FilterSchema = zod_openapi_1.z.object({
|
|
34
|
+
where: where_1.WhereSchema.optional(),
|
|
35
|
+
fields: fields_1.FieldsSchema,
|
|
36
|
+
include: exports.InclusionSchema,
|
|
37
|
+
order: order_by_1.OrderBySchema,
|
|
38
|
+
limit: limit_1.LimitSchema,
|
|
39
|
+
offset: offset_1.OffsetSchema,
|
|
40
|
+
skip: skip_1.SkipSchema,
|
|
41
|
+
});
|
|
42
|
+
/** Comprehensive Zod schema for repository query filtering. Supports object and JSON string formats. */
|
|
43
|
+
exports.FilterSchema = zod_openapi_1.z
|
|
44
|
+
.union([
|
|
45
|
+
_FilterSchema,
|
|
46
|
+
zod_openapi_1.z
|
|
47
|
+
.string()
|
|
48
|
+
.transform(val => {
|
|
49
|
+
if (val) {
|
|
50
|
+
return JSON.parse(val);
|
|
51
|
+
}
|
|
52
|
+
return {};
|
|
53
|
+
})
|
|
54
|
+
.pipe(_FilterSchema),
|
|
55
|
+
])
|
|
56
|
+
.optional()
|
|
57
|
+
.openapi({
|
|
58
|
+
type: 'object',
|
|
59
|
+
description: 'A comprehensive filter object for querying data, including conditions, field selection, relations, pagination, and sorting.',
|
|
60
|
+
examples: [
|
|
61
|
+
JSON.stringify({ where: { name: 'John Doe' }, limit: 10 }),
|
|
62
|
+
JSON.stringify({ fields: { id: true, name: true, email: true }, order: ['createdAt DESC'] }),
|
|
63
|
+
JSON.stringify({ include: [{ relation: 'posts', scope: { limit: 5 } }] }),
|
|
64
|
+
JSON.stringify({
|
|
65
|
+
where: { or: [{ status: 'active' }, { isPublished: true }] },
|
|
66
|
+
skip: 20,
|
|
67
|
+
limit: 10,
|
|
68
|
+
}),
|
|
69
|
+
JSON.stringify({ where: { and: [{ role: 'admin' }, { createdAt: { gte: 'YYYY-MM-DD' } }] } }),
|
|
70
|
+
],
|
|
71
|
+
});
|
|
72
|
+
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/base/repositories/query-schemas/filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/query-schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./fields"), exports);
|
|
18
|
+
__exportStar(require("./filter"), exports);
|
|
19
|
+
__exportStar(require("./limit"), exports);
|
|
20
|
+
__exportStar(require("./offset"), exports);
|
|
21
|
+
__exportStar(require("./order-by"), exports);
|
|
22
|
+
__exportStar(require("./skip"), exports);
|
|
23
|
+
__exportStar(require("./where"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/repositories/query-schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/query-schemas/limit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,eAAO,MAAM,WAAW,4BAMpB,CAAC;AAEL,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
|