nicot 1.2.5 → 1.2.7

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,8 +1,8 @@
1
1
  import { CursorPaginationDto } from './dto';
2
- import { FindOptionsWhere, Repository, SelectQueryBuilder } from 'typeorm';
2
+ import { FindOneOptions, FindOptionsWhere, Repository, SelectQueryBuilder } from 'typeorm';
3
3
  import { EntityHooks, PageSettingsDto, PageSettingsFactory, QueryWise } from './bases';
4
4
  import { ConsoleLogger } from '@nestjs/common';
5
- import { BlankReturnMessageDto, ClassType } from 'nesties';
5
+ import { Awaitable, BlankReturnMessageDto, ClassType, GenericReturnMessageDto } from 'nesties';
6
6
  import { RelationDef } from './utility/relation-def';
7
7
  import { BindingValueMetadata } from './decorators';
8
8
  export type EntityId<T extends {
@@ -27,7 +27,7 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
27
27
  repo: Repository<T>;
28
28
  crudOptions: CrudOptions<T>;
29
29
  readonly entityName: string;
30
- readonly entityReturnMessageDto: new (statusCode: number, message: string, data: T) => import("nesties").GenericReturnMessageDto<T>;
30
+ readonly entityReturnMessageDto: new (statusCode: number, message: string, data: T) => GenericReturnMessageDto<T>;
31
31
  readonly importEntryDto: new () => {
32
32
  result: string;
33
33
  entry: T;
@@ -35,7 +35,7 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
35
35
  readonly importReturnMessageDto: new (statusCode: number, message: string, data: {
36
36
  result: string;
37
37
  entry: T;
38
- }[]) => import("nesties").GenericReturnMessageDto<{
38
+ }[]) => GenericReturnMessageDto<{
39
39
  result: string;
40
40
  entry: T;
41
41
  }[]>;
@@ -68,14 +68,14 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
68
68
  entry: T;
69
69
  }[];
70
70
  }>;
71
- create(_ent: T, beforeCreate?: (repo: Repository<T>) => Promise<void>): Promise<import("nesties").GenericReturnMessageDto<T>>;
71
+ create(_ent: T, beforeCreate?: (repo: Repository<T>) => Promise<void>): Promise<GenericReturnMessageDto<T>>;
72
72
  get entityAliasName(): string;
73
73
  _applyQueryRelation(qb: SelectQueryBuilder<T>, relation: RelationDef): void;
74
74
  _applyQueryRelations(qb: SelectQueryBuilder<T>): void;
75
75
  _applyQueryFilters(qb: SelectQueryBuilder<T>, ent: T): void;
76
76
  queryBuilder(): SelectQueryBuilder<T>;
77
77
  _applyQueryFromBinding(bindingEnt: Partial<T>, qb: SelectQueryBuilder<T>): void;
78
- findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
78
+ findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<GenericReturnMessageDto<T>>;
79
79
  _preFindAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<{
80
80
  query: SelectQueryBuilder<T>;
81
81
  newEnt: T;
@@ -85,18 +85,22 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
85
85
  findAllCursorPaginated(ent?: Partial<T & Partial<CursorPaginationDto>>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("./dto").GenericCursorPaginationReturnMessageDto<T>>;
86
86
  update(id: EntityId<T>, entPart: Partial<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
87
87
  delete(id: EntityId<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
88
- importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<import("nesties").GenericReturnMessageDto<{
88
+ importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<GenericReturnMessageDto<{
89
89
  result: string;
90
90
  entry: T;
91
91
  }[]>>;
92
- exists(id: EntityId<T>): Promise<boolean>;
92
+ exists(id: EntityId<T>, cond?: FindOptionsWhere<T>): Promise<boolean>;
93
+ operation<R>(id: EntityId<T>, cb: (ent: T, ctx: {
94
+ repo: Repository<T>;
95
+ flush: () => Promise<void>;
96
+ }) => Awaitable<R>, extraOptions?: FindOneOptions<T>): Promise<GenericReturnMessageDto<R>>;
93
97
  _loadFullTextIndex(): Promise<void>;
94
98
  onModuleInit(): Promise<void>;
95
99
  }
96
100
  export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: ClassType<T>, crudOptions?: CrudOptions<T>): {
97
101
  new (repo: Repository<T>): {
98
102
  readonly entityName: string;
99
- readonly entityReturnMessageDto: new (statusCode: number, message: string, data: T) => import("nesties").GenericReturnMessageDto<T>;
103
+ readonly entityReturnMessageDto: new (statusCode: number, message: string, data: T) => GenericReturnMessageDto<T>;
100
104
  readonly importEntryDto: new () => {
101
105
  result: string;
102
106
  entry: T;
@@ -104,7 +108,7 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
104
108
  readonly importReturnMessageDto: new (statusCode: number, message: string, data: {
105
109
  result: string;
106
110
  entry: T;
107
- }[]) => import("nesties").GenericReturnMessageDto<{
111
+ }[]) => GenericReturnMessageDto<{
108
112
  result: string;
109
113
  entry: T;
110
114
  }[]>;
@@ -139,14 +143,14 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
139
143
  entry: T;
140
144
  }[];
141
145
  }>;
142
- create(_ent: T, beforeCreate?: (repo: Repository<T>) => Promise<void>): Promise<import("nesties").GenericReturnMessageDto<T>>;
146
+ create(_ent: T, beforeCreate?: (repo: Repository<T>) => Promise<void>): Promise<GenericReturnMessageDto<T>>;
143
147
  readonly entityAliasName: string;
144
148
  _applyQueryRelation(qb: SelectQueryBuilder<T>, relation: RelationDef): void;
145
149
  _applyQueryRelations(qb: SelectQueryBuilder<T>): void;
146
150
  _applyQueryFilters(qb: SelectQueryBuilder<T>, ent: T): void;
147
151
  queryBuilder(): SelectQueryBuilder<T>;
148
152
  _applyQueryFromBinding(bindingEnt: Partial<T>, qb: SelectQueryBuilder<T>): void;
149
- findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
153
+ findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<GenericReturnMessageDto<T>>;
150
154
  _preFindAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<{
151
155
  query: SelectQueryBuilder<T>;
152
156
  newEnt: T;
@@ -156,11 +160,15 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
156
160
  findAllCursorPaginated(ent?: Partial<T & Partial<CursorPaginationDto>>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("./dto").GenericCursorPaginationReturnMessageDto<T>>;
157
161
  update(id: EntityId<T>, entPart: Partial<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
158
162
  delete(id: EntityId<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
159
- importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<import("nesties").GenericReturnMessageDto<{
163
+ importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<GenericReturnMessageDto<{
160
164
  result: string;
161
165
  entry: T;
162
166
  }[]>>;
163
- exists(id: EntityId<T>): Promise<boolean>;
167
+ exists(id: EntityId<T>, cond?: FindOptionsWhere<T>): Promise<boolean>;
168
+ operation<R>(id: EntityId<T>, cb: (ent: T, ctx: {
169
+ repo: Repository<T>;
170
+ flush: () => Promise<void>;
171
+ }) => Awaitable<R>, extraOptions?: FindOneOptions<T>): Promise<GenericReturnMessageDto<R>>;
164
172
  _loadFullTextIndex(): Promise<void>;
165
173
  onModuleInit(): Promise<void>;
166
174
  };
@@ -1,4 +1,4 @@
1
- import { AnyClass, BlankReturnMessageDto, ClassType } from 'nesties';
1
+ import { AnyClass, ClassType } from 'nesties';
2
2
  import { OperationObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
3
3
  import { CrudBase, CrudOptions } from './crud-base';
4
4
  import { PageSettingsDto } from './bases';
@@ -77,6 +77,10 @@ export declare class RestfulFactory<T extends {
77
77
  updateParam(): ParameterDecorator;
78
78
  delete(extras?: Partial<OperationObject>): MethodDecorator;
79
79
  import(extras?: Partial<OperationObject>): MethodDecorator;
80
+ operation(operationName: string, options?: {
81
+ returnType?: AnyClass;
82
+ operationExtras?: Partial<OperationObject>;
83
+ }): MethodDecorator;
80
84
  baseController<Options extends Partial<{
81
85
  paginateType: RestfulPaginateType;
82
86
  globalMethodDecorators: MethodDecorator[];
@@ -158,13 +162,17 @@ export declare class RestfulFactory<T extends {
158
162
  }>;
159
163
  findAll(ent?: Partial<T>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericPaginatedReturnMessageDto<T>>;
160
164
  findAllCursorPaginated(ent?: Partial<T & Partial<CursorPaginationDto>>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<import("./dto").GenericCursorPaginationReturnMessageDto<T>>;
161
- update(id: import("./crud-base").EntityId<T>, entPart: Partial<T>, cond?: import("typeorm").FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
162
- delete(id: import("./crud-base").EntityId<T>, cond?: import("typeorm").FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
165
+ update(id: import("./crud-base").EntityId<T>, entPart: Partial<T>, cond?: import("typeorm").FindOptionsWhere<T>): Promise<import("nesties").BlankReturnMessageDto>;
166
+ delete(id: import("./crud-base").EntityId<T>, cond?: import("typeorm").FindOptionsWhere<T>): Promise<import("nesties").BlankReturnMessageDto>;
163
167
  importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<import("nesties").GenericReturnMessageDto<{
164
168
  result: string;
165
169
  entry: T;
166
170
  }[]>>;
167
- exists(id: import("./crud-base").EntityId<T>): Promise<boolean>;
171
+ exists(id: import("./crud-base").EntityId<T>, cond?: import("typeorm").FindOptionsWhere<T>): Promise<boolean>;
172
+ operation<R_1>(id: import("./crud-base").EntityId<T>, cb: (ent: T, ctx: {
173
+ repo: Repository<T>;
174
+ flush: () => Promise<void>;
175
+ }) => import("nesties").Awaitable<R_1>, extraOptions?: import("typeorm").FindOneOptions<T>): Promise<import("nesties").GenericReturnMessageDto<R_1>>;
168
176
  _loadFullTextIndex(): Promise<void>;
169
177
  onModuleInit(): Promise<void>;
170
178
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nicot",
3
3
  "description": "Nest.js interacting with class-validator + OpenAPI + TypeORM for Nest.js Restful API development.",
4
- "version": "1.2.5",
4
+ "version": "1.2.7",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",
@@ -95,7 +95,8 @@
95
95
  },
96
96
  "dependencies": {
97
97
  "lodash": "^4.17.21",
98
- "nesties": "^1.1.15",
98
+ "nesties": "^1.1.16",
99
+ "nfkit": "^1.0.12",
99
100
  "p-queue": "6.6.2",
100
101
  "superjson": "1.13.3",
101
102
  "typed-reflector": "^1.0.14"