@forwardslashns/taskit-validation-messages 1.0.64 → 1.1.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.
- package/.env.example +1 -0
- package/PUBLISHING.md +78 -0
- package/README.md +59 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/validation/validation-message.formatter.d.ts +5 -1
- package/dist/validation/validation-message.formatter.d.ts.map +1 -1
- package/dist/validation/validation-message.formatter.js +4 -1
- package/dist/validation/validation-messages.d.ts +182 -0
- package/dist/validation/validation-messages.d.ts.map +1 -1
- package/dist/validation/validation-messages.js +182 -0
- package/package.json +8 -8
- package/publish.ps1 +37 -0
- package/src/index.ts +2 -2
- package/src/validation/validation-message.formatter.ts +11 -2
- package/src/validation/validation-messages.ts +182 -0
|
@@ -2,610 +2,775 @@ export const VALIDATION_MESSAGES = {
|
|
|
2
2
|
ACCOUNT_CATEGORY: {
|
|
3
3
|
INVALID_REQUEST: {
|
|
4
4
|
message: 'Missing account category id in request',
|
|
5
|
+
affectedFields: [],
|
|
5
6
|
},
|
|
6
7
|
ID_DOES_NOT_EXIST: {
|
|
7
8
|
message: `Account category with id '{id}' does not exist`,
|
|
8
9
|
params: ['id'],
|
|
10
|
+
affectedFields: ['accountCategoryId'],
|
|
9
11
|
},
|
|
10
12
|
NAME_ALREADY_EXISTS: {
|
|
11
13
|
message: `Account category with the same name '{name}' already exists`,
|
|
12
14
|
params: ['name'],
|
|
15
|
+
affectedFields: ['name'],
|
|
13
16
|
},
|
|
14
17
|
OPTION_IN_USE: {
|
|
15
18
|
message: `This option is currently in use and cannot be deleted.`,
|
|
19
|
+
affectedFields: [],
|
|
16
20
|
},
|
|
17
21
|
},
|
|
18
22
|
ACCOUNT_ID: {
|
|
19
23
|
INVALID_REQUEST: {
|
|
20
24
|
message: 'Missing account id identifier in request',
|
|
25
|
+
affectedFields: [],
|
|
21
26
|
},
|
|
22
27
|
ID_DOES_NOT_EXIST: {
|
|
23
28
|
message: `Account id with id '{id}' does not exist`,
|
|
24
29
|
params: ['id'],
|
|
30
|
+
affectedFields: ['accountId'],
|
|
25
31
|
},
|
|
26
32
|
NAME_ALREADY_EXISTS: {
|
|
27
33
|
message: `Account id with the same name '{name}' already exists`,
|
|
28
34
|
params: ['name'],
|
|
35
|
+
affectedFields: ['name'],
|
|
29
36
|
},
|
|
30
37
|
ACCOUNT_CATEGORY_ID_DOES_NOT_EXIST: {
|
|
31
38
|
message: `Account category with id '{id}' does not exist`,
|
|
32
39
|
params: ['id'],
|
|
40
|
+
affectedFields: ['accountCategoryId'],
|
|
33
41
|
},
|
|
34
42
|
OPTION_IN_USE: {
|
|
35
43
|
message: `This option is currently in use and cannot be deleted.`,
|
|
44
|
+
affectedFields: [],
|
|
36
45
|
},
|
|
37
46
|
},
|
|
38
47
|
ADDRESS: {
|
|
39
48
|
STATES_NOT_FOUND: {
|
|
40
49
|
message: 'States with ids {ids} do not exist',
|
|
41
50
|
params: ['ids'],
|
|
51
|
+
affectedFields: ['stateId'],
|
|
42
52
|
},
|
|
43
53
|
INVALID_STATE_TYPE: {
|
|
44
54
|
message: `States with ids {ids} are not of type 'State'`,
|
|
45
55
|
params: ['ids'],
|
|
56
|
+
affectedFields: ['stateId'],
|
|
46
57
|
},
|
|
47
58
|
CITIES_NOT_FOUND: {
|
|
48
59
|
message: `Cities with ids {ids} do not exist`,
|
|
49
60
|
params: ['ids'],
|
|
61
|
+
affectedFields: ['cityId'],
|
|
50
62
|
},
|
|
51
63
|
INVALID_CITY_TYPE: {
|
|
52
64
|
message: `Cities with ids {ids} are not of type 'City'`,
|
|
53
65
|
params: ['ids'],
|
|
66
|
+
affectedFields: ['cityId'],
|
|
54
67
|
},
|
|
55
68
|
ZIP_CODES_NOT_FOUND: {
|
|
56
69
|
message: `Zip codes with ids {ids} do not exist`,
|
|
57
70
|
params: ['ids'],
|
|
71
|
+
affectedFields: ['zipCode'],
|
|
58
72
|
},
|
|
59
73
|
CONTACT_ROLES_NOT_FOUND: {
|
|
60
74
|
message: `Contact roles with ids {ids} do not exist`,
|
|
61
75
|
params: ['ids'],
|
|
76
|
+
affectedFields: ['contactRoleId'],
|
|
62
77
|
},
|
|
63
78
|
CONTACT_TYPES_NOT_FOUND: {
|
|
64
79
|
message: `Contact types with ids {ids} do not exist`,
|
|
65
80
|
params: ['ids'],
|
|
81
|
+
affectedFields: ['contactTypeId'],
|
|
66
82
|
},
|
|
67
83
|
LEGAL_ADDRESS_MUST_BE_PROVIDED: {
|
|
68
84
|
message: `The client must have a legal address. Please set the address type to 'Legal'.`,
|
|
85
|
+
affectedFields: ['addresses'],
|
|
69
86
|
},
|
|
70
87
|
MULTIPLE_LEGAL_ADDRESSES_PROVIDED: {
|
|
71
88
|
message: `The client must have only one legal address. Please ensure only one address is set to 'Legal'.`,
|
|
89
|
+
affectedFields: ['addresses'],
|
|
72
90
|
},
|
|
73
91
|
BILLING_ADDRESS_MUST_BE_PROVIDED: {
|
|
74
92
|
message: `The client must have a billing address. Please set the address type to 'Billing'.`,
|
|
93
|
+
affectedFields: ['addresses'],
|
|
75
94
|
},
|
|
76
95
|
MULTIPLE_BILLING_ADDRESSES_PROVIDED: {
|
|
77
96
|
message: `The client must have only one billing address. Please ensure only one address is set to 'Billing'.`,
|
|
97
|
+
affectedFields: ['addresses'],
|
|
78
98
|
},
|
|
79
99
|
PRIMARY_ADDRESS_MUST_BE_PROVIDED: {
|
|
80
100
|
message: `The client must have a primary address. Please set the address type to 'Primary'.`,
|
|
101
|
+
affectedFields: ['addresses'],
|
|
81
102
|
},
|
|
82
103
|
MULTIPLE_PRIMARY_ADDRESSES_PROVIDED: {
|
|
83
104
|
message: `The client must have only one primary address. Please ensure only one address is set to 'Primary'.`,
|
|
105
|
+
affectedFields: ['addresses'],
|
|
84
106
|
},
|
|
85
107
|
},
|
|
86
108
|
BUSINESS_ACTIVITY: {
|
|
87
109
|
INVALID_REQUEST: {
|
|
88
110
|
message: 'Missing business activity id in request.',
|
|
111
|
+
affectedFields: [],
|
|
89
112
|
},
|
|
90
113
|
ID_DOES_NOT_EXIST: {
|
|
91
114
|
message: `Business activity with id '{id}' does not exist.`,
|
|
92
115
|
params: ['id'],
|
|
116
|
+
affectedFields: ['businessActivityId'],
|
|
93
117
|
},
|
|
94
118
|
NAME_ALREADY_EXISTS: {
|
|
95
119
|
message: `Business activity with the same name '{name}' already exists.`,
|
|
96
120
|
params: ['name'],
|
|
121
|
+
affectedFields: ['name'],
|
|
97
122
|
},
|
|
98
123
|
OPTION_IN_USE: {
|
|
99
124
|
message: `This option is currently in use and cannot be deleted.`,
|
|
125
|
+
affectedFields: [],
|
|
100
126
|
},
|
|
101
127
|
},
|
|
102
128
|
BANK: {
|
|
103
129
|
INVALID_ROUTING_NUMBER: {
|
|
104
130
|
message: 'Enter a valid routing number.',
|
|
131
|
+
affectedFields: ['routingNumber'],
|
|
105
132
|
},
|
|
106
133
|
},
|
|
107
134
|
CREDIT_CARD: {
|
|
108
135
|
INVALID_EXPIRATION_DATE: {
|
|
109
136
|
message: 'Enter a valid expiration date (i.e. 12/2024).',
|
|
137
|
+
affectedFields: ['expirationDate'],
|
|
110
138
|
},
|
|
111
139
|
INVALID_SECURITY_CODE: {
|
|
112
140
|
message: 'Enter a valid security code (i.e. 1234).',
|
|
141
|
+
affectedFields: ['securityCode'],
|
|
113
142
|
},
|
|
114
143
|
},
|
|
115
144
|
BANK_AND_CREDIT_CARD: {
|
|
116
145
|
INVALID_ACCOUNT_NUMBER: {
|
|
117
146
|
message: 'Enter a valid account number.',
|
|
147
|
+
affectedFields: ['accountNumber'],
|
|
118
148
|
},
|
|
119
149
|
INVALID_DESCRIPTION: {
|
|
120
150
|
message:
|
|
121
151
|
'There is another payment method with the same description. Please ensure all payment methods have different descriptions.',
|
|
152
|
+
affectedFields: ['description'],
|
|
122
153
|
},
|
|
123
154
|
NO_DEFAULT_PAYMENT_METHOD: {
|
|
124
155
|
message: 'There must be at least one payment method marked as default. Please select a default payment method.',
|
|
156
|
+
affectedFields: ['paymentMethods'],
|
|
125
157
|
},
|
|
126
158
|
MULTIPLE_DEFAULT_PAYMENT_METHODS: {
|
|
127
159
|
message:
|
|
128
160
|
'There can only be one default payment method. Please ensure only one payment method is marked as default.',
|
|
161
|
+
affectedFields: ['paymentMethods'],
|
|
129
162
|
},
|
|
130
163
|
},
|
|
131
164
|
CONTACT: {
|
|
132
165
|
CONTACT_ROLES_NOT_FOUND: {
|
|
133
166
|
message: `Contact roles with ids {ids} do not exist`,
|
|
134
167
|
params: ['ids'],
|
|
168
|
+
affectedFields: ['contactRoleId'],
|
|
135
169
|
},
|
|
136
170
|
CONTACT_TYPES_NOT_FOUND: {
|
|
137
171
|
message: `Contact types with ids {ids} do not exist`,
|
|
138
172
|
params: ['ids'],
|
|
173
|
+
affectedFields: ['contactTypeId'],
|
|
139
174
|
},
|
|
140
175
|
LEGAL_CONTACT_MUST_BE_PROVIDED: {
|
|
141
176
|
message: `The client must have a legal contact. Please set the contact type to 'Legal'.`,
|
|
177
|
+
affectedFields: ['contacts'],
|
|
142
178
|
},
|
|
143
179
|
MULTIPLE_LEGAL_CONTACTS_PROVIDED: {
|
|
144
180
|
message: `The client must have only one legal contact. Please ensure only one contact is set to 'Legal'.`,
|
|
181
|
+
affectedFields: ['contacts'],
|
|
145
182
|
},
|
|
146
183
|
BILLING_CONTACT_MUST_BE_PROVIDED: {
|
|
147
184
|
message: `The client must have a billing contact. Please set the contact type to 'Billing'.`,
|
|
185
|
+
affectedFields: ['contacts'],
|
|
148
186
|
},
|
|
149
187
|
MULTIPLE_BILLING_CONTACTS_PROVIDED: {
|
|
150
188
|
message: `The client must have only one billing contact. Please ensure only one contact is set to 'Billing'.`,
|
|
189
|
+
affectedFields: ['contacts'],
|
|
151
190
|
},
|
|
152
191
|
PRIMARY_CONTACT_MUST_BE_PROVIDED: {
|
|
153
192
|
message: `The client must have a primary contact. Please set the contact type to 'Primary'.`,
|
|
193
|
+
affectedFields: ['contacts'],
|
|
154
194
|
},
|
|
155
195
|
MULTIPLE_PRIMARY_CONTACTS_PROVIDED: {
|
|
156
196
|
message: `The client must have only one primary contact. Please ensure only one contact is set to 'Primary'.`,
|
|
197
|
+
affectedFields: ['contacts'],
|
|
157
198
|
},
|
|
158
199
|
},
|
|
159
200
|
COMISSION_DETAIL: {
|
|
160
201
|
INVALID_REQUEST_IS_SUBJECT_TO_COMMISSION: {
|
|
161
202
|
message: 'If client is subject to commission, sales representative and commission rate must be provided.',
|
|
203
|
+
affectedFields: ['isSubjectToCommission', 'salesRepresentativeId', 'commissionRate'],
|
|
162
204
|
},
|
|
163
205
|
INVALID_REQUEST_IS_NOT_SUBJECT_TO_COMMISSION: {
|
|
164
206
|
message: 'If client is not subject to commission, sales representative and commission rate must not be provided.',
|
|
207
|
+
affectedFields: ['isSubjectToCommission', 'salesRepresentativeId', 'commissionRate'],
|
|
165
208
|
},
|
|
166
209
|
SALES_REPRESENTATIVE_DOES_NOT_EXIST: {
|
|
167
210
|
message: `Sales representative with id '{id}' does not exist`,
|
|
168
211
|
params: ['id'],
|
|
212
|
+
affectedFields: ['salesRepresentativeId'],
|
|
169
213
|
},
|
|
170
214
|
COMISSION_RATE_TOO_LOW: {
|
|
171
215
|
message: `Enter a commission value greater than 0.0`,
|
|
216
|
+
affectedFields: ['commissionRate'],
|
|
172
217
|
},
|
|
173
218
|
COMISSION_RATE_TOO_HIGH: {
|
|
174
219
|
message: `Enter a value less than 100%.`,
|
|
220
|
+
affectedFields: ['commissionRate'],
|
|
175
221
|
},
|
|
176
222
|
},
|
|
177
223
|
CLIENT: {
|
|
178
224
|
INVALID_REQUEST: {
|
|
179
225
|
message: 'Missing client id in request',
|
|
226
|
+
affectedFields: [],
|
|
180
227
|
},
|
|
181
228
|
ID_DOES_NOT_EXIST: {
|
|
182
229
|
message: `Client with id '{id}' does not exist`,
|
|
183
230
|
params: ['id'],
|
|
231
|
+
affectedFields: ['clientId'],
|
|
184
232
|
},
|
|
185
233
|
ACCOUNT_ID_DOES_NOT_EXIST: {
|
|
186
234
|
message: `Account id with id '{id}' does not exist`,
|
|
187
235
|
params: ['id'],
|
|
236
|
+
affectedFields: ['accountId'],
|
|
188
237
|
},
|
|
189
238
|
FILING_CATEGORY_ID_DOES_NOT_EXIST: {
|
|
190
239
|
message: `Filing category with id '{id}' does not exist`,
|
|
191
240
|
params: ['id'],
|
|
241
|
+
affectedFields: ['filingCategoryId'],
|
|
192
242
|
},
|
|
193
243
|
FILING_TYPE_ID_DOES_NOT_EXIST: {
|
|
194
244
|
message: `Parent/Sub status with id '{id}' does not exist`,
|
|
195
245
|
params: ['id'],
|
|
246
|
+
affectedFields: ['filingTypeId'],
|
|
196
247
|
},
|
|
197
248
|
FILING_TYPE_PARENT_REQUIRED: {
|
|
198
249
|
message: `Parent needs to be specified for filing type 'Files under parent'`,
|
|
250
|
+
affectedFields: ['parentClientId'],
|
|
199
251
|
},
|
|
200
252
|
CURRENT_FILING_TYPE_PARENT_REQUIRED: {
|
|
201
253
|
message: `Parent needs to be specified for current filing type 'Files under parent'`,
|
|
254
|
+
affectedFields: ['parentClientId'],
|
|
202
255
|
},
|
|
203
256
|
STATE_ID_DOES_NOT_EXIST: {
|
|
204
257
|
message: `State with id '{id}' does not exist`,
|
|
205
258
|
params: ['id'],
|
|
259
|
+
affectedFields: ['stateId'],
|
|
206
260
|
},
|
|
207
261
|
BUSINESS_ACTIVITY_ID_DOES_NOT_EXIST: {
|
|
208
262
|
message: `Business activity with id '{id}' does not exist`,
|
|
209
263
|
params: ['id'],
|
|
264
|
+
affectedFields: ['businessActivityId'],
|
|
210
265
|
},
|
|
211
266
|
BILLING_TYPE_ID_DOES_NOT_EXIST: {
|
|
212
267
|
message: `Billing type with id '{id}' does not exist`,
|
|
213
268
|
params: ['id'],
|
|
269
|
+
affectedFields: ['billingTypeId'],
|
|
214
270
|
},
|
|
215
271
|
ENTITY_TYPE_ID_DOES_NOT_EXIST: {
|
|
216
272
|
message: `Entity type with id '{id}' does not exist`,
|
|
217
273
|
params: ['id'],
|
|
274
|
+
affectedFields: ['entityTypeId'],
|
|
218
275
|
},
|
|
219
276
|
CLIENT_WITH_SAME_FEDERAL_LEGAL_ID_EXISTS: {
|
|
220
277
|
message: `This ID is already in use. Please enter a different ID.`,
|
|
278
|
+
affectedFields: ['federalLegalId'],
|
|
221
279
|
},
|
|
222
280
|
INVALID_CLIENT_ACTIVITY_STATUS: {
|
|
223
281
|
message: `The 'Is active' field only applies to our clients. Please update the client type to 'Not our client' or update the 'Is active' status to 'Active'.`,
|
|
282
|
+
affectedFields: ['isActive', 'clientType'],
|
|
224
283
|
},
|
|
225
284
|
INVALID_FEDERAL_LEGAL_ID: {
|
|
226
285
|
message: `Enter a valid {legalIdType} (e.g. {legalIdValue})`,
|
|
227
286
|
params: ['legalIdType', 'legalIdValue'],
|
|
287
|
+
affectedFields: ['federalLegalId'],
|
|
228
288
|
},
|
|
229
289
|
NAME_ALREADY_EXISTS: {
|
|
230
290
|
message: `Client with the same name '{name}' already exists`,
|
|
231
291
|
params: ['name'],
|
|
292
|
+
affectedFields: ['name'],
|
|
232
293
|
},
|
|
233
294
|
NOT_ALIGNED_DATE_ESTABLISHED_ENTITY_TYPE_STARTING_DATE: {
|
|
234
295
|
message: `One or more entity types have a start date that is before the client's date established, {clientDateEstablished}. ({entityType} starting {entityTypeStartingDate}). Please update the entity type start dates to be on or after the client's date established, or update the client's date established.`,
|
|
235
296
|
params: ['clientDateEstablished', 'entityType', 'entityTypeStartingDate'],
|
|
297
|
+
affectedFields: ['dateEstablished', 'entityTypes'],
|
|
236
298
|
},
|
|
237
299
|
NOT_ALIGNED_DATE_ESTABLISHED_FILING_TYPE_STARTING_DATE: {
|
|
238
300
|
message: `The Parent/Sub status {filingType} starts on {filingTypeStartingDate} which is earlier than the client's date established, {clientDateEstablished}. Please adjust the start date of the Parent/Sub status or the client's date established.`,
|
|
239
301
|
params: ['clientDateEstablished', 'filingType', 'filingTypeStartingDate'],
|
|
302
|
+
affectedFields: ['dateEstablished', 'filingTypes'],
|
|
240
303
|
},
|
|
241
304
|
NOT_ALIGNED_DATE_ESTABLISHED_DOMESTIC_STATE_STARTING_DATE: {
|
|
242
305
|
message: `The state, {domesticState}, starts on {domesticStateStartingDate}, which is earlier than the client's date established, {clientDateEstablished}. Please adjust the start date of the state or the client's date established.`,
|
|
243
306
|
params: ['clientDateEstablished', 'domesticState', 'domesticStateStartingDate'],
|
|
307
|
+
affectedFields: ['dateEstablished', 'domesticStates'],
|
|
244
308
|
},
|
|
245
309
|
NOT_ALIGNED_DATE_ESTABLISHED_CLOSE_DATE: {
|
|
246
310
|
message: `Adjust the close date to be after the date established.`,
|
|
311
|
+
affectedFields: ['dateEstablished', 'closeDate'],
|
|
247
312
|
},
|
|
248
313
|
NOT_ALIGNED_CLOSE_DATE_ENTITY_TYPE_STARTING_DATE: {
|
|
249
314
|
message: `One or more entity types have start dates that are after the client's close date, {clientCloseDate}. {entityType} starting {entityTypeStartingDate}. Please update the entity type/s end date/s to be on or before the client's close date, or update the client's close date.`,
|
|
250
315
|
params: ['clientCloseDate', 'entityType', 'entityTypeStartingDate'],
|
|
316
|
+
affectedFields: ['closeDate', 'entityTypes'],
|
|
251
317
|
},
|
|
252
318
|
NOT_ALIGNED_CLOSE_DATE_FILING_TYPE_STARTING_DATE: {
|
|
253
319
|
message: `One or more Parent/Sub status have a start date which is after the client’s close date of {clientCloseDate}. {filingType}, starting {filingTypeStartingDate}. Please update the start date to be earlier than the client’s close date, or update the client's close date.`,
|
|
254
320
|
params: ['clientCloseDate', 'filingType', 'filingTypeStartingDate'],
|
|
321
|
+
affectedFields: ['closeDate', 'filingTypes'],
|
|
255
322
|
},
|
|
256
323
|
ENTITY_TYPE_STARTING_DATE_NOT_POPULATED: {
|
|
257
324
|
message: `Current Entity Type Starting Date cannot be Empty`,
|
|
325
|
+
affectedFields: ['entityTypeStartingDate'],
|
|
258
326
|
},
|
|
259
327
|
FILING_TYPE_STARTING_DATE_NOT_POPULATED: {
|
|
260
328
|
message: `Current Parent/Sub status Starting Date cannot be Empty`,
|
|
329
|
+
affectedFields: ['filingTypeStartingDate'],
|
|
261
330
|
},
|
|
262
331
|
DOMESTIC_STATE_STARTING_DATE_NOT_POPULATED: {
|
|
263
332
|
message: `Current Domestic State Starting Date cannot be Empty`,
|
|
333
|
+
affectedFields: ['domesticStateStartingDate'],
|
|
264
334
|
},
|
|
265
335
|
NOT_ALIGNED_ENTITY_TYPE_STARTING_ENDING_DATE: {
|
|
266
336
|
message: `Entity type starting date needs to be before the ending date`,
|
|
337
|
+
affectedFields: ['entityTypeStartingDate', 'entityTypeEndingDate'],
|
|
267
338
|
},
|
|
268
339
|
NOT_ALIGNED_FILING_TYPE_STARTING_ENDING_DATE: {
|
|
269
340
|
message: `Parent/Sub status starting date needs to be before the ending date`,
|
|
341
|
+
affectedFields: ['filingTypeStartingDate', 'filingTypeEndingDate'],
|
|
270
342
|
},
|
|
271
343
|
NOT_ALIGNED_CLOSE_DATE_DOMESTIC_STATE_STARTING_DATE: {
|
|
272
344
|
message: `One or more states have a start date which is after the client's close date of {clientCloseDate}. {domesticState} starting {domesticStateStartingDate}. Please update the state/s start date/s to be before the client's close date, or update the client's close date.`,
|
|
273
345
|
params: ['clientCloseDate', 'domesticState', 'domesticStateStartingDate'],
|
|
346
|
+
affectedFields: ['closeDate', 'domesticStates'],
|
|
274
347
|
},
|
|
275
348
|
CLIENT_COULD_NOT_BE_LOCKED_WITHOUT_ACCOUNT_ID: {
|
|
276
349
|
message: `Choose an Account ID`,
|
|
350
|
+
affectedFields: ['accountId'],
|
|
277
351
|
},
|
|
278
352
|
CLIENT_COULD_NOT_BE_LOCKED_WITHOUT_BUSINESS_ACTIVITY_ID: {
|
|
279
353
|
message: `Choose a Business Activity`,
|
|
354
|
+
affectedFields: ['businessActivityId'],
|
|
280
355
|
},
|
|
281
356
|
CLIENT_COULD_NOT_BE_LOCKED_WITHOUT_BILLING_TYPE_ID: {
|
|
282
357
|
message: `Choose a Billing Type`,
|
|
358
|
+
affectedFields: ['billingTypeId'],
|
|
283
359
|
},
|
|
284
360
|
CLIENT_COULD_NOT_BE_LOCKED_WITHOUT_FILING_CATEGORY_ID: {
|
|
285
361
|
message: `Choose a Filing Category`,
|
|
362
|
+
affectedFields: ['filingCategoryId'],
|
|
286
363
|
},
|
|
287
364
|
CLIENT_COULD_NOT_BE_LOCKED_WITHOUT_CONTACT: {
|
|
288
365
|
message: `Create a Contact - One contact needs to have been saved to this client`,
|
|
366
|
+
affectedFields: ['contacts'],
|
|
289
367
|
},
|
|
290
368
|
CLIENT_COULD_NOT_BE_LOCKED_WITHOUT_ADDRESS: {
|
|
291
369
|
message: `Create an Address - One address needs to have been saved to this client`,
|
|
370
|
+
affectedFields: ['addresses'],
|
|
292
371
|
},
|
|
293
372
|
CLIENT_COULD_NOT_BE_DELETED_CLIENT_RELATIONSHIP_EXIST: {
|
|
294
373
|
message: `This client cannot be deleted because it has client relationships associated`,
|
|
374
|
+
affectedFields: [],
|
|
295
375
|
},
|
|
296
376
|
CLIENT_COULD_NOT_BE_DELETED_CLIENT_PROJECT_TEMPLATES_EXIST: {
|
|
297
377
|
message: `This client cannot be deleted because it has client project templates associated`,
|
|
378
|
+
affectedFields: [],
|
|
298
379
|
},
|
|
299
380
|
CLIENT_COULD_NOT_BE_DELETED_ADDITIONAL_INFORMATION_EXIST: {
|
|
300
381
|
message: `This client cannot be deleted because it has additional information associated`,
|
|
382
|
+
affectedFields: [],
|
|
301
383
|
},
|
|
302
384
|
CLIENT_COULD_NOT_BE_DELETED_BANK_ACCOUNTS_EXIST: {
|
|
303
385
|
message: `This client cannot be deleted because it has bank accounts associated`,
|
|
386
|
+
affectedFields: [],
|
|
304
387
|
},
|
|
305
388
|
CLIENT_COULD_NOT_BE_DELETED_CREDIT_CARDS_EXIST: {
|
|
306
389
|
message: `This client cannot be deleted because it has credit cards associated`,
|
|
390
|
+
affectedFields: [],
|
|
307
391
|
},
|
|
308
392
|
CLIENT_COULD_NOT_BE_DELETED_WORKLOGS_EXIST: {
|
|
309
393
|
message: `This client cannot be deleted because it has worklogs associated`,
|
|
394
|
+
affectedFields: [],
|
|
310
395
|
},
|
|
311
396
|
CLIENT_COULD_NOT_BE_DELETED_INVOICES_EXIST: {
|
|
312
397
|
message: `This client cannot be deleted because it has invoices associated`,
|
|
398
|
+
affectedFields: [],
|
|
313
399
|
},
|
|
314
400
|
CLIENT_COULD_NOT_BE_DELETED_PAYMENTS_EXIST: {
|
|
315
401
|
message: `This client cannot be deleted because it has payments associated`,
|
|
402
|
+
affectedFields: [],
|
|
316
403
|
},
|
|
317
404
|
CLIENT_COULD_NOT_BE_DELETED_DOCUMENTS_EXIST: {
|
|
318
405
|
message: `This client cannot be deleted because it has documents associated`,
|
|
406
|
+
affectedFields: [],
|
|
319
407
|
},
|
|
320
408
|
CLIENT_COULD_NOT_BE_DELETED_JOURNALS_EXIST: {
|
|
321
409
|
message: `This client cannot be deleted because it has journals associated`,
|
|
410
|
+
affectedFields: [],
|
|
322
411
|
},
|
|
323
412
|
CLIENT_COULD_NOT_BE_DELETED_FUTURES_EXIST: {
|
|
324
413
|
message: `This client cannot be deleted because it has futures associated`,
|
|
414
|
+
affectedFields: [],
|
|
325
415
|
},
|
|
326
416
|
CLIENT_COULD_NOT_BE_DELETED_PROJECTS_EXIST: {
|
|
327
417
|
message: `This client cannot be deleted because it has projects associated`,
|
|
418
|
+
affectedFields: [],
|
|
328
419
|
},
|
|
329
420
|
CLIENT_COULD_NOT_BE_DELETED_TASKS_EXIST: {
|
|
330
421
|
message: `This client cannot be deleted because it has tasks associated`,
|
|
422
|
+
affectedFields: [],
|
|
331
423
|
},
|
|
332
424
|
CLIENT_COULD_NOT_BE_DELETED_ADDRESSES_EXIST: {
|
|
333
425
|
message: `This client cannot be deleted because it has addresses associated`,
|
|
426
|
+
affectedFields: [],
|
|
334
427
|
},
|
|
335
428
|
CLIENT_COULD_NOT_BE_DELETED_CONTACTS_EXIST: {
|
|
336
429
|
message: `This client cannot be deleted because it has contacts associated`,
|
|
430
|
+
affectedFields: [],
|
|
337
431
|
},
|
|
338
432
|
//UPDATE-ENTITY-TYPES-VALIDATIONS
|
|
339
433
|
ENTITY_TYPES_IDS_DOES_NOT_EXIST: {
|
|
340
434
|
message: `Entity types with ids '{ids}' do not exist`,
|
|
341
435
|
params: ['ids'],
|
|
436
|
+
affectedFields: ['entityTypeId'],
|
|
342
437
|
},
|
|
343
438
|
AT_LEAST_ONE_ENTITY_TYPE_SHOULD_EXIST: {
|
|
344
439
|
message: `At least one entity type should exist`,
|
|
440
|
+
affectedFields: ['entityTypes'],
|
|
345
441
|
},
|
|
346
442
|
ENTITY_TYPES_STARTING_DATE_NOT_POPULATED: {
|
|
347
443
|
message: `Starting date for {entityType} cannot be empty`,
|
|
348
444
|
params: ['entityType'],
|
|
445
|
+
affectedFields: ['entityTypeStartingDate'],
|
|
349
446
|
},
|
|
350
447
|
NOT_ALIGNED_ENTITY_TYPES_STARTING_ENDING_DATE: {
|
|
351
448
|
message: `The ending date for {entityType} must be after its starting date`,
|
|
352
449
|
params: ['entityType'],
|
|
450
|
+
affectedFields: ['entityTypeStartingDate', 'entityTypeEndingDate'],
|
|
353
451
|
},
|
|
354
452
|
NOT_ALIGNED_DATE_ESTABLISHED_ENTITY_TYPES_STARTING_DATE: {
|
|
355
453
|
message: `Adjust the start date to be on or after the client's date established, {clientStartDate}.`,
|
|
356
454
|
params: ['clientStartDate'],
|
|
455
|
+
affectedFields: ['entityTypeStartingDate', 'dateEstablished'],
|
|
357
456
|
},
|
|
358
457
|
NOT_ALIGNED_CLOSE_DATE_ENTITY_TYPES_STARTING_DATE: {
|
|
359
458
|
message: `Adjust the start date to be before the client's close date, {clientCloseDate}.`,
|
|
360
459
|
params: ['clientCloseDate'],
|
|
460
|
+
affectedFields: ['entityTypeStartingDate', 'closeDate'],
|
|
361
461
|
},
|
|
362
462
|
ENTITY_TYPES_DATE_GAP_DETECTED: {
|
|
363
463
|
message: `There is a gap in the timeframes between {currentEntityType}, ending {currentEntityTypeEndDate}, and {nextEntityType}, starting {nextEntityTypeStartDate}. Please adjust the dates to fill this gap.`,
|
|
364
464
|
params: ['currentEntityType', 'currentEntityTypeEndDate', 'nextEntityType', 'nextEntityTypeStartDate'],
|
|
465
|
+
affectedFields: ['entityTypes'],
|
|
365
466
|
},
|
|
366
467
|
ENTITY_TYPES_CONSECUTIVE_DUPLICATES_DETECTED: {
|
|
367
468
|
message: `There are two entries for {entityType} with timeframes that immediately follow each other. {entityType} ending {firstPeriodEnd}, and {entityType} starting {secondPeriodStart}. Please update one entry to include the entire timeframe for {entityType}. `,
|
|
368
469
|
params: ['entityType', 'firstPeriodStart', 'firstPeriodEnd', 'secondPeriodStart'],
|
|
470
|
+
affectedFields: ['entityTypes'],
|
|
369
471
|
},
|
|
370
472
|
ENTITY_TYPE_EARLIEST_AND_DATE_ESTABLISHED_GAP_DETECTED: {
|
|
371
473
|
message: `There is a gap between the client's date established ({dateEstablished}) and the start of its first entity type ({earliestEntityType} starting {earliestEntityTypeStartDate}). There must be an entity type that begins on {dateEstablished}.`,
|
|
372
474
|
params: ['dateEstablished', 'earliestEntityType', 'earliestEntityTypeStartDate'],
|
|
475
|
+
affectedFields: ['entityTypes', 'dateEstablished'],
|
|
373
476
|
},
|
|
374
477
|
ENTITY_TYPES_DATES_OVERLAP: {
|
|
375
478
|
message: `The client already has {entityType} starting from {startDate2} to {endDate2}. Your current entity type overlaps with that time. Please adjust the dates so they don't overlap.`,
|
|
376
479
|
params: ['entityType', 'startDate1', 'endDate1', 'startDate2', 'endDate2'],
|
|
480
|
+
affectedFields: ['entityTypes'],
|
|
377
481
|
},
|
|
378
482
|
ALL_NON_LAST_ENTITY_TYPES_REQUIRE_ENDING_DATE: {
|
|
379
483
|
message: `Only the last entity type can be open without an end date. Add an ending date to the existing entity type before adding a start date for a new entity type.`,
|
|
484
|
+
affectedFields: ['entityTypeEndingDate'],
|
|
380
485
|
},
|
|
381
486
|
CURRENT_ENTITY_TYPE_CANNOT_HAVE_ENDING_DATE: {
|
|
382
487
|
message: `The current entity type cannot have an end date. Please remove the end date for this state.`,
|
|
488
|
+
affectedFields: ['entityTypeEndingDate'],
|
|
383
489
|
},
|
|
384
490
|
//UPDATE-FILING-TYPES-VALIDATIONS
|
|
385
491
|
FILING_TYPES_IDS_DOES_NOT_EXIST: {
|
|
386
492
|
message: `Parent/Sub status with ids '{ids}' do not exist`,
|
|
387
493
|
params: ['ids'],
|
|
494
|
+
affectedFields: ['filingTypeId'],
|
|
388
495
|
},
|
|
389
496
|
AT_LEAST_ONE_FILING_TYPE_SHOULD_EXIST: {
|
|
390
497
|
message: `At least one Parent/Sub status should exist`,
|
|
498
|
+
affectedFields: ['filingTypes'],
|
|
391
499
|
},
|
|
392
500
|
FILING_TYPES_STARTING_DATE_NOT_POPULATED: {
|
|
393
501
|
message: `Starting date for {filingType} cannot be empty`,
|
|
394
502
|
params: ['filingType'],
|
|
503
|
+
affectedFields: ['filingTypeStartingDate'],
|
|
395
504
|
},
|
|
396
505
|
NOT_ALIGNED_FILING_TYPES_STARTING_ENDING_DATE: {
|
|
397
506
|
message: `The ending date for {filingType} must be after its starting date`,
|
|
398
507
|
params: ['filingType'],
|
|
508
|
+
affectedFields: ['filingTypeStartingDate', 'filingTypeEndingDate'],
|
|
399
509
|
},
|
|
400
510
|
NOT_ALIGNED_DATE_ESTABLISHED_FILING_TYPES_STARTING_DATE: {
|
|
401
511
|
message: `Adjust the start date to be on or after the client's date established, {clientStartDate}.`,
|
|
402
512
|
params: ['clientStartDate'],
|
|
513
|
+
affectedFields: ['filingTypeStartingDate', 'dateEstablished'],
|
|
403
514
|
},
|
|
404
515
|
NOT_ALIGNED_CLOSE_DATE_FILING_TYPES_STARTING_DATE: {
|
|
405
516
|
message: `Adjust the start date to be before the client's close date, {clientCloseDate}.`,
|
|
406
517
|
params: ['clientCloseDate'],
|
|
518
|
+
affectedFields: ['filingTypeStartingDate', 'closeDate'],
|
|
407
519
|
},
|
|
408
520
|
FILING_TYPES_DATE_GAP_DETECTED: {
|
|
409
521
|
message: `There is a gap in the timeframes between {currentFilingType}, ending {currentFilingTypeEndDate}, and {nextFilingType}, starting {nextFilingTypeStartDate}. Please adjust the dates to fill this gap.`,
|
|
410
522
|
params: ['currentFilingType', 'currentFilingTypeEndDate', 'nextFilingType', 'nextFilingTypeStartDate'],
|
|
523
|
+
affectedFields: ['filingTypes'],
|
|
411
524
|
},
|
|
412
525
|
FILING_TYPES_CONSECUTIVE_DUPLICATES_DETECTED: {
|
|
413
526
|
message: `There are two entries for {filingType} with timeframes that immediately follow each other. {filingType} ending {firstPeriodEnd}, and {filingType} starting {secondPeriodStart}. Please update one entry to include the entire timeframe for {filingType}. `,
|
|
414
527
|
params: ['filingType', 'firstPeriodStart', 'firstPeriodEnd', 'secondPeriodStart'],
|
|
528
|
+
affectedFields: ['filingTypes'],
|
|
415
529
|
},
|
|
416
530
|
FILING_TYPE_EARLIEST_AND_DATE_ESTABLISHED_GAP_DETECTED: {
|
|
417
531
|
message: `There is a gap between the client's date established ({dateEstablished}) and the start of its first Parent/Sub status ({earliestFilingType} starting {earliestFilingTypeStartDate}). There must be a Parent/Sub status that begins on {dateEstablished}.`,
|
|
418
532
|
params: ['dateEstablished', 'earliestFilingType', 'earliestFilingTypeStartDate'],
|
|
533
|
+
affectedFields: ['filingTypes', 'dateEstablished'],
|
|
419
534
|
},
|
|
420
535
|
FILING_TYPES_DATES_OVERLAP: {
|
|
421
536
|
message: `The client already has {filingType} starting from {startDate2} to {endDate2}. Your current entity type overlaps with that time. Please adjust the dates so they don't overlap.`,
|
|
422
537
|
params: ['filingType', 'startDate1', 'endDate1', 'startDate2', 'endDate2'],
|
|
538
|
+
affectedFields: ['filingTypes'],
|
|
423
539
|
},
|
|
424
540
|
ALL_NON_LAST_FILING_TYPES_REQUIRE_ENDING_DATE: {
|
|
425
541
|
message: `Only the last Parent/Sub status can be open without an end date. Add an ending date to the existing Parent/Sub status before adding a start date for a new Parent/Sub status.`,
|
|
542
|
+
affectedFields: ['filingTypeEndingDate'],
|
|
426
543
|
},
|
|
427
544
|
CURRENT_FILING_TYPE_CANNOT_HAVE_ENDING_DATE: {
|
|
428
545
|
message: `The current Parent/Sub status cannot have an end date. Please remove the end date for this state.`,
|
|
546
|
+
affectedFields: ['filingTypeEndingDate'],
|
|
429
547
|
},
|
|
430
548
|
//UPDATE-STATES-VALIDATIONS
|
|
431
549
|
STATES_IDS_DOES_NOT_EXIST: {
|
|
432
550
|
message: `States with ids '{ids}' do not exist`,
|
|
433
551
|
params: ['ids'],
|
|
552
|
+
affectedFields: ['stateId'],
|
|
434
553
|
},
|
|
435
554
|
RESIDENCE_TYPE_DOES_NOT_EXIST: {
|
|
436
555
|
message: `Residence type with ids '{ids}' does not exist`,
|
|
437
556
|
params: ['ids'],
|
|
557
|
+
affectedFields: ['residenceTypeId'],
|
|
438
558
|
},
|
|
439
559
|
AT_LEAST_ONE_DOMESTIC_STATE_SHOULD_EXIST: {
|
|
440
560
|
message: `At least one domestic state should exist`,
|
|
561
|
+
affectedFields: ['domesticStates'],
|
|
441
562
|
},
|
|
442
563
|
STATES_STARTING_DATE_NOT_POPULATED: {
|
|
443
564
|
message: `Starting date for {state} cannot be empty`,
|
|
444
565
|
params: ['state'],
|
|
566
|
+
affectedFields: ['stateStartingDate'],
|
|
445
567
|
},
|
|
446
568
|
NOT_ALIGNED_STATES_STARTING_ENDING_DATE: {
|
|
447
569
|
message: `The ending date for {state} must be after its starting date`,
|
|
448
570
|
params: ['state'],
|
|
571
|
+
affectedFields: ['stateStartingDate', 'stateEndingDate'],
|
|
449
572
|
},
|
|
450
573
|
NOT_ALIGNED_DATE_ESTABLISHED_STATES_STARTING_DATE: {
|
|
451
574
|
message: `Adjust the start date to be on or after the client's date established, {clientStartDate}.`,
|
|
452
575
|
params: ['clientStartDate'],
|
|
576
|
+
affectedFields: ['stateStartingDate', 'dateEstablished'],
|
|
453
577
|
},
|
|
454
578
|
NOT_ALIGNED_CLOSE_DATE_STATES_STARTING_DATE: {
|
|
455
579
|
message: `Adjust the start date to be before the client's close date, {clientCloseDate}.`,
|
|
456
580
|
params: ['clientCloseDate'],
|
|
581
|
+
affectedFields: ['stateStartingDate', 'closeDate'],
|
|
457
582
|
},
|
|
458
583
|
DOMESTIC_STATES_DATE_GAP_DETECTED: {
|
|
459
584
|
message: `There is a gap in the timeframes between {currentState}, ending {currentStateEndDate}, and {nextState}, starting {nextStateStartDate}. Please adjust the dates to fill this gap.`,
|
|
460
585
|
params: ['currentState', 'currentStateEndDate', 'nextState', 'nextStateStartDate'],
|
|
586
|
+
affectedFields: ['domesticStates'],
|
|
461
587
|
},
|
|
462
588
|
STATES_CONSECUTIVE_DUPLICATES_DETECTED: {
|
|
463
589
|
message: `There are two entries for {state} with timeframes that immediately follow each other. {state} ending {firstPeriodEnd}, and {state} starting {secondPeriodStart}. Please update one entry to include the entire timeframe for {state}. `,
|
|
464
590
|
params: ['state', 'firstPeriodStart', 'firstPeriodEnd', 'secondPeriodStart'],
|
|
591
|
+
affectedFields: ['domesticStates'],
|
|
465
592
|
},
|
|
466
593
|
DOMESTIC_STATE_EARLIEST_AND_DATE_ESTABLISHED_GAP_DETECTED: {
|
|
467
594
|
message: `There is a gap between the client's date established ({dateEstablished}) and the start of its first state ({earliestState} starting {earliestStateStartDate}). There must be a state that begins on {dateEstablished}.`,
|
|
468
595
|
params: ['dateEstablished', 'earliestState', 'earliestStateStartDate'],
|
|
596
|
+
affectedFields: ['domesticStates', 'dateEstablished'],
|
|
469
597
|
},
|
|
470
598
|
STATES_DATES_OVERLAP: {
|
|
471
599
|
message: `The client already has {state} starting from {startDate2} to {endDate2}. Your current entity type overlaps with that time. Please adjust the dates so they don't overlap.`,
|
|
472
600
|
params: ['state', 'startDate1', 'endDate1', 'startDate2', 'endDate2'],
|
|
601
|
+
affectedFields: ['domesticStates'],
|
|
473
602
|
},
|
|
474
603
|
ALL_NON_LAST_DOMESTIC_STATES_REQUIRE_ENDING_DATE: {
|
|
475
604
|
message: `Only the last domestic state can be open without an end date. Add an ending date to the existing state before adding a start date for a new state.`,
|
|
605
|
+
affectedFields: ['stateEndingDate'],
|
|
476
606
|
},
|
|
477
607
|
CURRENT_DOMESTIC_STATE_CANNOT_HAVE_ENDING_DATE: {
|
|
478
608
|
message: `The current domestic state cannot have an end date. Please remove the end date for this state.`,
|
|
609
|
+
affectedFields: ['stateEndingDate'],
|
|
479
610
|
},
|
|
480
611
|
},
|
|
481
612
|
CLIENT_RELATIONSHIP: {
|
|
482
613
|
CURRENT_CLIENT_CANNOT_BE_RELATED_TO_CURRENT_CLIENT: {
|
|
483
614
|
message: `A client cannot have a relationship with itself.`,
|
|
615
|
+
affectedFields: ['relatedClientId'],
|
|
484
616
|
},
|
|
485
617
|
INVALID_RELATIONSHIP_TYPE_FOR_ENTITY_TYPE: {
|
|
486
618
|
message: `{clientName} is a/an {entityType}, which can't have {relationshipType}s. Please update the relationship type.`,
|
|
487
619
|
params: ['clientName', 'entityType', 'relationshipType'],
|
|
620
|
+
affectedFields: ['relationshipTypeId'],
|
|
488
621
|
},
|
|
489
622
|
PARENT_RELATIONSHIP_REQUIRES_FILES_UNDER_PARENT: {
|
|
490
623
|
message: `A Parent relationship can only be added to an entity that files under parent. Please update the Sub/Parent status before adding a parent relationship, or choose a different relationship type.`,
|
|
624
|
+
affectedFields: ['relationshipTypeId', 'filingTypeId'],
|
|
491
625
|
},
|
|
492
626
|
STARTING_DATE_BEFORE_CLIENT_DATE_ESTABLISHED: {
|
|
493
627
|
message: `This relationship's start date cannot be before {clientName}'s date established, {clientDateEstablished}. Please adjust the dates to proceed.`,
|
|
494
628
|
params: ['clientName', 'clientDateEstablished'],
|
|
629
|
+
affectedFields: ['startingDate'],
|
|
495
630
|
},
|
|
496
631
|
STARTING_DATE_ON_OR_AFTER_CLIENT_CLOSE_DATE: {
|
|
497
632
|
message: `This relationship's start date cannot be on or after {clientName}'s close date, {clientCloseDate}. Please adjust the dates to proceed.`,
|
|
498
633
|
params: ['clientName', 'clientCloseDate'],
|
|
634
|
+
affectedFields: ['startingDate'],
|
|
499
635
|
},
|
|
500
636
|
STARTING_DATE_BEFORE_RELATED_CLIENT_DATE_ESTABLISHED: {
|
|
501
637
|
message: `This relationship's start date cannot be before {relatedClientName}'s date established, {relatedClientDateEstablished}. Please adjust the dates to proceed.`,
|
|
502
638
|
params: ['relatedClientName', 'relatedClientDateEstablished'],
|
|
639
|
+
affectedFields: ['startingDate'],
|
|
503
640
|
},
|
|
504
641
|
STARTING_DATE_ON_OR_AFTER_RELATED_CLIENT_CLOSE_DATE: {
|
|
505
642
|
message: `This relationship's start date cannot be on or after {relatedClientName}'s close date, {relatedClientCloseDate}. Please adjust the dates to proceed.`,
|
|
506
643
|
params: ['relatedClientName', 'relatedClientCloseDate'],
|
|
644
|
+
affectedFields: ['startingDate'],
|
|
507
645
|
},
|
|
508
646
|
ENDING_DATE_ON_OR_BEFORE_STARTING_DATE: {
|
|
509
647
|
message: `Please update the relationship ending date to be after the starting date, {startingDate}.`,
|
|
510
648
|
params: ['startingDate'],
|
|
649
|
+
affectedFields: ['endingDate'],
|
|
511
650
|
},
|
|
512
651
|
ENDING_DATE_AFTER_CLIENT_CLOSE_DATE: {
|
|
513
652
|
message: `Please update the relationship ending date to be on or before the client's close date, {clientCloseDate}.`,
|
|
514
653
|
params: ['clientCloseDate'],
|
|
654
|
+
affectedFields: ['endingDate'],
|
|
515
655
|
},
|
|
516
656
|
ENDING_DATE_AFTER_RELATED_CLIENT_CLOSE_DATE: {
|
|
517
657
|
message: `Please update the relationship ending date to be on or before {relatedClientName}'s close date, {relatedClientCloseDate}.`,
|
|
518
658
|
params: ['relatedClientName', 'relatedClientCloseDate'],
|
|
659
|
+
affectedFields: ['endingDate'],
|
|
519
660
|
},
|
|
520
661
|
MULTIPLE_ACTIVE_PARENT_RELATIONSHIPS: {
|
|
521
662
|
message: `All parent relationships besides the current one must have an ending date. Please add an ending date for any parent relationships that are no longer current, before adding this parent relationship.`,
|
|
663
|
+
affectedFields: ['endingDate'],
|
|
522
664
|
},
|
|
523
665
|
FINAL_REQUIRED_WHEN_ENDING_DATE_MATCHES_CLIENT_CLOSE_DATE: {
|
|
524
666
|
message: `The client has a close date that is the same as the relationship ending date, therefore the relationship must be marked as final. Please update the relationship's final status to 'Yes', or adjust the dates.`,
|
|
667
|
+
affectedFields: ['isFinal'],
|
|
525
668
|
},
|
|
526
669
|
FINAL_REQUIRED_WHEN_ENDING_DATE_MATCHES_RELATED_CLIENT_CLOSE_DATE: {
|
|
527
670
|
message: `The related client has a close date that is the same as the relationship ending date, therefore the relationship must be marked as final. Please update the relationship's final status to 'Yes', or adjust the dates.`,
|
|
671
|
+
affectedFields: ['isFinal'],
|
|
528
672
|
},
|
|
529
673
|
},
|
|
530
674
|
FILING_CATEGORY: {
|
|
531
675
|
INVALID_REQUEST: {
|
|
532
676
|
message: 'Missing filing category id in request',
|
|
677
|
+
affectedFields: [],
|
|
533
678
|
},
|
|
534
679
|
ID_DOES_NOT_EXIST: {
|
|
535
680
|
message: `Filing category with id '{id}' does not exist`,
|
|
536
681
|
params: ['id'],
|
|
682
|
+
affectedFields: ['filingCategoryId'],
|
|
537
683
|
},
|
|
538
684
|
NAME_ALREADY_EXISTS: {
|
|
539
685
|
message: `Filing category with the same name '{name}' already exists`,
|
|
540
686
|
params: ['name'],
|
|
687
|
+
affectedFields: ['name'],
|
|
541
688
|
},
|
|
542
689
|
OPTION_IN_USE: {
|
|
543
690
|
message: `This option is currently in use and cannot be deleted.`,
|
|
691
|
+
affectedFields: [],
|
|
544
692
|
},
|
|
545
693
|
},
|
|
546
694
|
STATE: {
|
|
547
695
|
INVALID_REQUEST: {
|
|
548
696
|
message: 'Missing state id in request',
|
|
697
|
+
affectedFields: [],
|
|
549
698
|
},
|
|
550
699
|
ID_DOES_NOT_EXIST: {
|
|
551
700
|
message: `State with id '{id}' does not exist`,
|
|
552
701
|
params: ['id'],
|
|
702
|
+
affectedFields: ['stateId'],
|
|
553
703
|
},
|
|
554
704
|
NAME_ALREADY_EXISTS: {
|
|
555
705
|
message: `State with the same name '{name}' already exists`,
|
|
556
706
|
params: ['name'],
|
|
707
|
+
affectedFields: ['name'],
|
|
557
708
|
},
|
|
558
709
|
STATE_TYPE_ID_DOES_NOT_EXIST: {
|
|
559
710
|
message: `State type with id '{id}' does not exist`,
|
|
560
711
|
params: ['id'],
|
|
712
|
+
affectedFields: ['stateTypeId'],
|
|
561
713
|
},
|
|
562
714
|
IS_PARENT_OF_OTHER_STATES: {
|
|
563
715
|
message: `This option is currently in use and cannot be deleted.`,
|
|
716
|
+
affectedFields: [],
|
|
564
717
|
},
|
|
565
718
|
PARENT_ID_DOES_NOT_EXIST: {
|
|
566
719
|
message: `Parent state with id '{id}' does not exist`,
|
|
567
720
|
params: ['id'],
|
|
721
|
+
affectedFields: ['parentId'],
|
|
568
722
|
},
|
|
569
723
|
NATION_PARENT_TYPE_NOT_ALLOWED: {
|
|
570
724
|
message: `Nation cannot have associated parent.`,
|
|
725
|
+
affectedFields: ['parentId'],
|
|
571
726
|
},
|
|
572
727
|
STATE_PARENT_TYPE_NOT_ALLOWED: {
|
|
573
728
|
message: `There must be a nation associated with the state '{stateName}'. Please select a nation to proceed.`,
|
|
574
729
|
params: ['stateName'],
|
|
730
|
+
affectedFields: ['parentId'],
|
|
575
731
|
},
|
|
576
732
|
CITY_PARENT_TYPE_NOT_ALLOWED: {
|
|
577
733
|
message: `There must be a state associated with the city '{cityName}'. Please select a state to proceed.`,
|
|
578
734
|
params: ['cityName'],
|
|
735
|
+
affectedFields: ['parentId'],
|
|
579
736
|
},
|
|
580
737
|
OPTION_IN_USE: {
|
|
581
738
|
message: `This option is currently in use and cannot be deleted.`,
|
|
739
|
+
affectedFields: [],
|
|
582
740
|
},
|
|
583
741
|
},
|
|
584
742
|
USER: {
|
|
585
743
|
USERNAME_DOES_NOT_EXIST: {
|
|
586
744
|
message: `User with username {username} does not exist.`,
|
|
587
745
|
params: ['username'],
|
|
746
|
+
affectedFields: ['username'],
|
|
588
747
|
},
|
|
589
748
|
INVALID_PASSWORD: {
|
|
590
749
|
message: `User with username {username} password does not match.`,
|
|
591
750
|
params: ['username'],
|
|
751
|
+
affectedFields: ['password'],
|
|
592
752
|
},
|
|
593
753
|
INVALID_RESET_PASSWORD_TOKEN: {
|
|
594
754
|
message: `Invalid or expired reset token.`,
|
|
755
|
+
affectedFields: ['resetToken'],
|
|
595
756
|
},
|
|
596
757
|
RESET_PASSWORD_LINK_ALREADY_USED: {
|
|
597
758
|
message: `Reset password link has already been used. Please request a new one.`,
|
|
759
|
+
affectedFields: ['resetToken'],
|
|
598
760
|
},
|
|
599
761
|
RESET_PASSWORD_LINK_NOT_LATEST: {
|
|
600
762
|
message: `Reset password link is no longer valid. Please use the most recent one.`,
|
|
763
|
+
affectedFields: ['resetToken'],
|
|
601
764
|
},
|
|
602
765
|
USERNAME_ALREADY_EXISTS: {
|
|
603
766
|
message: `User with username '{username}' already exists`,
|
|
604
767
|
params: ['username'],
|
|
768
|
+
affectedFields: ['username'],
|
|
605
769
|
},
|
|
606
770
|
EMAIL_ALREADY_EXISTS: {
|
|
607
771
|
message: `User with email '{email}' already exists`,
|
|
608
772
|
params: ['email'],
|
|
773
|
+
affectedFields: ['email'],
|
|
609
774
|
},
|
|
610
775
|
ROLE_DOES_NOT_EXIST: {
|
|
611
776
|
message: `Role with id '{roleId}' does not exist`,
|
|
@@ -614,23 +779,28 @@ export const VALIDATION_MESSAGES = {
|
|
|
614
779
|
USER_DOES_NOT_EXIST: {
|
|
615
780
|
message: `User with id '{userId}' does not exist`,
|
|
616
781
|
params: ['userId'],
|
|
782
|
+
affectedFields: ['userId'],
|
|
617
783
|
},
|
|
618
784
|
USER_PASSWORDS_DO_NOT_MATCH: {
|
|
619
785
|
message: `User passwords do not match`,
|
|
786
|
+
affectedFields: ['password', 'confirmPassword'],
|
|
620
787
|
},
|
|
621
788
|
},
|
|
622
789
|
ROLE_AND_PERMISSION: {
|
|
623
790
|
ROLE_ALREADY_EXISTS: {
|
|
624
791
|
message: `Role with name '{name}' already exists`,
|
|
625
792
|
params: ['name'],
|
|
793
|
+
affectedFields: ['name'],
|
|
626
794
|
},
|
|
627
795
|
PERMISSION_ALREADY_EXISTS: {
|
|
628
796
|
message: `Permission with name '{name}' already exists`,
|
|
629
797
|
params: ['name'],
|
|
798
|
+
affectedFields: ['name'],
|
|
630
799
|
},
|
|
631
800
|
PERMISSIONS_DO_NOT_EXIST: {
|
|
632
801
|
message: `Permissions with ids '{ids}' do not exist`,
|
|
633
802
|
params: ['ids'],
|
|
803
|
+
affectedFields: ['permissionIds'],
|
|
634
804
|
},
|
|
635
805
|
ROLE_DOES_NOT_EXIST: {
|
|
636
806
|
message: `Role with id '{roleId}' does not exist`,
|
|
@@ -639,50 +809,62 @@ export const VALIDATION_MESSAGES = {
|
|
|
639
809
|
PERMISSION_DOES_NOT_EXIST: {
|
|
640
810
|
message: `Permission with id '{permissionId}' does not exist`,
|
|
641
811
|
params: ['permissionId'],
|
|
812
|
+
affectedFields: ['permissionId'],
|
|
642
813
|
},
|
|
643
814
|
ROLE_HAS_ASSIGNED_USERS: {
|
|
644
815
|
message: `Cannot delete role with name '{roleName}' because it has users assigned to it`,
|
|
645
816
|
params: ['roleName'],
|
|
817
|
+
affectedFields: [],
|
|
646
818
|
},
|
|
647
819
|
},
|
|
648
820
|
//BACKEND ONLY VALIDATION FEATURES
|
|
649
821
|
DATA_FILTER: {
|
|
650
822
|
MISSING_PAGE_SIZE: {
|
|
651
823
|
message: `Request is invalid, 'pageSize' must exist if 'pageNumber' exists`,
|
|
824
|
+
affectedFields: ['pageSize'],
|
|
652
825
|
},
|
|
653
826
|
MISSING_PAGE_NUMBER: {
|
|
654
827
|
message: `Request is invalid, 'pageNumber' must exist if 'pageSize' exists`,
|
|
828
|
+
affectedFields: ['pageNumber'],
|
|
655
829
|
},
|
|
656
830
|
MISSING_SORT_BY: {
|
|
657
831
|
message: `Request is invalid, 'sortBy' must exist if 'sortType' exists`,
|
|
832
|
+
affectedFields: ['sortBy'],
|
|
658
833
|
},
|
|
659
834
|
MISSING_SORT_TYPE: {
|
|
660
835
|
message: `Request is invalid, 'sortType' must exist if 'sortBy' exists`,
|
|
836
|
+
affectedFields: ['sortType'],
|
|
661
837
|
},
|
|
662
838
|
},
|
|
663
839
|
USER_PREFERENCE: {
|
|
664
840
|
FEATURE_DOES_NOT_EXIST: {
|
|
665
841
|
message: `Feature with name {feature} does not exist`,
|
|
666
842
|
params: ['feature'],
|
|
843
|
+
affectedFields: ['feature'],
|
|
667
844
|
},
|
|
668
845
|
INVALID_REQUEST: {
|
|
669
846
|
message: 'Request is invalid',
|
|
847
|
+
affectedFields: [],
|
|
670
848
|
},
|
|
671
849
|
PREFERENCE_DOES_NOT_BELONG_TO_USER: {
|
|
672
850
|
message: 'Preference does not belong to the user',
|
|
851
|
+
affectedFields: [],
|
|
673
852
|
},
|
|
674
853
|
INVALID_COLUMN_ORDER: {
|
|
675
854
|
message: 'Invalid columnOrder values',
|
|
855
|
+
affectedFields: ['columnOrder'],
|
|
676
856
|
},
|
|
677
857
|
},
|
|
678
858
|
OUTSIDE_PROVIDER: {
|
|
679
859
|
INVALID_TYPE: {
|
|
680
860
|
message: `Outside provider types with ids '{ids}' do not exist`,
|
|
681
861
|
params: ['ids'],
|
|
862
|
+
affectedFields: ['outsideProviderTypeId'],
|
|
682
863
|
},
|
|
683
864
|
SAME_TYPE_TIMELINE_OVERLAP: {
|
|
684
865
|
message: `The client already has {outsideProviderType} starting from {startDate}. Your entry overlaps with that time. Please adjust the dates so they don't overlap.`,
|
|
685
866
|
params: ['outsideProviderType', 'startDate'],
|
|
867
|
+
affectedFields: ['startDate', 'endDate'],
|
|
686
868
|
},
|
|
687
869
|
},
|
|
688
870
|
} as const;
|