@wix/bex-core 2.235.0 → 2.236.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/dist/cjs/services/DataExtensionFieldOperationsService.js +235 -0
- package/dist/cjs/services/DataExtensionFieldOperationsService.js.map +1 -0
- package/dist/cjs/services/DataExtensionService/dataExtensionService.js +54 -0
- package/dist/cjs/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/cjs/services/DataExtensionService/deleteUserDefinedFieldsErrors.js +33 -0
- package/dist/cjs/services/DataExtensionService/deleteUserDefinedFieldsErrors.js.map +1 -0
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/DataExtensionState.js +102 -52
- package/dist/cjs/state/DataExtensionState.js.map +1 -1
- package/dist/cjs/state/DataExtensionStateBIReporter.js +23 -0
- package/dist/cjs/state/DataExtensionStateBIReporter.js.map +1 -1
- package/dist/esm/services/DataExtensionFieldOperationsService.js +157 -0
- package/dist/esm/services/DataExtensionFieldOperationsService.js.map +1 -0
- package/dist/esm/services/DataExtensionService/dataExtensionService.js +44 -1
- package/dist/esm/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/esm/services/DataExtensionService/deleteUserDefinedFieldsErrors.js +26 -0
- package/dist/esm/services/DataExtensionService/deleteUserDefinedFieldsErrors.js.map +1 -0
- package/dist/esm/state/DataExtensionState.js +67 -44
- package/dist/esm/state/DataExtensionState.js.map +1 -1
- package/dist/esm/state/DataExtensionStateBIReporter.js +20 -0
- package/dist/esm/state/DataExtensionStateBIReporter.js.map +1 -1
- package/dist/types/services/DataExtensionFieldOperationsService.d.ts +31 -0
- package/dist/types/services/DataExtensionFieldOperationsService.d.ts.map +1 -0
- package/dist/types/services/DataExtensionService/dataExtensionService.d.ts +3 -0
- package/dist/types/services/DataExtensionService/dataExtensionService.d.ts.map +1 -1
- package/dist/types/services/DataExtensionService/deleteUserDefinedFieldsErrors.d.ts +7 -0
- package/dist/types/services/DataExtensionService/deleteUserDefinedFieldsErrors.d.ts.map +1 -0
- package/dist/types/services/translations.d.ts +1 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/state/DataExtensionState.d.ts +31 -0
- package/dist/types/state/DataExtensionState.d.ts.map +1 -1
- package/dist/types/state/DataExtensionStateBIReporter.d.ts +5 -0
- package/dist/types/state/DataExtensionStateBIReporter.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.DataExtensionFieldOperationsService = void 0;
|
|
5
|
+
var _DataExtensionStateBIReporter = require("../state/DataExtensionStateBIReporter");
|
|
6
|
+
/**
|
|
7
|
+
* Service for handling archive, restore, and delete operations on custom fields.
|
|
8
|
+
* This service is lazily loaded to reduce bundle size for consumers who don't use these features.
|
|
9
|
+
*/
|
|
10
|
+
class DataExtensionFieldOperationsService {
|
|
11
|
+
constructor(context) {
|
|
12
|
+
this.context = context;
|
|
13
|
+
}
|
|
14
|
+
showFieldOperationToast({
|
|
15
|
+
type,
|
|
16
|
+
operation,
|
|
17
|
+
message,
|
|
18
|
+
action,
|
|
19
|
+
onRetryClick,
|
|
20
|
+
biName
|
|
21
|
+
}) {
|
|
22
|
+
const {
|
|
23
|
+
container
|
|
24
|
+
} = this.context;
|
|
25
|
+
const retryAction = {
|
|
26
|
+
uiType: 'LINK',
|
|
27
|
+
text: container.translate('cairo.toast.retry'),
|
|
28
|
+
onClick: onRetryClick,
|
|
29
|
+
removeToastOnClick: true
|
|
30
|
+
};
|
|
31
|
+
container.showToast == null || container.showToast({
|
|
32
|
+
message,
|
|
33
|
+
action: type !== 'SUCCESS' && onRetryClick ? retryAction : action,
|
|
34
|
+
type,
|
|
35
|
+
biName: biName || `cairo-${operation}-custom-field-${type.toLowerCase()}-toast`
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
async archiveField({
|
|
39
|
+
id,
|
|
40
|
+
origin,
|
|
41
|
+
reportBi
|
|
42
|
+
}) {
|
|
43
|
+
if (!id) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const {
|
|
47
|
+
dataExtensionService,
|
|
48
|
+
userSchema,
|
|
49
|
+
fqdnString,
|
|
50
|
+
extractFieldValuesFromSchema,
|
|
51
|
+
upsertSchema,
|
|
52
|
+
container,
|
|
53
|
+
enableArchive,
|
|
54
|
+
openArchivedPanel
|
|
55
|
+
} = this.context;
|
|
56
|
+
const fieldValues = extractFieldValuesFromSchema(id);
|
|
57
|
+
const fieldName = (fieldValues == null ? void 0 : fieldValues.name) || '';
|
|
58
|
+
const biReporter = new _DataExtensionStateBIReporter.DataExtensionStateBIReporter({
|
|
59
|
+
reportBi
|
|
60
|
+
});
|
|
61
|
+
try {
|
|
62
|
+
const {
|
|
63
|
+
dataExtensionSchema
|
|
64
|
+
} = await dataExtensionService.archiveCustomField({
|
|
65
|
+
schema: userSchema,
|
|
66
|
+
fqdn: fqdnString,
|
|
67
|
+
id
|
|
68
|
+
});
|
|
69
|
+
if (dataExtensionSchema) {
|
|
70
|
+
upsertSchema(dataExtensionSchema);
|
|
71
|
+
}
|
|
72
|
+
const successMessage = enableArchive && fieldName ? container.translate('cairo.customFields.archive.success.toast.enabled', {
|
|
73
|
+
selectedField: fieldName
|
|
74
|
+
}) : container.translate('cairo.customFields.archive.success.toast');
|
|
75
|
+
const action = enableArchive ? {
|
|
76
|
+
text: container.translate('cairo.customFields.archive.success.toast.CTA'),
|
|
77
|
+
uiType: 'LINK',
|
|
78
|
+
onClick: () => openArchivedPanel == null ? void 0 : openArchivedPanel()
|
|
79
|
+
} : undefined;
|
|
80
|
+
this.showFieldOperationToast({
|
|
81
|
+
type: 'SUCCESS',
|
|
82
|
+
operation: 'archive',
|
|
83
|
+
message: successMessage,
|
|
84
|
+
action
|
|
85
|
+
});
|
|
86
|
+
} catch (e) {
|
|
87
|
+
this.showFieldOperationToast({
|
|
88
|
+
type: 'ERROR',
|
|
89
|
+
operation: 'archive',
|
|
90
|
+
message: container.translate('cairo.customFields.archive.error.toast', {
|
|
91
|
+
selectedField: fieldName
|
|
92
|
+
}),
|
|
93
|
+
onRetryClick: () => {
|
|
94
|
+
biReporter.reportArchiveTryAgain();
|
|
95
|
+
this.archiveField({
|
|
96
|
+
id,
|
|
97
|
+
origin,
|
|
98
|
+
reportBi
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
biReporter.reportArchiveFieldFailed({
|
|
103
|
+
formValues: fieldValues,
|
|
104
|
+
origin
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async restoreField({
|
|
109
|
+
id,
|
|
110
|
+
origin,
|
|
111
|
+
reportBi
|
|
112
|
+
}) {
|
|
113
|
+
if (!id) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const {
|
|
117
|
+
dataExtensionService,
|
|
118
|
+
userSchema,
|
|
119
|
+
fqdnString,
|
|
120
|
+
extractFieldValuesFromSchema,
|
|
121
|
+
upsertSchema,
|
|
122
|
+
container
|
|
123
|
+
} = this.context;
|
|
124
|
+
const fieldValues = extractFieldValuesFromSchema(id);
|
|
125
|
+
const fieldName = (fieldValues == null ? void 0 : fieldValues.name) || '';
|
|
126
|
+
const biReporter = new _DataExtensionStateBIReporter.DataExtensionStateBIReporter({
|
|
127
|
+
reportBi
|
|
128
|
+
});
|
|
129
|
+
try {
|
|
130
|
+
const {
|
|
131
|
+
dataExtensionSchema
|
|
132
|
+
} = await dataExtensionService.restoreCustomField({
|
|
133
|
+
schema: userSchema,
|
|
134
|
+
fqdn: fqdnString,
|
|
135
|
+
id
|
|
136
|
+
});
|
|
137
|
+
if (dataExtensionSchema) {
|
|
138
|
+
upsertSchema(dataExtensionSchema);
|
|
139
|
+
}
|
|
140
|
+
this.showFieldOperationToast({
|
|
141
|
+
type: 'SUCCESS',
|
|
142
|
+
operation: 'restore',
|
|
143
|
+
message: container.translate('cairo.customFields.restored.success.toast', {
|
|
144
|
+
selectedField: fieldName
|
|
145
|
+
})
|
|
146
|
+
});
|
|
147
|
+
} catch (e) {
|
|
148
|
+
this.showFieldOperationToast({
|
|
149
|
+
type: 'ERROR',
|
|
150
|
+
operation: 'restore',
|
|
151
|
+
message: container.translate('cairo.customFields.restore.error.toast', {
|
|
152
|
+
selectedField: fieldName
|
|
153
|
+
}),
|
|
154
|
+
onRetryClick: () => {
|
|
155
|
+
biReporter.reportRestoreTryAgain();
|
|
156
|
+
this.restoreField({
|
|
157
|
+
id,
|
|
158
|
+
origin,
|
|
159
|
+
reportBi
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
biReporter.reportRestoreFieldFailed({
|
|
164
|
+
formValues: fieldValues,
|
|
165
|
+
origin
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
async deleteField({
|
|
170
|
+
id,
|
|
171
|
+
origin,
|
|
172
|
+
reportBi
|
|
173
|
+
}) {
|
|
174
|
+
var _userSchema$jsonSchem;
|
|
175
|
+
if (!id) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const {
|
|
179
|
+
dataExtensionService,
|
|
180
|
+
userSchema,
|
|
181
|
+
fqdnString,
|
|
182
|
+
extractFieldValuesFromSchema,
|
|
183
|
+
upsertSchema,
|
|
184
|
+
container
|
|
185
|
+
} = this.context;
|
|
186
|
+
const fieldValues = extractFieldValuesFromSchema(id);
|
|
187
|
+
const fieldName = (fieldValues == null ? void 0 : fieldValues.name) || '';
|
|
188
|
+
|
|
189
|
+
// Validate field is archived
|
|
190
|
+
const field = userSchema == null || (_userSchema$jsonSchem = userSchema.jsonSchema) == null || (_userSchema$jsonSchem = _userSchema$jsonSchem.properties) == null ? void 0 : _userSchema$jsonSchem[id];
|
|
191
|
+
if (field && !field['x-wix-archived']) {
|
|
192
|
+
this.showFieldOperationToast({
|
|
193
|
+
type: 'ERROR',
|
|
194
|
+
operation: 'delete',
|
|
195
|
+
message: `${fieldName || 'Field'} must be archived before it can be deleted.`,
|
|
196
|
+
biName: 'cairo-delete-custom-field-not-archived-error-toast'
|
|
197
|
+
});
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
try {
|
|
201
|
+
const {
|
|
202
|
+
dataExtensionSchema
|
|
203
|
+
} = await dataExtensionService.deleteCustomField({
|
|
204
|
+
schema: userSchema,
|
|
205
|
+
fqdn: fqdnString,
|
|
206
|
+
id
|
|
207
|
+
});
|
|
208
|
+
if (dataExtensionSchema) {
|
|
209
|
+
upsertSchema(dataExtensionSchema);
|
|
210
|
+
}
|
|
211
|
+
this.showFieldOperationToast({
|
|
212
|
+
type: 'SUCCESS',
|
|
213
|
+
operation: 'delete',
|
|
214
|
+
message: container.translate('cairo.customFields.deleted.success.toast', {
|
|
215
|
+
selectedField: fieldName
|
|
216
|
+
})
|
|
217
|
+
});
|
|
218
|
+
} catch (e) {
|
|
219
|
+
this.showFieldOperationToast({
|
|
220
|
+
type: 'ERROR',
|
|
221
|
+
operation: 'delete',
|
|
222
|
+
message: container.translate('cairo.customFields.delete.error.toast', {
|
|
223
|
+
selectedField: fieldName
|
|
224
|
+
}),
|
|
225
|
+
onRetryClick: () => this.deleteField({
|
|
226
|
+
id,
|
|
227
|
+
origin,
|
|
228
|
+
reportBi
|
|
229
|
+
})
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
exports.DataExtensionFieldOperationsService = DataExtensionFieldOperationsService;
|
|
235
|
+
//# sourceMappingURL=DataExtensionFieldOperationsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_DataExtensionStateBIReporter","require","DataExtensionFieldOperationsService","constructor","context","showFieldOperationToast","type","operation","message","action","onRetryClick","biName","container","retryAction","uiType","text","translate","onClick","removeToastOnClick","showToast","toLowerCase","archiveField","id","origin","reportBi","dataExtensionService","userSchema","fqdnString","extractFieldValuesFromSchema","upsertSchema","enableArchive","openArchivedPanel","fieldValues","fieldName","name","biReporter","DataExtensionStateBIReporter","dataExtensionSchema","archiveCustomField","schema","fqdn","successMessage","selectedField","undefined","e","reportArchiveTryAgain","reportArchiveFieldFailed","formValues","restoreField","restoreCustomField","reportRestoreTryAgain","reportRestoreFieldFailed","deleteField","_userSchema$jsonSchem","field","jsonSchema","properties","deleteCustomField","exports"],"sources":["../../../src/services/DataExtensionFieldOperationsService.ts"],"sourcesContent":["import type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport type { CustomFieldForm, WixPatternsContainer } from '../state';\nimport type { DataExtensionSchemaService, ReportBI } from '.';\nimport { DataExtensionStateBIReporter } from '../state/DataExtensionStateBIReporter';\nimport { ToastAction } from '../model';\n\nexport interface FieldOperationParams {\n id?: string;\n origin: string;\n reportBi: ReportBI;\n}\n\nexport interface FieldOperationContext {\n container: WixPatternsContainer;\n dataExtensionService: DataExtensionSchemaService;\n userSchema?: DataExtensionSchema;\n fqdnString: string;\n enableArchive?: boolean;\n extractFieldValuesFromSchema: (\n fieldId: string,\n ) => CustomFieldForm | undefined;\n upsertSchema: (schema: DataExtensionSchema) => void;\n openArchivedPanel?: () => void;\n}\n\n/**\n * Service for handling archive, restore, and delete operations on custom fields.\n * This service is lazily loaded to reduce bundle size for consumers who don't use these features.\n */\nexport class DataExtensionFieldOperationsService {\n constructor(private readonly context: FieldOperationContext) {}\n\n private showFieldOperationToast({\n type,\n operation,\n message,\n action,\n onRetryClick,\n biName,\n }: {\n type: 'SUCCESS' | 'ERROR';\n operation: 'archive' | 'restore' | 'delete';\n message: string;\n action?: ToastAction;\n onRetryClick?: () => void;\n biName?: string;\n }) {\n const { container } = this.context;\n const retryAction = {\n uiType: 'LINK' as const,\n text: container.translate('cairo.toast.retry'),\n onClick: onRetryClick,\n removeToastOnClick: true,\n };\n\n container.showToast?.({\n message,\n action: type !== 'SUCCESS' && onRetryClick ? retryAction : action,\n type,\n biName:\n biName || `cairo-${operation}-custom-field-${type.toLowerCase()}-toast`,\n });\n }\n\n async archiveField({ id, origin, reportBi }: FieldOperationParams) {\n if (!id) {\n return;\n }\n\n const {\n dataExtensionService,\n userSchema,\n fqdnString,\n extractFieldValuesFromSchema,\n upsertSchema,\n container,\n enableArchive,\n openArchivedPanel,\n } = this.context;\n\n const fieldValues = extractFieldValuesFromSchema(id);\n const fieldName = fieldValues?.name || '';\n const biReporter = new DataExtensionStateBIReporter({ reportBi });\n\n try {\n const { dataExtensionSchema } =\n await dataExtensionService.archiveCustomField({\n schema: userSchema,\n fqdn: fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n upsertSchema(dataExtensionSchema);\n }\n\n const successMessage =\n enableArchive && fieldName\n ? container.translate(\n 'cairo.customFields.archive.success.toast.enabled',\n { selectedField: fieldName },\n )\n : container.translate('cairo.customFields.archive.success.toast');\n\n const action = enableArchive\n ? {\n text: container.translate(\n 'cairo.customFields.archive.success.toast.CTA',\n ),\n uiType: 'LINK' as const,\n onClick: () => openArchivedPanel?.(),\n }\n : undefined;\n\n this.showFieldOperationToast({\n type: 'SUCCESS',\n operation: 'archive',\n message: successMessage,\n action,\n });\n } catch (e) {\n this.showFieldOperationToast({\n type: 'ERROR',\n operation: 'archive',\n message: container.translate('cairo.customFields.archive.error.toast', {\n selectedField: fieldName,\n }),\n onRetryClick: () => {\n biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin, reportBi });\n },\n });\n biReporter.reportArchiveFieldFailed({ formValues: fieldValues, origin });\n }\n }\n\n async restoreField({ id, origin, reportBi }: FieldOperationParams) {\n if (!id) {\n return;\n }\n\n const {\n dataExtensionService,\n userSchema,\n fqdnString,\n extractFieldValuesFromSchema,\n upsertSchema,\n container,\n } = this.context;\n\n const fieldValues = extractFieldValuesFromSchema(id);\n const fieldName = fieldValues?.name || '';\n const biReporter = new DataExtensionStateBIReporter({ reportBi });\n\n try {\n const { dataExtensionSchema } =\n await dataExtensionService.restoreCustomField({\n schema: userSchema,\n fqdn: fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n upsertSchema(dataExtensionSchema);\n }\n\n this.showFieldOperationToast({\n type: 'SUCCESS',\n operation: 'restore',\n message: container.translate(\n 'cairo.customFields.restored.success.toast',\n { selectedField: fieldName },\n ),\n });\n } catch (e) {\n this.showFieldOperationToast({\n type: 'ERROR',\n operation: 'restore',\n message: container.translate('cairo.customFields.restore.error.toast', {\n selectedField: fieldName,\n }),\n onRetryClick: () => {\n biReporter.reportRestoreTryAgain();\n this.restoreField({ id, origin, reportBi });\n },\n });\n biReporter.reportRestoreFieldFailed({ formValues: fieldValues, origin });\n }\n }\n\n async deleteField({ id, origin, reportBi }: FieldOperationParams) {\n if (!id) {\n return;\n }\n\n const {\n dataExtensionService,\n userSchema,\n fqdnString,\n extractFieldValuesFromSchema,\n upsertSchema,\n container,\n } = this.context;\n\n const fieldValues = extractFieldValuesFromSchema(id);\n const fieldName = fieldValues?.name || '';\n\n // Validate field is archived\n const field = userSchema?.jsonSchema?.properties?.[id];\n if (field && !field['x-wix-archived']) {\n this.showFieldOperationToast({\n type: 'ERROR',\n operation: 'delete',\n message: `${\n fieldName || 'Field'\n } must be archived before it can be deleted.`,\n biName: 'cairo-delete-custom-field-not-archived-error-toast',\n });\n return;\n }\n\n try {\n const { dataExtensionSchema } =\n await dataExtensionService.deleteCustomField({\n schema: userSchema,\n fqdn: fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n upsertSchema(dataExtensionSchema);\n }\n\n this.showFieldOperationToast({\n type: 'SUCCESS',\n operation: 'delete',\n message: container.translate(\n 'cairo.customFields.deleted.success.toast',\n { selectedField: fieldName },\n ),\n });\n } catch (e) {\n this.showFieldOperationToast({\n type: 'ERROR',\n operation: 'delete',\n message: container.translate('cairo.customFields.delete.error.toast', {\n selectedField: fieldName,\n }),\n onRetryClick: () => this.deleteField({ id, origin, reportBi }),\n });\n }\n }\n}\n"],"mappings":";;;;AAGA,IAAAA,6BAAA,GAAAC,OAAA;AAsBA;AACA;AACA;AACA;AACO,MAAMC,mCAAmC,CAAC;EAC/CC,WAAWA,CAAkBC,OAA8B,EAAE;IAAA,KAAhCA,OAA8B,GAA9BA,OAA8B;EAAG;EAEtDC,uBAAuBA,CAAC;IAC9BC,IAAI;IACJC,SAAS;IACTC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC;EAQF,CAAC,EAAE;IACD,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACR,OAAO;IAClC,MAAMS,WAAW,GAAG;MAClBC,MAAM,EAAE,MAAe;MACvBC,IAAI,EAAEH,SAAS,CAACI,SAAS,CAAC,mBAAmB,CAAC;MAC9CC,OAAO,EAAEP,YAAY;MACrBQ,kBAAkB,EAAE;IACtB,CAAC;IAEDN,SAAS,CAACO,SAAS,YAAnBP,SAAS,CAACO,SAAS,CAAG;MACpBX,OAAO;MACPC,MAAM,EAAEH,IAAI,KAAK,SAAS,IAAII,YAAY,GAAGG,WAAW,GAAGJ,MAAM;MACjEH,IAAI;MACJK,MAAM,EACJA,MAAM,IAAI,SAASJ,SAAS,iBAAiBD,IAAI,CAACc,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC;EACJ;EAEA,MAAMC,YAAYA,CAAC;IAAEC,EAAE;IAAEC,MAAM;IAAEC;EAA+B,CAAC,EAAE;IACjE,IAAI,CAACF,EAAE,EAAE;MACP;IACF;IAEA,MAAM;MACJG,oBAAoB;MACpBC,UAAU;MACVC,UAAU;MACVC,4BAA4B;MAC5BC,YAAY;MACZjB,SAAS;MACTkB,aAAa;MACbC;IACF,CAAC,GAAG,IAAI,CAAC3B,OAAO;IAEhB,MAAM4B,WAAW,GAAGJ,4BAA4B,CAACN,EAAE,CAAC;IACpD,MAAMW,SAAS,GAAG,CAAAD,WAAW,oBAAXA,WAAW,CAAEE,IAAI,KAAI,EAAE;IACzC,MAAMC,UAAU,GAAG,IAAIC,0DAA4B,CAAC;MAAEZ;IAAS,CAAC,CAAC;IAEjE,IAAI;MACF,MAAM;QAAEa;MAAoB,CAAC,GAC3B,MAAMZ,oBAAoB,CAACa,kBAAkB,CAAC;QAC5CC,MAAM,EAAEb,UAAU;QAClBc,IAAI,EAAEb,UAAU;QAChBL;MACF,CAAC,CAAC;MAEJ,IAAIe,mBAAmB,EAAE;QACvBR,YAAY,CAACQ,mBAAmB,CAAC;MACnC;MAEA,MAAMI,cAAc,GAClBX,aAAa,IAAIG,SAAS,GACtBrB,SAAS,CAACI,SAAS,CACjB,kDAAkD,EAClD;QAAE0B,aAAa,EAAET;MAAU,CAC7B,CAAC,GACDrB,SAAS,CAACI,SAAS,CAAC,0CAA0C,CAAC;MAErE,MAAMP,MAAM,GAAGqB,aAAa,GACxB;QACEf,IAAI,EAAEH,SAAS,CAACI,SAAS,CACvB,8CACF,CAAC;QACDF,MAAM,EAAE,MAAe;QACvBG,OAAO,EAAEA,CAAA,KAAMc,iBAAiB,oBAAjBA,iBAAiB,CAAG;MACrC,CAAC,GACDY,SAAS;MAEb,IAAI,CAACtC,uBAAuB,CAAC;QAC3BC,IAAI,EAAE,SAAS;QACfC,SAAS,EAAE,SAAS;QACpBC,OAAO,EAAEiC,cAAc;QACvBhC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOmC,CAAC,EAAE;MACV,IAAI,CAACvC,uBAAuB,CAAC;QAC3BC,IAAI,EAAE,OAAO;QACbC,SAAS,EAAE,SAAS;QACpBC,OAAO,EAAEI,SAAS,CAACI,SAAS,CAAC,wCAAwC,EAAE;UACrE0B,aAAa,EAAET;QACjB,CAAC,CAAC;QACFvB,YAAY,EAAEA,CAAA,KAAM;UAClByB,UAAU,CAACU,qBAAqB,CAAC,CAAC;UAClC,IAAI,CAACxB,YAAY,CAAC;YAAEC,EAAE;YAAEC,MAAM;YAAEC;UAAS,CAAC,CAAC;QAC7C;MACF,CAAC,CAAC;MACFW,UAAU,CAACW,wBAAwB,CAAC;QAAEC,UAAU,EAAEf,WAAW;QAAET;MAAO,CAAC,CAAC;IAC1E;EACF;EAEA,MAAMyB,YAAYA,CAAC;IAAE1B,EAAE;IAAEC,MAAM;IAAEC;EAA+B,CAAC,EAAE;IACjE,IAAI,CAACF,EAAE,EAAE;MACP;IACF;IAEA,MAAM;MACJG,oBAAoB;MACpBC,UAAU;MACVC,UAAU;MACVC,4BAA4B;MAC5BC,YAAY;MACZjB;IACF,CAAC,GAAG,IAAI,CAACR,OAAO;IAEhB,MAAM4B,WAAW,GAAGJ,4BAA4B,CAACN,EAAE,CAAC;IACpD,MAAMW,SAAS,GAAG,CAAAD,WAAW,oBAAXA,WAAW,CAAEE,IAAI,KAAI,EAAE;IACzC,MAAMC,UAAU,GAAG,IAAIC,0DAA4B,CAAC;MAAEZ;IAAS,CAAC,CAAC;IAEjE,IAAI;MACF,MAAM;QAAEa;MAAoB,CAAC,GAC3B,MAAMZ,oBAAoB,CAACwB,kBAAkB,CAAC;QAC5CV,MAAM,EAAEb,UAAU;QAClBc,IAAI,EAAEb,UAAU;QAChBL;MACF,CAAC,CAAC;MAEJ,IAAIe,mBAAmB,EAAE;QACvBR,YAAY,CAACQ,mBAAmB,CAAC;MACnC;MAEA,IAAI,CAAChC,uBAAuB,CAAC;QAC3BC,IAAI,EAAE,SAAS;QACfC,SAAS,EAAE,SAAS;QACpBC,OAAO,EAAEI,SAAS,CAACI,SAAS,CAC1B,2CAA2C,EAC3C;UAAE0B,aAAa,EAAET;QAAU,CAC7B;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOW,CAAC,EAAE;MACV,IAAI,CAACvC,uBAAuB,CAAC;QAC3BC,IAAI,EAAE,OAAO;QACbC,SAAS,EAAE,SAAS;QACpBC,OAAO,EAAEI,SAAS,CAACI,SAAS,CAAC,wCAAwC,EAAE;UACrE0B,aAAa,EAAET;QACjB,CAAC,CAAC;QACFvB,YAAY,EAAEA,CAAA,KAAM;UAClByB,UAAU,CAACe,qBAAqB,CAAC,CAAC;UAClC,IAAI,CAACF,YAAY,CAAC;YAAE1B,EAAE;YAAEC,MAAM;YAAEC;UAAS,CAAC,CAAC;QAC7C;MACF,CAAC,CAAC;MACFW,UAAU,CAACgB,wBAAwB,CAAC;QAAEJ,UAAU,EAAEf,WAAW;QAAET;MAAO,CAAC,CAAC;IAC1E;EACF;EAEA,MAAM6B,WAAWA,CAAC;IAAE9B,EAAE;IAAEC,MAAM;IAAEC;EAA+B,CAAC,EAAE;IAAA,IAAA6B,qBAAA;IAChE,IAAI,CAAC/B,EAAE,EAAE;MACP;IACF;IAEA,MAAM;MACJG,oBAAoB;MACpBC,UAAU;MACVC,UAAU;MACVC,4BAA4B;MAC5BC,YAAY;MACZjB;IACF,CAAC,GAAG,IAAI,CAACR,OAAO;IAEhB,MAAM4B,WAAW,GAAGJ,4BAA4B,CAACN,EAAE,CAAC;IACpD,MAAMW,SAAS,GAAG,CAAAD,WAAW,oBAAXA,WAAW,CAAEE,IAAI,KAAI,EAAE;;IAEzC;IACA,MAAMoB,KAAK,GAAG5B,UAAU,aAAA2B,qBAAA,GAAV3B,UAAU,CAAE6B,UAAU,cAAAF,qBAAA,GAAtBA,qBAAA,CAAwBG,UAAU,qBAAlCH,qBAAA,CAAqC/B,EAAE,CAAC;IACtD,IAAIgC,KAAK,IAAI,CAACA,KAAK,CAAC,gBAAgB,CAAC,EAAE;MACrC,IAAI,CAACjD,uBAAuB,CAAC;QAC3BC,IAAI,EAAE,OAAO;QACbC,SAAS,EAAE,QAAQ;QACnBC,OAAO,EAAE,GACPyB,SAAS,IAAI,OAAO,6CACuB;QAC7CtB,MAAM,EAAE;MACV,CAAC,CAAC;MACF;IACF;IAEA,IAAI;MACF,MAAM;QAAE0B;MAAoB,CAAC,GAC3B,MAAMZ,oBAAoB,CAACgC,iBAAiB,CAAC;QAC3ClB,MAAM,EAAEb,UAAU;QAClBc,IAAI,EAAEb,UAAU;QAChBL;MACF,CAAC,CAAC;MAEJ,IAAIe,mBAAmB,EAAE;QACvBR,YAAY,CAACQ,mBAAmB,CAAC;MACnC;MAEA,IAAI,CAAChC,uBAAuB,CAAC;QAC3BC,IAAI,EAAE,SAAS;QACfC,SAAS,EAAE,QAAQ;QACnBC,OAAO,EAAEI,SAAS,CAACI,SAAS,CAC1B,0CAA0C,EAC1C;UAAE0B,aAAa,EAAET;QAAU,CAC7B;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOW,CAAC,EAAE;MACV,IAAI,CAACvC,uBAAuB,CAAC;QAC3BC,IAAI,EAAE,OAAO;QACbC,SAAS,EAAE,QAAQ;QACnBC,OAAO,EAAEI,SAAS,CAACI,SAAS,CAAC,uCAAuC,EAAE;UACpE0B,aAAa,EAAET;QACjB,CAAC,CAAC;QACFvB,YAAY,EAAEA,CAAA,KAAM,IAAI,CAAC0C,WAAW,CAAC;UAAE9B,EAAE;UAAEC,MAAM;UAAEC;QAAS,CAAC;MAC/D,CAAC,CAAC;IACJ;EACF;AACF;AAACkC,OAAA,CAAAxD,mCAAA,GAAAA,mCAAA","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
7
7
|
var _http = require("@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http");
|
|
8
8
|
var _updateDataExtensionSchemaErrors = require("./updateDataExtensionSchemaErrors");
|
|
9
9
|
var _createDataExtensionSchemaErrors = require("./createDataExtensionSchemaErrors");
|
|
10
|
+
var _deleteUserDefinedFieldsErrors = require("./deleteUserDefinedFieldsErrors");
|
|
10
11
|
// server types
|
|
11
12
|
|
|
12
13
|
// client types
|
|
@@ -204,6 +205,47 @@ class DataExtensionSchemaService {
|
|
|
204
205
|
};
|
|
205
206
|
return this._updateDataExtensionSchema(schema);
|
|
206
207
|
}
|
|
208
|
+
restoreCustomField(params) {
|
|
209
|
+
var _params$schema6, _params$schema7;
|
|
210
|
+
const {
|
|
211
|
+
userFieldsNamespace
|
|
212
|
+
} = this;
|
|
213
|
+
const {
|
|
214
|
+
id,
|
|
215
|
+
fqdn
|
|
216
|
+
} = params;
|
|
217
|
+
const schema = {
|
|
218
|
+
fqdn,
|
|
219
|
+
namespace: userFieldsNamespace,
|
|
220
|
+
...params.schema,
|
|
221
|
+
jsonSchema: {
|
|
222
|
+
properties: {
|
|
223
|
+
...((_params$schema6 = params.schema) == null || (_params$schema6 = _params$schema6.jsonSchema) == null ? void 0 : _params$schema6.properties),
|
|
224
|
+
[id]: {
|
|
225
|
+
...((_params$schema7 = params.schema) == null || (_params$schema7 = _params$schema7.jsonSchema) == null ? void 0 : _params$schema7.properties[id]),
|
|
226
|
+
'x-wix-archived': false
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
return this._updateDataExtensionSchema(schema);
|
|
232
|
+
}
|
|
233
|
+
deleteCustomField(params) {
|
|
234
|
+
var _params$schema8, _params$schema$jsonSc;
|
|
235
|
+
const {
|
|
236
|
+
id
|
|
237
|
+
} = params;
|
|
238
|
+
if (!((_params$schema8 = params.schema) != null && _params$schema8.id)) {
|
|
239
|
+
throw new Error('Schema ID is required to delete a custom field');
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// Check if the field is archived before attempting deletion
|
|
243
|
+
const field = (_params$schema$jsonSc = params.schema.jsonSchema) == null || (_params$schema$jsonSc = _params$schema$jsonSc.properties) == null ? void 0 : _params$schema$jsonSc[id];
|
|
244
|
+
if (field && !field['x-wix-archived']) {
|
|
245
|
+
throw new Error('Field must be archived before it can be deleted. Please archive the field first.');
|
|
246
|
+
}
|
|
247
|
+
return this._deleteUserDefinedFields(params.schema.id, [id]);
|
|
248
|
+
}
|
|
207
249
|
async fetchSchemas(fqdn) {
|
|
208
250
|
const {
|
|
209
251
|
httpClient,
|
|
@@ -238,6 +280,18 @@ class DataExtensionSchemaService {
|
|
|
238
280
|
translate: this.translate
|
|
239
281
|
})).then(res => res.data);
|
|
240
282
|
}
|
|
283
|
+
async _deleteUserDefinedFields(dataExtensionSchemaId, fieldsToDelete) {
|
|
284
|
+
const {
|
|
285
|
+
httpClient,
|
|
286
|
+
errorHandler
|
|
287
|
+
} = this;
|
|
288
|
+
return errorHandler.withErrorHandler(() => httpClient.request((0, _http.deleteUserDefinedFields)({
|
|
289
|
+
dataExtensionSchemaId,
|
|
290
|
+
fieldsToDelete
|
|
291
|
+
})), (0, _deleteUserDefinedFieldsErrors.deleteUserDefinedFieldsErrors)({
|
|
292
|
+
translate: this.translate
|
|
293
|
+
})).then(res => res.data);
|
|
294
|
+
}
|
|
241
295
|
}
|
|
242
296
|
exports.DataExtensionSchemaService = DataExtensionSchemaService;
|
|
243
297
|
//# sourceMappingURL=dataExtensionService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_http","require","_updateDataExtensionSchemaErrors","_createDataExtensionSchemaErrors","DataExtensionSchemaService","toSchemaType","type","format","maxLength","items","Error","toCustomType","field","hasOwnProperty","_field$items","toCustomField","schema","key","_schema$jsonSchema","property","jsonSchema","properties","title","id","constructor","params","_defineProperty2","default","httpClient","translate","errorHandler","addCustomField","_params$schema","_params$schema2","_params$schema3","userFieldsNamespace","form","name","readApps","readUsers","writeApps","writeUsers","containsPii","fqdn","permissions","read","write","filterable","namespace","enabled","_updateDataExtensionSchema","_createDataExtensionSchema","archiveCustomField","_params$schema4","_params$schema5","fetchSchemas","res","withErrorHandler","request","listDataExtensionSchemas","namespaces","fields","data","createDataExtensionSchema","dataExtensionSchema","createDataExtensionSchemaErrors","then","updateDataExtensionSchema","updateDataExtensionSchemaErrors","exports"],"sources":["../../../../src/services/DataExtensionService/dataExtensionService.ts"],"sourcesContent":["import type {\n DataExtensionSchema,\n RequestedField,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport {\n createDataExtensionSchema,\n listDataExtensionSchemas,\n updateDataExtensionSchema,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http';\nimport { CustomFieldForm, WixPatternsContainer } from '../../state';\nimport { PatternsErrorHandler, WixPatternsEssentials } from '../../model';\nimport { updateDataExtensionSchemaErrors } from './updateDataExtensionSchemaErrors';\nimport { createDataExtensionSchemaErrors } from './createDataExtensionSchemaErrors';\n\nexport interface DataExtensionSchemaServiceParams {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler: PatternsErrorHandler;\n}\n\n// server types\nexport type DataExtensionType =\n | 'string'\n | 'number'\n | 'integer'\n | 'boolean'\n | 'array'\n | 'object';\n\nexport type DataExtensionPermission =\n | 'apps'\n | 'owning-app'\n | 'users'\n | 'users-of-users';\n\ninterface DataExtensionFieldItems\n extends Partial<Omit<DataExtensionField, 'type' | 'maxLength'>> {\n type: Omit<DataExtensionType, 'array'>;\n maxLength: number;\n}\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | 'uri' | string;\n title?: string;\n maxLength?: number;\n enum?: string[];\n 'x-wix-archived'?: boolean;\n 'x-wix-filterable'?: boolean;\n 'x-wix-created-date': string;\n 'x-wix-object-type'?: string;\n 'x-wix-permissions': {\n read: DataExtensionPermission[];\n write: DataExtensionPermission[];\n };\n properties?: Record<string, any>;\n items?: DataExtensionFieldItems;\n 'x-wix-pii'?: { enabled: boolean };\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'url'\n | 'date'\n | 'dateTime'\n | 'integer'\n | 'decimal'\n | 'checkbox'\n | 'dropdown'\n | 'files'\n | 'multiSelect';\n\nexport type CustomFieldOrigin =\n | 'Custom columns panel'\n | 'Custom fields panel'\n | 'Custom fields widget'\n | 'external';\n\nexport interface ExtendedFieldsDataMap {\n [key: string]: any;\n}\n\nexport interface ExtendedFields {\n _type?: 'ExtendedFields';\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: {\n _user_fields?: ExtendedFieldsDataMap | undefined;\n [key: string]: ExtendedFieldsDataMap | undefined;\n };\n}\n\nexport type CustomFieldOwner = 'user' | 'app';\n\nexport interface CustomField {\n id: string;\n type: CustomFieldType;\n label?: string;\n maxLength?: number;\n options?: string[];\n editable: boolean;\n filterable?: boolean;\n owner: CustomFieldOwner;\n properties?: Record<string, string>;\n namespace: string;\n permissions?: {\n read?: DataExtensionPermission[];\n write?: DataExtensionPermission[];\n };\n}\n\nexport interface AddFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n form: CustomFieldForm;\n filterable?: boolean;\n}\n\nexport interface ArchiveFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n id: string;\n}\n\nexport class DataExtensionSchemaService {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler;\n\n readonly userFieldsNamespace = '_user_fields';\n\n static toSchemaType(type?: CustomFieldType) {\n switch (type) {\n case 'shortText':\n return {\n type: 'string',\n format: 'single-line',\n maxLength: 120,\n };\n case 'longText':\n return {\n type: 'string',\n maxLength: 200,\n };\n case 'url':\n return {\n type: 'string',\n format: 'uri',\n maxLength: 256,\n };\n case 'date':\n return {\n type: 'string',\n format: 'date',\n };\n case 'dateTime':\n return {\n type: 'string',\n format: 'date-time',\n };\n case 'integer':\n return {\n type: 'integer',\n };\n case 'decimal':\n return {\n type: 'number',\n };\n case 'checkbox':\n return {\n type: 'boolean',\n };\n case 'dropdown':\n return {\n type: 'array',\n items: {\n type: 'string',\n },\n };\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n static toCustomType(field: DataExtensionField): CustomFieldType | undefined {\n switch (field.type) {\n case 'string':\n if (field.hasOwnProperty('enum')) {\n return 'dropdown';\n }\n switch (field.format) {\n case 'date-time':\n return 'dateTime';\n case 'uri':\n return 'url';\n case 'date':\n return 'date';\n case 'single-line':\n return 'shortText';\n default:\n return 'longText';\n }\n case 'number':\n return 'decimal';\n case 'integer':\n return 'integer';\n case 'boolean':\n return 'checkbox';\n case 'array': {\n if (field.items?.['x-wix-object-type'] === 'FILE/V1') {\n return 'files';\n }\n return 'multiSelect';\n }\n case 'object': {\n if (field['x-wix-object-type'] === 'FILE/V1') {\n return 'files';\n }\n return 'dropdown';\n }\n default:\n return;\n }\n }\n\n static toCustomField(\n schema: DataExtensionSchema,\n key: string,\n ): DataExtensionField | undefined {\n const property: DataExtensionField = schema.jsonSchema?.properties?.[key];\n\n if (!property || typeof property !== 'object') {\n return;\n }\n\n if (\n typeof property.title !== 'string' ||\n typeof property.type !== 'string' ||\n typeof property['x-wix-permissions'] !== 'object'\n ) {\n return;\n }\n\n return { ...property, id: key };\n }\n\n constructor(params: DataExtensionSchemaServiceParams) {\n this.httpClient = params.httpClient;\n this.translate = params.translate;\n this.errorHandler = params.errorHandler;\n }\n addCustomField(params: AddFieldParams) {\n const { userFieldsNamespace } = this;\n const {\n form: {\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n fqdn,\n } = params;\n const type = DataExtensionSchemaService.toSchemaType(params.form.type);\n\n const permissions = {\n read: [\n 'users',\n ...(readUsers ? ['users-of-users'] : []),\n ...(readApps ? ['apps'] : []),\n ],\n write: [\n 'users',\n ...(writeUsers ? ['users-of-users'] : []),\n ...(writeApps ? ['apps'] : []),\n ],\n };\n\n const filterable = params.filterable ? { 'x-wix-filterable': true } : {};\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [key]: {\n ...params.schema?.jsonSchema?.properties[key],\n title: name,\n ...(containsPii ? { 'x-wix-pii': { enabled: true } } : {}),\n ...type,\n 'x-wix-permissions': permissions,\n ...filterable,\n },\n },\n },\n };\n\n return params.schema?.id\n ? this._updateDataExtensionSchema(schema)\n : this._createDataExtensionSchema(schema);\n }\n\n archiveCustomField(params: ArchiveFieldParams) {\n const { userFieldsNamespace } = this;\n const { id, fqdn } = params;\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [id]: {\n ...params.schema?.jsonSchema?.properties[id],\n 'x-wix-archived': true,\n },\n },\n },\n };\n return this._updateDataExtensionSchema(schema);\n }\n\n async fetchSchemas(fqdn: string) {\n const { httpClient, errorHandler } = this;\n\n const res = await errorHandler.withErrorHandler(\n () =>\n httpClient.request(\n listDataExtensionSchemas({\n fqdn,\n namespaces: [],\n fields: ['ARCHIVED' as RequestedField],\n }),\n ),\n {},\n );\n\n return res.data;\n }\n\n private async _createDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n createDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n createDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n )\n .then((res) => res.data);\n }\n\n private async _updateDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n updateDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n updateDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n )\n .then((res) => res.data);\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAOA,IAAAC,gCAAA,GAAAD,OAAA;AACA,IAAAE,gCAAA,GAAAF,OAAA;AAQA;;AAwCA;;AAqEO,MAAMG,0BAA0B,CAAC;EAOtC,OAAOC,YAAYA,CAACC,IAAsB,EAAE;IAC1C,QAAQA,IAAI;MACV,KAAK,WAAW;QACd,OAAO;UACLA,IAAI,EAAE,QAAQ;UACdC,MAAM,EAAE,aAAa;UACrBC,SAAS,EAAE;QACb,CAAC;MACH,KAAK,UAAU;QACb,OAAO;UACLF,IAAI,EAAE,QAAQ;UACdE,SAAS,EAAE;QACb,CAAC;MACH,KAAK,KAAK;QACR,OAAO;UACLF,IAAI,EAAE,QAAQ;UACdC,MAAM,EAAE,KAAK;UACbC,SAAS,EAAE;QACb,CAAC;MACH,KAAK,MAAM;QACT,OAAO;UACLF,IAAI,EAAE,QAAQ;UACdC,MAAM,EAAE;QACV,CAAC;MACH,KAAK,UAAU;QACb,OAAO;UACLD,IAAI,EAAE,QAAQ;UACdC,MAAM,EAAE;QACV,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLD,IAAI,EAAE;QACR,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE;QACR,CAAC;MACH,KAAK,UAAU;QACb,OAAO;UACLA,IAAI,EAAE;QACR,CAAC;MACH,KAAK,UAAU;QACb,OAAO;UACLA,IAAI,EAAE,OAAO;UACbG,KAAK,EAAE;YACLH,IAAI,EAAE;UACR;QACF,CAAC;MACH;QACE,MAAM,IAAII,KAAK,CAAC,oBAAoBJ,IAAI,EAAE,CAAC;IAC/C;EACF;EAEA,OAAOK,YAAYA,CAACC,KAAyB,EAA+B;IAC1E,QAAQA,KAAK,CAACN,IAAI;MAChB,KAAK,QAAQ;QACX,IAAIM,KAAK,CAACC,cAAc,CAAC,MAAM,CAAC,EAAE;UAChC,OAAO,UAAU;QACnB;QACA,QAAQD,KAAK,CAACL,MAAM;UAClB,KAAK,WAAW;YACd,OAAO,UAAU;UACnB,KAAK,KAAK;YACR,OAAO,KAAK;UACd,KAAK,MAAM;YACT,OAAO,MAAM;UACf,KAAK,aAAa;YAChB,OAAO,WAAW;UACpB;YACE,OAAO,UAAU;QACrB;MACF,KAAK,QAAQ;QACX,OAAO,SAAS;MAClB,KAAK,SAAS;QACZ,OAAO,SAAS;MAClB,KAAK,SAAS;QACZ,OAAO,UAAU;MACnB,KAAK,OAAO;QAAE;UAAA,IAAAO,YAAA;UACZ,IAAI,EAAAA,YAAA,GAAAF,KAAK,CAACH,KAAK,qBAAXK,YAAA,CAAc,mBAAmB,CAAC,MAAK,SAAS,EAAE;YACpD,OAAO,OAAO;UAChB;UACA,OAAO,aAAa;QACtB;MACA,KAAK,QAAQ;QAAE;UACb,IAAIF,KAAK,CAAC,mBAAmB,CAAC,KAAK,SAAS,EAAE;YAC5C,OAAO,OAAO;UAChB;UACA,OAAO,UAAU;QACnB;MACA;QACE;IACJ;EACF;EAEA,OAAOG,aAAaA,CAClBC,MAA2B,EAC3BC,GAAW,EACqB;IAAA,IAAAC,kBAAA;IAChC,MAAMC,QAA4B,IAAAD,kBAAA,GAAGF,MAAM,CAACI,UAAU,cAAAF,kBAAA,GAAjBA,kBAAA,CAAmBG,UAAU,qBAA7BH,kBAAA,CAAgCD,GAAG,CAAC;IAEzE,IAAI,CAACE,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC7C;IACF;IAEA,IACE,OAAOA,QAAQ,CAACG,KAAK,KAAK,QAAQ,IAClC,OAAOH,QAAQ,CAACb,IAAI,KAAK,QAAQ,IACjC,OAAOa,QAAQ,CAAC,mBAAmB,CAAC,KAAK,QAAQ,EACjD;MACA;IACF;IAEA,OAAO;MAAE,GAAGA,QAAQ;MAAEI,EAAE,EAAEN;IAAI,CAAC;EACjC;EAEAO,WAAWA,CAACC,MAAwC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BArHvB,cAAc;IAsH3C,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,YAAY,GAAGL,MAAM,CAACK,YAAY;EACzC;EACAC,cAAcA,CAACN,MAAsB,EAAE;IAAA,IAAAO,cAAA,EAAAC,eAAA,EAAAC,eAAA;IACrC,MAAM;MAAEC;IAAoB,CAAC,GAAG,IAAI;IACpC,MAAM;MACJC,IAAI,EAAE;QACJnB,GAAG;QACHoB,IAAI;QACJC,QAAQ;QACRC,SAAS;QACTC,SAAS;QACTC,UAAU;QACVC;MACF,CAAC;MACDC;IACF,CAAC,GAAGlB,MAAM;IACV,MAAMnB,IAAI,GAAGF,0BAA0B,CAACC,YAAY,CAACoB,MAAM,CAACW,IAAI,CAAC9B,IAAI,CAAC;IAEtE,MAAMsC,WAAW,GAAG;MAClBC,IAAI,EAAE,CACJ,OAAO,EACP,IAAIN,SAAS,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EACxC,IAAID,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAC9B;MACDQ,KAAK,EAAE,CACL,OAAO,EACP,IAAIL,UAAU,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EACzC,IAAID,SAAS,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAElC,CAAC;IAED,MAAMO,UAAU,GAAGtB,MAAM,CAACsB,UAAU,GAAG;MAAE,kBAAkB,EAAE;IAAK,CAAC,GAAG,CAAC,CAAC;IAExE,MAAM/B,MAA2B,GAAG;MAClC2B,IAAI;MACJK,SAAS,EAAEb,mBAAmB;MAC9B,GAAGV,MAAM,CAACT,MAAM;MAChBI,UAAU,EAAE;QACVC,UAAU,EAAE;UACV,KAAAW,cAAA,GAAGP,MAAM,CAACT,MAAM,cAAAgB,cAAA,GAAbA,cAAA,CAAeZ,UAAU,qBAAzBY,cAAA,CAA2BX,UAAU;UACxC,CAACJ,GAAG,GAAG;YACL,KAAAgB,eAAA,GAAGR,MAAM,CAACT,MAAM,cAAAiB,eAAA,GAAbA,eAAA,CAAeb,UAAU,qBAAzBa,eAAA,CAA2BZ,UAAU,CAACJ,GAAG,CAAC;YAC7CK,KAAK,EAAEe,IAAI;YACX,IAAIK,WAAW,GAAG;cAAE,WAAW,EAAE;gBAAEO,OAAO,EAAE;cAAK;YAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,GAAG3C,IAAI;YACP,mBAAmB,EAAEsC,WAAW;YAChC,GAAGG;UACL;QACF;MACF;IACF,CAAC;IAED,OAAO,CAAAb,eAAA,GAAAT,MAAM,CAACT,MAAM,aAAbkB,eAAA,CAAeX,EAAE,GACpB,IAAI,CAAC2B,0BAA0B,CAAClC,MAAM,CAAC,GACvC,IAAI,CAACmC,0BAA0B,CAACnC,MAAM,CAAC;EAC7C;EAEAoC,kBAAkBA,CAAC3B,MAA0B,EAAE;IAAA,IAAA4B,eAAA,EAAAC,eAAA;IAC7C,MAAM;MAAEnB;IAAoB,CAAC,GAAG,IAAI;IACpC,MAAM;MAAEZ,EAAE;MAAEoB;IAAK,CAAC,GAAGlB,MAAM;IAE3B,MAAMT,MAA2B,GAAG;MAClC2B,IAAI;MACJK,SAAS,EAAEb,mBAAmB;MAC9B,GAAGV,MAAM,CAACT,MAAM;MAChBI,UAAU,EAAE;QACVC,UAAU,EAAE;UACV,KAAAgC,eAAA,GAAG5B,MAAM,CAACT,MAAM,cAAAqC,eAAA,GAAbA,eAAA,CAAejC,UAAU,qBAAzBiC,eAAA,CAA2BhC,UAAU;UACxC,CAACE,EAAE,GAAG;YACJ,KAAA+B,eAAA,GAAG7B,MAAM,CAACT,MAAM,cAAAsC,eAAA,GAAbA,eAAA,CAAelC,UAAU,qBAAzBkC,eAAA,CAA2BjC,UAAU,CAACE,EAAE,CAAC;YAC5C,gBAAgB,EAAE;UACpB;QACF;MACF;IACF,CAAC;IACD,OAAO,IAAI,CAAC2B,0BAA0B,CAAClC,MAAM,CAAC;EAChD;EAEA,MAAMuC,YAAYA,CAACZ,IAAY,EAAE;IAC/B,MAAM;MAAEf,UAAU;MAAEE;IAAa,CAAC,GAAG,IAAI;IAEzC,MAAM0B,GAAG,GAAG,MAAM1B,YAAY,CAAC2B,gBAAgB,CAC7C,MACE7B,UAAU,CAAC8B,OAAO,CAChB,IAAAC,8BAAwB,EAAC;MACvBhB,IAAI;MACJiB,UAAU,EAAE,EAAE;MACdC,MAAM,EAAE,CAAC,UAAU;IACrB,CAAC,CACH,CAAC,EACH,CAAC,CACH,CAAC;IAED,OAAOL,GAAG,CAACM,IAAI;EACjB;EAEA,MAAcX,0BAA0BA,CAACnC,MAA2B,EAAE;IACpE,MAAM;MAAEY,UAAU;MAAEE;IAAa,CAAC,GAAG,IAAI;IAEzC,OAAOA,YAAY,CAChB2B,gBAAgB,CACf,MACE7B,UAAU,CAAC8B,OAAO,CAChB,IAAAK,+BAAyB,EAAC;MAAEC,mBAAmB,EAAEhD;IAAO,CAAC,CAC3D,CAAC,EACH,IAAAiD,gEAA+B,EAAC;MAC9BpC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CACH,CAAC,CACAqC,IAAI,CAAEV,GAAG,IAAKA,GAAG,CAACM,IAAI,CAAC;EAC5B;EAEA,MAAcZ,0BAA0BA,CAAClC,MAA2B,EAAE;IACpE,MAAM;MAAEY,UAAU;MAAEE;IAAa,CAAC,GAAG,IAAI;IACzC,OAAOA,YAAY,CAChB2B,gBAAgB,CACf,MACE7B,UAAU,CAAC8B,OAAO,CAChB,IAAAS,+BAAyB,EAAC;MAAEH,mBAAmB,EAAEhD;IAAO,CAAC,CAC3D,CAAC,EACH,IAAAoD,gEAA+B,EAAC;MAC9BvC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CACH,CAAC,CACAqC,IAAI,CAAEV,GAAG,IAAKA,GAAG,CAACM,IAAI,CAAC;EAC5B;AACF;AAACO,OAAA,CAAAjE,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_http","require","_updateDataExtensionSchemaErrors","_createDataExtensionSchemaErrors","_deleteUserDefinedFieldsErrors","DataExtensionSchemaService","toSchemaType","type","format","maxLength","items","Error","toCustomType","field","hasOwnProperty","_field$items","toCustomField","schema","key","_schema$jsonSchema","property","jsonSchema","properties","title","id","constructor","params","_defineProperty2","default","httpClient","translate","errorHandler","addCustomField","_params$schema","_params$schema2","_params$schema3","userFieldsNamespace","form","name","readApps","readUsers","writeApps","writeUsers","containsPii","fqdn","permissions","read","write","filterable","namespace","enabled","_updateDataExtensionSchema","_createDataExtensionSchema","archiveCustomField","_params$schema4","_params$schema5","restoreCustomField","_params$schema6","_params$schema7","deleteCustomField","_params$schema8","_params$schema$jsonSc","_deleteUserDefinedFields","fetchSchemas","res","withErrorHandler","request","listDataExtensionSchemas","namespaces","fields","data","createDataExtensionSchema","dataExtensionSchema","createDataExtensionSchemaErrors","then","updateDataExtensionSchema","updateDataExtensionSchemaErrors","dataExtensionSchemaId","fieldsToDelete","deleteUserDefinedFields","deleteUserDefinedFieldsErrors","exports"],"sources":["../../../../src/services/DataExtensionService/dataExtensionService.ts"],"sourcesContent":["import type {\n DataExtensionSchema,\n RequestedField,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport {\n createDataExtensionSchema,\n listDataExtensionSchemas,\n updateDataExtensionSchema,\n deleteUserDefinedFields,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http';\nimport { CustomFieldForm, WixPatternsContainer } from '../../state';\nimport { PatternsErrorHandler, WixPatternsEssentials } from '../../model';\nimport { updateDataExtensionSchemaErrors } from './updateDataExtensionSchemaErrors';\nimport { createDataExtensionSchemaErrors } from './createDataExtensionSchemaErrors';\nimport { deleteUserDefinedFieldsErrors } from './deleteUserDefinedFieldsErrors';\n\nexport interface DataExtensionSchemaServiceParams {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler: PatternsErrorHandler;\n}\n\n// server types\nexport type DataExtensionType =\n | 'string'\n | 'number'\n | 'integer'\n | 'boolean'\n | 'array'\n | 'object';\n\nexport type DataExtensionPermission =\n | 'apps'\n | 'owning-app'\n | 'users'\n | 'users-of-users';\n\ninterface DataExtensionFieldItems\n extends Partial<Omit<DataExtensionField, 'type' | 'maxLength'>> {\n type: Omit<DataExtensionType, 'array'>;\n maxLength: number;\n}\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | 'uri' | string;\n title?: string;\n maxLength?: number;\n enum?: string[];\n 'x-wix-archived'?: boolean;\n 'x-wix-filterable'?: boolean;\n 'x-wix-created-date': string;\n 'x-wix-object-type'?: string;\n 'x-wix-permissions': {\n read: DataExtensionPermission[];\n write: DataExtensionPermission[];\n };\n properties?: Record<string, any>;\n items?: DataExtensionFieldItems;\n 'x-wix-pii'?: { enabled: boolean };\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'url'\n | 'date'\n | 'dateTime'\n | 'integer'\n | 'decimal'\n | 'checkbox'\n | 'dropdown'\n | 'files'\n | 'multiSelect';\n\nexport type CustomFieldOrigin =\n | 'Custom columns panel'\n | 'Custom fields panel'\n | 'Custom fields widget'\n | 'external';\n\nexport interface ExtendedFieldsDataMap {\n [key: string]: any;\n}\n\nexport interface ExtendedFields {\n _type?: 'ExtendedFields';\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: {\n _user_fields?: ExtendedFieldsDataMap | undefined;\n [key: string]: ExtendedFieldsDataMap | undefined;\n };\n}\n\nexport type CustomFieldOwner = 'user' | 'app';\n\nexport interface CustomField {\n id: string;\n type: CustomFieldType;\n label?: string;\n maxLength?: number;\n options?: string[];\n editable: boolean;\n filterable?: boolean;\n owner: CustomFieldOwner;\n properties?: Record<string, string>;\n namespace: string;\n permissions?: {\n read?: DataExtensionPermission[];\n write?: DataExtensionPermission[];\n };\n}\n\nexport interface AddFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n form: CustomFieldForm;\n filterable?: boolean;\n}\n\nexport interface ArchiveFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n id: string;\n}\n\nexport class DataExtensionSchemaService {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler;\n\n readonly userFieldsNamespace = '_user_fields';\n\n static toSchemaType(type?: CustomFieldType) {\n switch (type) {\n case 'shortText':\n return {\n type: 'string',\n format: 'single-line',\n maxLength: 120,\n };\n case 'longText':\n return {\n type: 'string',\n maxLength: 200,\n };\n case 'url':\n return {\n type: 'string',\n format: 'uri',\n maxLength: 256,\n };\n case 'date':\n return {\n type: 'string',\n format: 'date',\n };\n case 'dateTime':\n return {\n type: 'string',\n format: 'date-time',\n };\n case 'integer':\n return {\n type: 'integer',\n };\n case 'decimal':\n return {\n type: 'number',\n };\n case 'checkbox':\n return {\n type: 'boolean',\n };\n case 'dropdown':\n return {\n type: 'array',\n items: {\n type: 'string',\n },\n };\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n static toCustomType(field: DataExtensionField): CustomFieldType | undefined {\n switch (field.type) {\n case 'string':\n if (field.hasOwnProperty('enum')) {\n return 'dropdown';\n }\n switch (field.format) {\n case 'date-time':\n return 'dateTime';\n case 'uri':\n return 'url';\n case 'date':\n return 'date';\n case 'single-line':\n return 'shortText';\n default:\n return 'longText';\n }\n case 'number':\n return 'decimal';\n case 'integer':\n return 'integer';\n case 'boolean':\n return 'checkbox';\n case 'array': {\n if (field.items?.['x-wix-object-type'] === 'FILE/V1') {\n return 'files';\n }\n return 'multiSelect';\n }\n case 'object': {\n if (field['x-wix-object-type'] === 'FILE/V1') {\n return 'files';\n }\n return 'dropdown';\n }\n default:\n return;\n }\n }\n\n static toCustomField(\n schema: DataExtensionSchema,\n key: string,\n ): DataExtensionField | undefined {\n const property: DataExtensionField = schema.jsonSchema?.properties?.[key];\n\n if (!property || typeof property !== 'object') {\n return;\n }\n\n if (\n typeof property.title !== 'string' ||\n typeof property.type !== 'string' ||\n typeof property['x-wix-permissions'] !== 'object'\n ) {\n return;\n }\n\n return { ...property, id: key };\n }\n\n constructor(params: DataExtensionSchemaServiceParams) {\n this.httpClient = params.httpClient;\n this.translate = params.translate;\n this.errorHandler = params.errorHandler;\n }\n addCustomField(params: AddFieldParams) {\n const { userFieldsNamespace } = this;\n const {\n form: {\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n fqdn,\n } = params;\n const type = DataExtensionSchemaService.toSchemaType(params.form.type);\n\n const permissions = {\n read: [\n 'users',\n ...(readUsers ? ['users-of-users'] : []),\n ...(readApps ? ['apps'] : []),\n ],\n write: [\n 'users',\n ...(writeUsers ? ['users-of-users'] : []),\n ...(writeApps ? ['apps'] : []),\n ],\n };\n\n const filterable = params.filterable ? { 'x-wix-filterable': true } : {};\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [key]: {\n ...params.schema?.jsonSchema?.properties[key],\n title: name,\n ...(containsPii ? { 'x-wix-pii': { enabled: true } } : {}),\n ...type,\n 'x-wix-permissions': permissions,\n ...filterable,\n },\n },\n },\n };\n\n return params.schema?.id\n ? this._updateDataExtensionSchema(schema)\n : this._createDataExtensionSchema(schema);\n }\n\n archiveCustomField(params: ArchiveFieldParams) {\n const { userFieldsNamespace } = this;\n const { id, fqdn } = params;\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [id]: {\n ...params.schema?.jsonSchema?.properties[id],\n 'x-wix-archived': true,\n },\n },\n },\n };\n return this._updateDataExtensionSchema(schema);\n }\n\n restoreCustomField(params: ArchiveFieldParams) {\n const { userFieldsNamespace } = this;\n const { id, fqdn } = params;\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [id]: {\n ...params.schema?.jsonSchema?.properties[id],\n 'x-wix-archived': false,\n },\n },\n },\n };\n return this._updateDataExtensionSchema(schema);\n }\n\n deleteCustomField(params: ArchiveFieldParams) {\n const { id } = params;\n\n if (!params.schema?.id) {\n throw new Error('Schema ID is required to delete a custom field');\n }\n\n // Check if the field is archived before attempting deletion\n const field = params.schema.jsonSchema?.properties?.[id];\n if (field && !field['x-wix-archived']) {\n throw new Error(\n 'Field must be archived before it can be deleted. Please archive the field first.',\n );\n }\n\n return this._deleteUserDefinedFields(params.schema.id, [id]);\n }\n\n async fetchSchemas(fqdn: string) {\n const { httpClient, errorHandler } = this;\n\n const res = await errorHandler.withErrorHandler(\n () =>\n httpClient.request(\n listDataExtensionSchemas({\n fqdn,\n namespaces: [],\n fields: ['ARCHIVED' as RequestedField],\n }),\n ),\n {},\n );\n\n return res.data;\n }\n\n private async _createDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n createDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n createDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n )\n .then((res) => res.data);\n }\n\n private async _updateDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n updateDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n updateDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n )\n .then((res) => res.data);\n }\n\n private async _deleteUserDefinedFields(\n dataExtensionSchemaId: string,\n fieldsToDelete: string[],\n ) {\n const { httpClient, errorHandler } = this;\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n deleteUserDefinedFields({\n dataExtensionSchemaId,\n fieldsToDelete,\n }),\n ),\n deleteUserDefinedFieldsErrors({\n translate: this.translate,\n }),\n )\n .then((res) => res.data);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.deleteUserDefinedFieldsErrors = void 0;
|
|
5
|
+
const deleteUserDefinedFieldsErrors = ({
|
|
6
|
+
translate: t
|
|
7
|
+
}) => {
|
|
8
|
+
return {
|
|
9
|
+
INVALID_NAMESPACE: () => ({
|
|
10
|
+
message: t('cairo.customFields.updateDataExtension.invalid-namespace.error'),
|
|
11
|
+
action: {
|
|
12
|
+
text: t('cairo.error.contactSupport.cta'),
|
|
13
|
+
onClick: () => {}
|
|
14
|
+
}
|
|
15
|
+
}),
|
|
16
|
+
FQDN_NOT_FOUND: () => ({
|
|
17
|
+
message: t('cairo.customFields.updateDataExtension.fqdn-not-found.error'),
|
|
18
|
+
action: {
|
|
19
|
+
text: t('cairo.error.contactSupport.cta'),
|
|
20
|
+
onClick: () => {}
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
REMOVING_FIELDS_IS_DISALLOWED: () => ({
|
|
24
|
+
message: t('cairo.customFields.updateDataExtension.removing-fields-not-allowed.error'),
|
|
25
|
+
action: {
|
|
26
|
+
text: t('cairo.error.contactSupport.cta'),
|
|
27
|
+
onClick: () => {}
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
exports.deleteUserDefinedFieldsErrors = deleteUserDefinedFieldsErrors;
|
|
33
|
+
//# sourceMappingURL=deleteUserDefinedFieldsErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["deleteUserDefinedFieldsErrors","translate","t","INVALID_NAMESPACE","message","action","text","onClick","FQDN_NOT_FOUND","REMOVING_FIELDS_IS_DISALLOWED","exports"],"sources":["../../../../src/services/DataExtensionService/deleteUserDefinedFieldsErrors.ts"],"sourcesContent":["import { Translate } from '../translations';\nimport type { errorHandler } from '@wix/essentials';\nimport type { deleteUserDefinedFields } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http';\n\nexport const deleteUserDefinedFieldsErrors = ({\n translate: t,\n}: {\n translate: Translate;\n}): errorHandler.ErrorCodesMap<typeof deleteUserDefinedFields> => {\n return {\n INVALID_NAMESPACE: () => ({\n message: t(\n 'cairo.customFields.updateDataExtension.invalid-namespace.error',\n ),\n action: {\n text: t('cairo.error.contactSupport.cta'),\n onClick: () => {},\n },\n }),\n FQDN_NOT_FOUND: () => ({\n message: t('cairo.customFields.updateDataExtension.fqdn-not-found.error'),\n action: {\n text: t('cairo.error.contactSupport.cta'),\n onClick: () => {},\n },\n }),\n REMOVING_FIELDS_IS_DISALLOWED: () => ({\n message: t(\n 'cairo.customFields.updateDataExtension.removing-fields-not-allowed.error',\n ),\n action: {\n text: t('cairo.error.contactSupport.cta'),\n onClick: () => {},\n },\n }),\n };\n};\n"],"mappings":";;;;AAIO,MAAMA,6BAA6B,GAAGA,CAAC;EAC5CC,SAAS,EAAEC;AAGb,CAAC,KAAiE;EAChE,OAAO;IACLC,iBAAiB,EAAEA,CAAA,MAAO;MACxBC,OAAO,EAAEF,CAAC,CACR,gEACF,CAAC;MACDG,MAAM,EAAE;QACNC,IAAI,EAAEJ,CAAC,CAAC,gCAAgC,CAAC;QACzCK,OAAO,EAAEA,CAAA,KAAM,CAAC;MAClB;IACF,CAAC,CAAC;IACFC,cAAc,EAAEA,CAAA,MAAO;MACrBJ,OAAO,EAAEF,CAAC,CAAC,6DAA6D,CAAC;MACzEG,MAAM,EAAE;QACNC,IAAI,EAAEJ,CAAC,CAAC,gCAAgC,CAAC;QACzCK,OAAO,EAAEA,CAAA,KAAM,CAAC;MAClB;IACF,CAAC,CAAC;IACFE,6BAA6B,EAAEA,CAAA,MAAO;MACpCL,OAAO,EAAEF,CAAC,CACR,0EACF,CAAC;MACDG,MAAM,EAAE;QACNC,IAAI,EAAEJ,CAAC,CAAC,gCAAgC,CAAC;QACzCK,OAAO,EAAEA,CAAA,KAAM,CAAC;MAClB;IACF,CAAC;EACH,CAAC;AACH,CAAC;AAACG,OAAA,CAAAV,6BAAA,GAAAA,6BAAA","ignoreList":[]}
|