nicot 1.2.3 → 1.2.5

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.
@@ -4,9 +4,11 @@ import { EntityHooks, PageSettingsDto, PageSettingsFactory, QueryWise } from './
4
4
  import { ConsoleLogger } from '@nestjs/common';
5
5
  import { BlankReturnMessageDto, ClassType } from 'nesties';
6
6
  import { RelationDef } from './utility/relation-def';
7
+ import { BindingValueMetadata } from './decorators';
7
8
  export type EntityId<T extends {
8
9
  id: any;
9
10
  }> = T['id'];
11
+ type BindingSnapshot = Record<string, any>;
10
12
  export declare const Relation: (name: string, options?: Omit<RelationDef, "name">) => RelationDef;
11
13
  export declare const Inner: (name: string, options?: Omit<RelationDef, "name">) => RelationDef;
12
14
  export type ValidCrudEntity<T> = Record<string, any> & {
@@ -46,6 +48,19 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
46
48
  constructor(entityClass: ClassType<T>, repo: Repository<T>, crudOptions: CrudOptions<T>);
47
49
  _cleanEntityNotInResultFields(ent: T): T;
48
50
  cleanEntityNotInResultFields<E extends T | T[]>(ents: E): E;
51
+ readonly _tmpBindingMap: Map<string, any>;
52
+ readonly _bindingCache: Map<string, BindingValueMetadata & {
53
+ field: string;
54
+ }>;
55
+ _lookForBindingValueField(bindingKey: string): BindingValueMetadata & {
56
+ field: string;
57
+ };
58
+ _resolveBindingValue<K extends keyof T>(entityField: K): T[K] | Promise<T[K]>;
59
+ getBindingPartialEntity(): Promise<Partial<T>>;
60
+ useBinding(value: any, bindngKey?: string): this;
61
+ _freezeBindings(): BindingSnapshot;
62
+ _restoreBindings(frozen: BindingSnapshot): this;
63
+ beforeSuper<R>(fn: () => Promise<R>): Promise<R>;
49
64
  _batchCreate(ents: T[], beforeCreate?: (repo: Repository<T>) => Promise<void>, skipErrors?: boolean): Promise<{
50
65
  results: T[];
51
66
  skipped: {
@@ -59,6 +74,7 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
59
74
  _applyQueryRelations(qb: SelectQueryBuilder<T>): void;
60
75
  _applyQueryFilters(qb: SelectQueryBuilder<T>, ent: T): void;
61
76
  queryBuilder(): SelectQueryBuilder<T>;
77
+ _applyQueryFromBinding(bindingEnt: Partial<T>, qb: SelectQueryBuilder<T>): void;
62
78
  findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
63
79
  _preFindAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<{
64
80
  query: SelectQueryBuilder<T>;
@@ -103,6 +119,19 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
103
119
  crudOptions: CrudOptions<T>;
104
120
  _cleanEntityNotInResultFields(ent: T): T;
105
121
  cleanEntityNotInResultFields<E extends T | T[]>(ents: E): E;
122
+ readonly _tmpBindingMap: Map<string, any>;
123
+ readonly _bindingCache: Map<string, BindingValueMetadata & {
124
+ field: string;
125
+ }>;
126
+ _lookForBindingValueField(bindingKey: string): BindingValueMetadata & {
127
+ field: string;
128
+ };
129
+ _resolveBindingValue<K extends keyof T>(entityField: K): T[K] | Promise<T[K]>;
130
+ getBindingPartialEntity(): Promise<Partial<T>>;
131
+ useBinding(value: any, bindngKey?: string): /*elided*/ any;
132
+ _freezeBindings(): BindingSnapshot;
133
+ _restoreBindings(frozen: BindingSnapshot): /*elided*/ any;
134
+ beforeSuper<R>(fn: () => Promise<R>): Promise<R>;
106
135
  _batchCreate(ents: T[], beforeCreate?: (repo: Repository<T>) => Promise<void>, skipErrors?: boolean): Promise<{
107
136
  results: T[];
108
137
  skipped: {
@@ -116,6 +145,7 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
116
145
  _applyQueryRelations(qb: SelectQueryBuilder<T>): void;
117
146
  _applyQueryFilters(qb: SelectQueryBuilder<T>, ent: T): void;
118
147
  queryBuilder(): SelectQueryBuilder<T>;
148
+ _applyQueryFromBinding(bindingEnt: Partial<T>, qb: SelectQueryBuilder<T>): void;
119
149
  findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
120
150
  _preFindAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<{
121
151
  query: SelectQueryBuilder<T>;
@@ -135,3 +165,4 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
135
165
  onModuleInit(): Promise<void>;
136
166
  };
137
167
  };
168
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface BindingValueMetadata {
2
+ bindingKey: string;
3
+ isMethod: boolean;
4
+ }
5
+ export declare const DefaultBindingKey = "default";
6
+ export declare const BindingColumn: (bindingKey?: string) => PropertyDecorator;
7
+ export declare const BindingValue: (bindingKey?: string) => PropertyDecorator & MethodDecorator;
@@ -3,3 +3,4 @@ export * from './property';
3
3
  export * from './pipes';
4
4
  export * from './query';
5
5
  export * from './get-mutator';
6
+ export * from './binding';
@@ -26,7 +26,18 @@ export declare class RestfulFactory<T extends {
26
26
  private options;
27
27
  private __resolveVisited;
28
28
  constructor(entityClass: ClassType<T>, options?: RestfulFactoryOptions<T, O, W, C, U, F, R>, __resolveVisited?: Map<AnyClass, [AnyClass]>);
29
- private getEntityClassName;
29
+ omitInput<K extends keyof T>(...fields: K[]): RestfulFactory<T, O | K, W, C, U, F, R>;
30
+ omitWrite<K extends keyof T>(...fields: K[]): RestfulFactory<T, O, W | K, C, U, F, R>;
31
+ omitCreate<K extends keyof T>(...fields: K[]): RestfulFactory<T, O, W, C | K, U, F, R>;
32
+ omitUpdate<K extends keyof T>(...fields: K[]): RestfulFactory<T, O, W, C, U | K, F, R>;
33
+ omitFindAll<K extends keyof T>(...fields: K[]): RestfulFactory<T, O, W, C, U, F | K, R>;
34
+ omitOutput<K extends keyof T>(...fields: K[]): RestfulFactory<T, O, W, C, U, F, R | K>;
35
+ pathPrefix(prefix: string): RestfulFactory<T, O, W, C, U, F, R>;
36
+ keepEntityVersioningDates(enable?: boolean): RestfulFactory<T, O, W, C, U, F, R>;
37
+ skipNonQueryableFields(enable?: boolean): RestfulFactory<T, O, W, C, U, F, R>;
38
+ renameEntityClass(name: string): RestfulFactory<T, O, W, C, U, F, R>;
39
+ useRelations(...relations: (string | RelationDef)[]): RestfulFactory<T, O, W, C, U, F, R>;
40
+ get entityClassName(): string;
30
41
  get fieldsToOmit(): (keyof T)[];
31
42
  get fieldsInCreateToOmit(): (keyof T)[];
32
43
  get createDto(): ClassType<Omit<T, O | W | C>>;
@@ -108,6 +119,23 @@ export declare class RestfulFactory<T extends {
108
119
  crudOptions: CrudOptions<T>;
109
120
  _cleanEntityNotInResultFields(ent: T): T;
110
121
  cleanEntityNotInResultFields<E extends T | T[]>(ents: E): E;
122
+ readonly _tmpBindingMap: Map<string, any>;
123
+ readonly _bindingCache: Map<string, import("./decorators").BindingValueMetadata & {
124
+ field: string;
125
+ }>;
126
+ _lookForBindingValueField(bindingKey: string): import("./decorators").BindingValueMetadata & {
127
+ field: string;
128
+ };
129
+ _resolveBindingValue<K extends keyof T>(entityField: K): T[K] | Promise<T[K]>;
130
+ getBindingPartialEntity(): Promise<Partial<T>>;
131
+ useBinding(value: any, bindngKey?: string): /*elided*/ any;
132
+ _freezeBindings(): {
133
+ [x: string]: any;
134
+ };
135
+ _restoreBindings(frozen: {
136
+ [x: string]: any;
137
+ }): /*elided*/ any;
138
+ beforeSuper<R_1>(fn: () => Promise<R_1>): Promise<R_1>;
111
139
  _batchCreate(ents: T[], beforeCreate?: (repo: Repository<T>) => Promise<void>, skipErrors?: boolean): Promise<{
112
140
  results: T[];
113
141
  skipped: {
@@ -121,6 +149,7 @@ export declare class RestfulFactory<T extends {
121
149
  _applyQueryRelations(qb: import("typeorm").SelectQueryBuilder<T>): void;
122
150
  _applyQueryFilters(qb: import("typeorm").SelectQueryBuilder<T>, ent: T): void;
123
151
  queryBuilder(): import("typeorm").SelectQueryBuilder<T>;
152
+ _applyQueryFromBinding(bindingEnt: Partial<T>, qb: import("typeorm").SelectQueryBuilder<T>): void;
124
153
  findOne(id: import("./crud-base").EntityId<T>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
125
154
  _preFindAll(ent?: Partial<T>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<{
126
155
  query: import("typeorm").SelectQueryBuilder<T>;
@@ -3,6 +3,7 @@ import { QueryCond } from '../bases';
3
3
  import { AnyClass } from 'nesties';
4
4
  import { QueryFullTextColumnOptions } from './query-full-text-column-options.interface';
5
5
  import { GetMutatorOptions } from '../decorators/get-mutator';
6
+ import { BindingValueMetadata } from '../decorators/binding';
6
7
  interface SpecificFields {
7
8
  notColumn: {
8
9
  keepInCreate?: boolean;
@@ -23,6 +24,8 @@ interface SpecificFields {
23
24
  queryCondition: QueryCond;
24
25
  requireGetMutator: boolean;
25
26
  getMutator: GetMutatorOptions;
27
+ bindingColumn: string;
28
+ bindingValue: BindingValueMetadata;
26
29
  }
27
30
  type MetadataMap = SpecificFields;
28
31
  type FieldsMap = {
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.3",
4
+ "version": "1.2.5",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",