Skip to content

Commit 5192032

Browse files
committed
refactor(types): replace Persisted<T> with explicit Saved*Props per entity
1 parent 3b94805 commit 5192032

31 files changed

+216
-187
lines changed

src/services/BundleService.ts

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@ import Service from '@/services/Service';
2121

2222
// types
2323
import { ItemPagination } from '@/types/api/response';
24-
import { Persisted } from '@/types/entities';
25-
import { BundleEntity, BundleProps } from '@/types/entities/Bundle';
26-
import { LicenseEntity, LicenseProps } from '@/types/entities/License';
24+
import { BundleEntity, BundleProps, SavedBundleProps } from '@/types/entities/Bundle';
25+
import { LicenseEntity, LicenseProps, SavedLicenseProps } from '@/types/entities/License';
2726
import { IBundleService } from '@/types/services/BundleService';
2827
import { RequestConfig } from '@/types/services/Service';
2928
import { ContextInstance } from '@/types/vo/Context';
@@ -61,13 +60,13 @@ const bundleService: IBundleService = {
6160
context: ContextInstance,
6261
number: string,
6362
config?: RequestConfig,
64-
): Promise<BundleEntity<Persisted<T>>> {
63+
): Promise<BundleEntity<SavedBundleProps<T>>> {
6564
ensureNotEmpty(number, 'number');
6665

6766
const response = await Service.get(context, `${endpoint}/${number}`, {}, config);
6867
const item = response.data.items?.item.find((v) => v.type === type);
6968

70-
return itemToBundle<Persisted<T>>(item);
69+
return itemToBundle<SavedBundleProps<T>>(item);
7170
},
7271

7372
/**
@@ -90,7 +89,7 @@ const bundleService: IBundleService = {
9089
context: ContextInstance,
9190
filter?: Record<string, string | boolean | number> | string | null,
9291
config?: RequestConfig,
93-
): Promise<PageInstance<BundleEntity<Persisted<T>>[]>> {
92+
): Promise<PageInstance<BundleEntity<SavedBundleProps<T>>[]>> {
9493
const data: { [Constants.FILTER]: string } = {};
9594

9695
if (filter) {
@@ -100,9 +99,9 @@ const bundleService: IBundleService = {
10099
const response = await Service.get(context, endpoint, data, config);
101100
const items = response.data.items;
102101

103-
const bundles: BundleEntity<Persisted<T>>[] | undefined = items?.item
102+
const bundles: BundleEntity<SavedBundleProps<T>>[] | undefined = items?.item
104103
.filter((v) => v.type === type)
105-
.map((v) => itemToBundle<Persisted<T>>(v));
104+
.map((v) => itemToBundle<SavedBundleProps<T>>(v));
106105

107106
return Page(bundles || [], items as ItemPagination);
108107
},
@@ -128,13 +127,13 @@ const bundleService: IBundleService = {
128127
context: ContextInstance,
129128
bundle: BundleEntity<T>,
130129
config?: RequestConfig,
131-
): Promise<BundleEntity<Persisted<T>>> {
130+
): Promise<BundleEntity<SavedBundleProps<T>>> {
132131
ensureNotNull(bundle, 'bundle');
133132

134133
const response = await Service.post(context, endpoint, bundle.serialize(), config);
135134
const item = response.data.items?.item.find((v) => v.type === type);
136135

137-
return itemToBundle<Persisted<T>>(item);
136+
return itemToBundle<SavedBundleProps<T>>(item);
138137
},
139138

140139
/**
@@ -161,14 +160,14 @@ const bundleService: IBundleService = {
161160
number: string,
162161
bundle: BundleEntity<T>,
163162
config?: RequestConfig,
164-
): Promise<BundleEntity<Persisted<T>>> {
163+
): Promise<BundleEntity<SavedBundleProps<T>>> {
165164
ensureNotEmpty(number, 'number');
166165
ensureNotNull(bundle, 'bundle');
167166

168167
const response = await Service.post(context, `${endpoint}/${number}`, bundle.serialize(), config);
169168
const item = response.data.items?.item.find((v) => v.type === type);
170169

171-
return itemToBundle<Persisted<T>>(item);
170+
return itemToBundle<SavedBundleProps<T>>(item);
172171
},
173172

174173
/**
@@ -225,7 +224,7 @@ const bundleService: IBundleService = {
225224
number: string,
226225
licenseeNumber: string,
227226
config?: RequestConfig,
228-
): Promise<LicenseEntity<Persisted<T>>[]> {
227+
): Promise<LicenseEntity<SavedLicenseProps<T>>[]> {
229228
ensureNotEmpty(number, 'number');
230229
ensureNotEmpty(licenseeNumber, 'licenseeNumber');
231230

@@ -236,7 +235,7 @@ const bundleService: IBundleService = {
236235

237236
const licenses = items?.item.filter((v) => v.type === Constants.License.TYPE);
238237

239-
return licenses?.map((v) => itemToLicense<Persisted<T>>(v)) || [];
238+
return licenses?.map((v) => itemToLicense<SavedLicenseProps<T>>(v)) || [];
240239
},
241240
};
242241

src/services/LicenseService.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ import Service from '@/services/Service';
2020

2121
// types
2222
import { ItemPagination, NlicResponse } from '@/types/api/response';
23-
import { Persisted } from '@/types/entities';
24-
import { LicenseProps, LicenseEntity } from '@/types/entities/License';
23+
import { LicenseProps, LicenseEntity, SavedLicenseProps } from '@/types/entities/License';
2524
import { ILicenseService } from '@/types/services/LicenseService';
2625
import { RequestConfig } from '@/types/services/Service';
2726
import { ContextInstance } from '@/types/vo/Context';
@@ -58,13 +57,13 @@ const licenseService: ILicenseService = {
5857
context: ContextInstance,
5958
number: string,
6059
config?: RequestConfig,
61-
): Promise<LicenseEntity<Persisted<T>>> {
60+
): Promise<LicenseEntity<SavedLicenseProps<T>>> {
6261
ensureNotEmpty(number, 'number');
6362

6463
const response = await Service.get(context, `${endpoint}/${number}`, {}, config);
6564
const item = response.data.items?.item.find((v) => v.type === type);
6665

67-
return itemToLicense<Persisted<T>>(item);
66+
return itemToLicense<SavedLicenseProps<T>>(item);
6867
},
6968

7069
/**
@@ -87,7 +86,7 @@ const licenseService: ILicenseService = {
8786
context: ContextInstance,
8887
filter?: Record<string, string | boolean | number> | string | null,
8988
config?: RequestConfig,
90-
): Promise<PageInstance<LicenseEntity<Persisted<T>>[]>> {
89+
): Promise<PageInstance<LicenseEntity<SavedLicenseProps<T>>[]>> {
9190
const data: { [Constants.FILTER]: string } = {};
9291

9392
if (filter) {
@@ -97,9 +96,9 @@ const licenseService: ILicenseService = {
9796
const response = await Service.get(context, endpoint, data, config);
9897
const items = response.data.items;
9998

100-
const list: LicenseEntity<Persisted<T>>[] | undefined = items?.item
99+
const list: LicenseEntity<SavedLicenseProps<T>>[] | undefined = items?.item
101100
.filter((v) => v.type === type)
102-
.map((v) => itemToLicense<Persisted<T>>(v));
101+
.map((v) => itemToLicense<SavedLicenseProps<T>>(v));
103102

104103
return Page(list || [], items as ItemPagination);
105104
},
@@ -140,7 +139,7 @@ const licenseService: ILicenseService = {
140139
transactionNumber: string | null,
141140
license: LicenseEntity<T>,
142141
config?: RequestConfig,
143-
): Promise<LicenseEntity<Persisted<T>>> {
142+
): Promise<LicenseEntity<SavedLicenseProps<T>>> {
144143
ensureNotNull(license, 'license');
145144

146145
const data = license.serialize();
@@ -160,7 +159,7 @@ const licenseService: ILicenseService = {
160159
const response = await Service.post(context, endpoint, data, config);
161160
const item = response.data.items?.item.find((v) => v.type === type);
162161

163-
return itemToLicense<Persisted<T>>(item);
162+
return itemToLicense<SavedLicenseProps<T>>(item);
164163
},
165164

166165
/**
@@ -192,7 +191,7 @@ const licenseService: ILicenseService = {
192191
transactionNumber: string | null,
193192
license: LicenseEntity<T>,
194193
config?: RequestConfig,
195-
): Promise<LicenseEntity<Persisted<T>>> {
194+
): Promise<LicenseEntity<SavedLicenseProps<T>>> {
196195
ensureNotEmpty(number, 'number');
197196
ensureNotNull(license, 'license');
198197

@@ -205,7 +204,7 @@ const licenseService: ILicenseService = {
205204
const response = await Service.post(context, `${endpoint}/${number}`, data, config);
206205
const item = response.data.items?.item.find((v) => v.type === type);
207206

208-
return itemToLicense<Persisted<T>>(item);
207+
return itemToLicense<SavedLicenseProps<T>>(item);
209208
},
210209

211210
/**

src/services/LicenseTemplateService.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@ import Service from '@/services/Service';
2020

2121
// types
2222
import { ItemPagination, NlicResponse } from '@/types/api/response';
23-
import { Persisted } from '@/types/entities';
24-
import { LicenseTemplateProps, LicenseTemplateEntity } from '@/types/entities/LicenseTemplate';
23+
import {
24+
LicenseTemplateProps,
25+
LicenseTemplateEntity,
26+
SavedLicenseTemplateProps,
27+
} from '@/types/entities/LicenseTemplate';
2528
import { ILicenseTemplateService } from '@/types/services/LicenseTemplateService';
2629
import { RequestConfig } from '@/types/services/Service';
2730
import { ContextInstance } from '@/types/vo/Context';
@@ -58,13 +61,13 @@ const licenseTemplateService: ILicenseTemplateService = {
5861
context: ContextInstance,
5962
number: string,
6063
config?: RequestConfig,
61-
): Promise<LicenseTemplateEntity<Persisted<T>>> {
64+
): Promise<LicenseTemplateEntity<SavedLicenseTemplateProps<T>>> {
6265
ensureNotEmpty(number, 'number');
6366

6467
const response = await Service.get(context, `${endpoint}/${number}`, {}, config);
6568
const item = response.data.items?.item.find((v) => v.type === type);
6669

67-
return itemToLicenseTemplate<Persisted<T>>(item);
70+
return itemToLicenseTemplate<SavedLicenseTemplateProps<T>>(item);
6871
},
6972

7073
/**
@@ -87,7 +90,7 @@ const licenseTemplateService: ILicenseTemplateService = {
8790
context: ContextInstance,
8891
filter?: Record<string, string | boolean | number> | string | null,
8992
config?: RequestConfig,
90-
): Promise<PageInstance<LicenseTemplateEntity<Persisted<T>>[]>> {
93+
): Promise<PageInstance<LicenseTemplateEntity<SavedLicenseTemplateProps<T>>[]>> {
9194
const data: { [Constants.FILTER]: string } = {};
9295

9396
if (filter) {
@@ -97,9 +100,9 @@ const licenseTemplateService: ILicenseTemplateService = {
97100
const response = await Service.get(context, endpoint, data, config);
98101
const items = response.data.items;
99102

100-
const list: LicenseTemplateEntity<Persisted<T>>[] | undefined = items?.item
103+
const list: LicenseTemplateEntity<SavedLicenseTemplateProps<T>>[] | undefined = items?.item
101104
.filter((v) => v.type === type)
102-
.map((v) => itemToLicenseTemplate<Persisted<T>>(v));
105+
.map((v) => itemToLicenseTemplate<SavedLicenseTemplateProps<T>>(v));
103106

104107
return Page(list || [], items as ItemPagination);
105108
},
@@ -129,7 +132,7 @@ const licenseTemplateService: ILicenseTemplateService = {
129132
productModuleNumber: string | null,
130133
licenseTemplate: LicenseTemplateEntity<T>,
131134
config?: RequestConfig,
132-
): Promise<LicenseTemplateEntity<Persisted<T>>> {
135+
): Promise<LicenseTemplateEntity<SavedLicenseTemplateProps<T>>> {
133136
ensureNotNull(licenseTemplate, 'licenseTemplate');
134137

135138
const data = licenseTemplate.serialize();
@@ -141,7 +144,7 @@ const licenseTemplateService: ILicenseTemplateService = {
141144
const response = await Service.post(context, endpoint, data, config);
142145
const item = response.data.items?.item.find((v) => v.type === type);
143146

144-
return itemToLicenseTemplate<Persisted<T>>(item);
147+
return itemToLicenseTemplate<SavedLicenseTemplateProps<T>>(item);
145148
},
146149

147150
/**
@@ -168,14 +171,14 @@ const licenseTemplateService: ILicenseTemplateService = {
168171
number: string,
169172
licenseTemplate: LicenseTemplateEntity<T>,
170173
config?: RequestConfig,
171-
): Promise<LicenseTemplateEntity<Persisted<T>>> {
174+
): Promise<LicenseTemplateEntity<SavedLicenseTemplateProps<T>>> {
172175
ensureNotEmpty(number, 'number');
173176
ensureNotNull(licenseTemplate, 'licenseTemplate');
174177

175178
const response = await Service.post(context, `${endpoint}/${number}`, licenseTemplate.serialize(), config);
176179
const item = response.data.items?.item.find((v) => v.type === type);
177180

178-
return itemToLicenseTemplate<Persisted<T>>(item);
181+
return itemToLicenseTemplate<SavedLicenseTemplateProps<T>>(item);
179182
},
180183

181184
/**

src/services/LicenseeService.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ import Service from '@/services/Service';
2121

2222
// types
2323
import { ItemPagination, NlicResponse } from '@/types/api/response';
24-
import { Persisted } from '@/types/entities';
25-
import { LicenseeProps, LicenseeEntity } from '@/types/entities/Licensee';
24+
import { LicenseeProps, LicenseeEntity, SavedLicenseeProps } from '@/types/entities/Licensee';
2625
import { ILicenseeService } from '@/types/services/LicenseeService';
2726
import { RequestConfig } from '@/types/services/Service';
2827
import { ContextInstance } from '@/types/vo/Context';
@@ -64,13 +63,13 @@ const licenseeService: ILicenseeService = {
6463
context: ContextInstance,
6564
number: string,
6665
config?: RequestConfig,
67-
): Promise<LicenseeEntity<Persisted<T>>> {
66+
): Promise<LicenseeEntity<SavedLicenseeProps<T>>> {
6867
ensureNotEmpty(number, 'number');
6968

7069
const response = await Service.get(context, `${endpoint}/${number}`, {}, config);
7170
const item = response.data.items?.item.find((v) => v.type === type);
7271

73-
return itemToLicensee<Persisted<T>>(item);
72+
return itemToLicensee<SavedLicenseeProps<T>>(item);
7473
},
7574

7675
/**
@@ -93,7 +92,7 @@ const licenseeService: ILicenseeService = {
9392
context: ContextInstance,
9493
filter?: Record<string, string | boolean | number> | string | null,
9594
config?: RequestConfig,
96-
): Promise<PageInstance<LicenseeEntity<Persisted<T>>[]>> {
95+
): Promise<PageInstance<LicenseeEntity<SavedLicenseeProps<T>>[]>> {
9796
const data: { [Constants.FILTER]: string } = {};
9897

9998
if (filter) {
@@ -103,9 +102,9 @@ const licenseeService: ILicenseeService = {
103102
const response = await Service.get(context, endpoint, data, config);
104103
const items = response.data.items;
105104

106-
const list: LicenseeEntity<Persisted<T>>[] | undefined = items?.item
105+
const list: LicenseeEntity<SavedLicenseeProps<T>>[] | undefined = items?.item
107106
.filter((v) => v.type === type)
108-
.map((v) => itemToLicensee<Persisted<T>>(v));
107+
.map((v) => itemToLicensee<SavedLicenseeProps<T>>(v));
109108

110109
return Page(list || [], items as ItemPagination);
111110
},
@@ -135,7 +134,7 @@ const licenseeService: ILicenseeService = {
135134
productNumber: string,
136135
licensee: LicenseeEntity<T>,
137136
config?: RequestConfig,
138-
): Promise<LicenseeEntity<Persisted<T>>> {
137+
): Promise<LicenseeEntity<SavedLicenseeProps<T>>> {
139138
ensureNotNull(licensee, 'licensee');
140139

141140
const data = licensee.serialize();
@@ -147,7 +146,7 @@ const licenseeService: ILicenseeService = {
147146
const response = await Service.post(context, endpoint, data, config);
148147
const item = response.data.items?.item.find((v) => v.type === type);
149148

150-
return itemToLicensee<Persisted<T>>(item);
149+
return itemToLicensee<SavedLicenseeProps<T>>(item);
151150
},
152151

153152
/**
@@ -174,14 +173,14 @@ const licenseeService: ILicenseeService = {
174173
number: string,
175174
licensee: LicenseeEntity<T>,
176175
config?: RequestConfig,
177-
): Promise<LicenseeEntity<Persisted<T>>> {
176+
): Promise<LicenseeEntity<SavedLicenseeProps<T>>> {
178177
ensureNotEmpty(number, 'number');
179178
ensureNotNull(licensee, 'licensee');
180179

181180
const response = await Service.post(context, `${endpoint}/${number}`, licensee.serialize(), config);
182181
const item = response.data.items?.item.find((v) => v.type === type);
183182

184-
return itemToLicensee<Persisted<T>>(item);
183+
return itemToLicensee<SavedLicenseeProps<T>>(item);
185184
},
186185

187186
/**

0 commit comments

Comments
 (0)