law-common 9.0.2 → 9.0.3-beta.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.
@@ -36,19 +36,14 @@ export declare enum EntityEnum {
36
36
  BANK = "bank",
37
37
  CLIENT_AFFILIATE = "client_affiliate"
38
38
  }
39
- export type ISearchIncludeEntity = {
40
- name: EntityEnum;
41
- mappingProperties?: string[];
42
- searchProperty?: string;
43
- relations?: ISearchIncludeEntity[];
44
- entities?: ISearchIncludeEntity[];
39
+ export type ISearchIncludeEntity<T extends EntityEnum> = {
40
+ name: T;
41
+ relations?: ISearchIncludeEntity<T>[];
42
+ entities?: ISearchIncludeEntity<T>[];
43
+ columnkeys?: EntityKeyType<T>[];
45
44
  };
46
45
  export type IEntityServiceResponse = {
47
- [EntityEnum.BILLING]?: IBaseEntityServiceResponse<IBillingEntity>;
48
- [EntityEnum.BILLING_TIMESHEET]?: IBaseEntityServiceResponse<IBillingTimesheetEntity>;
49
- [EntityEnum.TIMESHEET]?: IBaseEntityServiceResponse<ITimesheetEntity>;
50
- [EntityEnum.USER]?: IBaseEntityServiceResponse<IUserEntity>;
51
- [EntityEnum.PROJECT]?: IBaseEntityServiceResponse<IProjectEntity>;
46
+ [K in EntityEnum]?: IBaseEntityServiceResponse<EntityKeyType<K>>;
52
47
  };
53
48
  export type IBaseEntityServiceResponse<T> = {
54
49
  baseEntities: T[];
@@ -60,7 +55,7 @@ export type IBaseEntityApiResponse<T extends {
60
55
  }> = {
61
56
  baseEntities: IApiEntity<T>[];
62
57
  relatedEntities?: {
63
- [K in EntityEnum]?: K extends EntityEnum.BILLING ? IBaseEntityApiResponse<IBillingEntity> : K extends EntityEnum.BILLING_TIMESHEET ? IBaseEntityApiResponse<IBillingTimesheetEntity> : K extends EntityEnum.TIMESHEET ? IBaseEntityApiResponse<ITimesheetEntity> : K extends EntityEnum.USER ? IBaseEntityApiResponse<IUserEntity> : K extends EntityEnum.PROJECT ? IBaseEntityApiResponse<IProjectEntity> : K extends EntityEnum.CLIENT ? IBaseEntityApiResponse<IClientEntity> : never;
58
+ [K in EntityEnum]?: EntityKeyType<K>[];
64
59
  };
65
60
  };
66
61
  export type EntityRelationConfig<T> = {
@@ -70,7 +65,7 @@ export type EntityRelationConfig<T> = {
70
65
  projectProperties?: EntityKeyType<K>[];
71
66
  };
72
67
  };
73
- export type EntityKeyType<K extends EntityEnum> = K extends EntityEnum.USER ? keyof IUserEntity : K extends EntityEnum.PROJECT ? keyof IProjectEntity : K extends EntityEnum.BILLING_TIMESHEET ? keyof IBillingTimesheetEntity : never;
68
+ export type EntityKeyType<K extends EntityEnum> = K extends EntityEnum.USER ? keyof IUserEntity : K extends EntityEnum.PROJECT ? keyof IProjectEntity : K extends EntityEnum.BILLING_TIMESHEET ? keyof IBillingTimesheetEntity : K extends EntityEnum.BILLING ? keyof IBillingEntity : K extends EntityEnum.TIMESHEET ? keyof ITimesheetEntity : K extends EntityEnum.CLIENT ? keyof IClientEntity : never;
74
69
  export type IEntityApiResponse<T extends {
75
70
  createdOn: Date;
76
71
  updatedOn: Date;
@@ -90,8 +85,8 @@ export type IEntityFilterData<T> = ConvertToArray<IEntityUpdateDto<T>> & {
90
85
  [key in keyof T]?: T[key];
91
86
  };
92
87
  [key: string]: any;
93
- relations?: ISearchIncludeEntity[];
94
- entities?: ISearchIncludeEntity[];
88
+ relations?: ISearchIncludeEntity<EntityEnum>[];
89
+ entities?: ISearchIncludeEntity<EntityEnum>[];
95
90
  };
96
91
  export type IEntityHistoryParsed = {
97
92
  parsedData: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "9.0.2",
3
+ "version": "9.0.3-beta.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [