nicot 1.2.0 → 1.2.2

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.
@@ -6,13 +6,13 @@ import { CursorPaginationDto } from './dto';
6
6
  import { BaseRestfulController, RestfulMethods, RestfulPaginateType } from './bases/base-restful-controller';
7
7
  import { Repository } from 'typeorm';
8
8
  import { RelationDef } from './utility/relation-def';
9
- export interface RestfulFactoryOptions<T> {
10
- fieldsToOmit?: (keyof T)[];
11
- writeFieldsToOmit?: (keyof T)[];
12
- createFieldsToOmit?: (keyof T)[];
13
- updateFieldsToOmit?: (keyof T)[];
14
- findAllFieldsToOmit?: (keyof T)[];
15
- outputFieldsToOmit?: (keyof T)[];
9
+ export interface RestfulFactoryOptions<T, O extends keyof T = never, W extends keyof T = never, C extends keyof T = never, U extends keyof T = never, F extends keyof T = never, R extends keyof T = never> {
10
+ fieldsToOmit?: O[];
11
+ writeFieldsToOmit?: W[];
12
+ createFieldsToOmit?: C[];
13
+ updateFieldsToOmit?: U[];
14
+ findAllFieldsToOmit?: F[];
15
+ outputFieldsToOmit?: R[];
16
16
  prefix?: string;
17
17
  keepEntityVersioningDates?: boolean;
18
18
  entityClassName?: string;
@@ -21,38 +21,38 @@ export interface RestfulFactoryOptions<T> {
21
21
  }
22
22
  export declare class RestfulFactory<T extends {
23
23
  id: any;
24
- }> {
24
+ }, O extends keyof T = never, W extends keyof T = never, C extends keyof T = never, U extends keyof T = never, F extends keyof T = never, R extends keyof T = never> {
25
25
  readonly entityClass: ClassType<T>;
26
26
  private options;
27
27
  private __resolveVisited;
28
+ constructor(entityClass: ClassType<T>, options?: RestfulFactoryOptions<T, O, W, C, U, F, R>, __resolveVisited?: Map<AnyClass, [AnyClass]>);
28
29
  private getEntityClassName;
29
30
  get fieldsToOmit(): (keyof T)[];
30
31
  get fieldsInCreateToOmit(): (keyof T)[];
31
- get createDto(): ClassType<T>;
32
+ get createDto(): ClassType<Omit<T, O | W | C>>;
32
33
  get fieldsInUpdateToOmit(): (keyof T)[];
33
- get updateDto(): ClassType<T>;
34
+ get updateDto(): ClassType<Omit<T, O | W | U>>;
34
35
  get importDto(): new () => {
35
- data: T[];
36
+ data: Omit<T, O | W | C>[];
36
37
  };
37
38
  get fieldsInGetToOmit(): (keyof T)[];
38
39
  get queryableFields(): (keyof T)[];
39
- get findAllDto(): ClassType<T>;
40
+ get findAllDto(): ClassType<Omit<T, O | F>>;
40
41
  get findAllCursorPaginatedDto(): ClassType<T>;
41
- get entityResultDto(): ClassType<T>;
42
- get entityCreateResultDto(): import("@nestjs/common").Type<Omit<T, keyof T>>;
43
- get entityReturnMessageDto(): new (statusCode: number, message: string, data: T) => import("nesties").GenericReturnMessageDto<T>;
44
- get entityCreateReturnMessageDto(): new (statusCode: number, message: string, data: Omit<T, keyof T>) => import("nesties").GenericReturnMessageDto<Omit<T, keyof T>>;
45
- get entityArrayReturnMessageDto(): new (statusCode: number, message: string, data: T[], total: number, pageSettings: import("nesties").PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
46
- get entityCursorPaginationReturnMessageDto(): new (statusCode: number, message: string, data: T[], cursorResponse: import("./dto").CursorPaginationResponseWise) => import("./dto").GenericCursorPaginationReturnMessageDto<T>;
42
+ get entityResultDto(): ClassType<Omit<T, R>>;
43
+ get entityCreateResultDto(): ClassType<Omit<T, R>>;
44
+ get entityReturnMessageDto(): new (statusCode: number, message: string, data: Omit<T, R>) => import("nesties").GenericReturnMessageDto<Omit<T, R>>;
45
+ get entityCreateReturnMessageDto(): new (statusCode: number, message: string, data: Omit<T, R>) => import("nesties").GenericReturnMessageDto<Omit<T, R>>;
46
+ get entityArrayReturnMessageDto(): new (statusCode: number, message: string, data: Omit<T, R>[], total: number, pageSettings: import("nesties").PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<Omit<T, R>>;
47
+ get entityCursorPaginationReturnMessageDto(): new (statusCode: number, message: string, data: Omit<T, R>[], cursorResponse: import("./dto").CursorPaginationResponseWise) => import("./dto").GenericCursorPaginationReturnMessageDto<Omit<T, R>>;
47
48
  get importReturnMessageDto(): new (statusCode: number, message: string, data: {
48
49
  result: string;
49
- entry: Omit<T, keyof T>;
50
+ entry: Omit<T, R>;
50
51
  }[]) => import("nesties").GenericReturnMessageDto<{
51
52
  result: string;
52
- entry: Omit<T, keyof T>;
53
+ entry: Omit<T, R>;
53
54
  }[]>;
54
55
  get idType(): StringConstructor | NumberConstructor;
55
- constructor(entityClass: ClassType<T>, options?: RestfulFactoryOptions<T>, __resolveVisited?: Map<AnyClass, [AnyClass]>);
56
56
  private usePrefix;
57
57
  create(extras?: Partial<OperationObject>): MethodDecorator;
58
58
  createParam(): ParameterDecorator;
@@ -0,0 +1,3 @@
1
+ import { AnyClass } from 'nesties';
2
+ export type OmitFromClass<C extends AnyClass, K extends InstanceType<C>> = new (...args: ConstructorParameters<C>) => Omit<InstanceType<C>, K>;
3
+ export type PickFromClass<C extends AnyClass, K extends keyof InstanceType<C>> = new (...args: ConstructorParameters<C>) => Pick<InstanceType<C>, K>;
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.0",
4
+ "version": "1.2.2",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",