@drax/crud-back 1.1.0 → 1.3.0
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/repository/AbstractMongoRepository.js +1 -1
- package/dist/services/AbstractService.js +150 -86
- package/package.json +4 -4
- package/src/repository/AbstractMongoRepository.ts +1 -1
- package/src/services/AbstractService.ts +199 -94
- package/tsconfig.tsbuildinfo +1 -1
- package/types/services/AbstractService.d.ts +10 -4
- package/types/services/AbstractService.d.ts.map +1 -1
|
@@ -5,28 +5,34 @@ import { IDraxExportResult } from "@drax/crud-share";
|
|
|
5
5
|
import { IDraxFindOneOptions } from "@drax/crud-share/types/interfaces/IDraxFindOneOptions";
|
|
6
6
|
declare abstract class AbstractService<T, C, U> implements IDraxCrudService<T, C, U> {
|
|
7
7
|
protected _repository: IDraxCrudRepository<T, C, U>;
|
|
8
|
-
protected
|
|
8
|
+
protected _baseSchema?: ZodObject<ZodRawShape> | undefined;
|
|
9
|
+
protected _fullSchema?: ZodObject<ZodRawShape> | undefined;
|
|
9
10
|
protected _defaultOrder?: string | undefined;
|
|
11
|
+
protected _validateOutput: boolean;
|
|
10
12
|
transformCreate?: (data: C) => Promise<C>;
|
|
11
13
|
transformUpdate?: (data: U) => Promise<U>;
|
|
12
14
|
transformRead?: (data: T) => Promise<T>;
|
|
13
15
|
onCreated?: (data: T) => Promise<void>;
|
|
14
16
|
onUpdated?: (data: T) => Promise<void>;
|
|
15
17
|
onDeleted?: (id: string) => Promise<void>;
|
|
16
|
-
constructor(repository: IDraxCrudRepository<T, C, U>,
|
|
18
|
+
constructor(repository: IDraxCrudRepository<T, C, U>, baseSchema?: ZodObject<ZodRawShape>, fullSchema?: ZodObject<ZodRawShape>);
|
|
19
|
+
validateInputCreate(data: C): Promise<C>;
|
|
20
|
+
validateInputUpdate(data: U): Promise<U>;
|
|
21
|
+
validateInputUpdatePartial(data: U): Promise<U>;
|
|
22
|
+
validateOutput(item: T): Promise<T>;
|
|
17
23
|
create(data: C): Promise<T>;
|
|
18
24
|
update(id: string, data: U): Promise<T>;
|
|
19
25
|
updatePartial(id: string, data: any): Promise<T>;
|
|
20
26
|
delete(id: string): Promise<boolean>;
|
|
21
27
|
findById(id: string): Promise<T | null>;
|
|
22
|
-
findByIds(ids: Array<string>): Promise<T[]>;
|
|
23
28
|
findOneBy(field: string, value: any): Promise<T | null>;
|
|
29
|
+
findOne({ search, filters }: IDraxFindOneOptions): Promise<T>;
|
|
30
|
+
findByIds(ids: Array<string>): Promise<T[]>;
|
|
24
31
|
findBy(field: string, value: any, limit?: number): Promise<T[] | null>;
|
|
25
32
|
fetchAll(): Promise<T[]>;
|
|
26
33
|
search(value: string, limit?: number, filters?: IDraxFieldFilter[]): Promise<T[]>;
|
|
27
34
|
paginate({ page, limit, orderBy, order, search, filters }: IDraxPaginateOptions): Promise<IDraxPaginateResult<T>>;
|
|
28
35
|
find({ orderBy, order, search, filters, limit, }: IDraxFindOptions): Promise<T[]>;
|
|
29
|
-
findOne({ search, filters }: IDraxFindOneOptions): Promise<T>;
|
|
30
36
|
groupBy({ fields, filters, dateFormat }: IDraxGroupByOptions): Promise<Array<any>>;
|
|
31
37
|
export({ format, headers, headersTranslate, separator, fileName, orderBy, order, search, filters }: IDraxExportOptions, destinationPath: string): Promise<IDraxExportResult>;
|
|
32
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractService.d.ts","sourceRoot":"","sources":["../../src/services/AbstractService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,KAAK,CAAC;AAChD,OAAO,KAAK,EACR,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAC7D,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uDAAuD,CAAC;AAE1F,uBAAe,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,YAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAExE,SAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnD,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"AbstractService.d.ts","sourceRoot":"","sources":["../../src/services/AbstractService.ts"],"names":[],"mappings":"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"}
|