@wix/bex-core 2.169.0 → 2.170.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.
@@ -10,7 +10,7 @@ var _mobx = require("mobx");
10
10
  var _DataExtensionStateBIReporter = require("./DataExtensionStateBIReporter");
11
11
  var _util = require("../util");
12
12
  var _DataExtensionField = require("./DataExtension/DataExtensionField");
13
- const MAX_CUSTOM_FIELDS = exports.MAX_CUSTOM_FIELDS = 25;
13
+ const MAX_CUSTOM_FIELDS = exports.MAX_CUSTOM_FIELDS = 50;
14
14
  class DataExtensionState {
15
15
  get fqdnString() {
16
16
  return (0, _util.fqdnToString)(this.fqdn);
@@ -1 +1 @@
1
- {"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","MAX_CUSTOM_FIELDS","exports","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","disableUserDefinedWriting","filterable","closeSidePanel","_extensionPoint","extensionPoint","dataExtensionService","DataExtensionSchemaService","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","_dataExtensionSchemasBase","observable","ref","_dataExtensionSchemas","userSchema","appSchemas","_upsertSchema","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","reportBi","biReporter","DataExtensionStateBIReporter","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","_customField$xWixPi","customField","toCustomField","title","read","write","isPiiField","enabled","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","properties","isSupportedFieldType","getAvailableCustomFieldsInSchema","requiredPermissions","filteredFields","Object","keys","filter","field","isAllowedType","isPermitted","includesAllReadPermissions","sorted","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","getSchemaAndFieldsByNamespace","_schema$jsonSchema","userFieldsNamespace","find","s","fields","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","newSchema","index","findIndex","dataExtensionSchemas","runInAction"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOwner,\n CustomFieldType,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { CustomFieldForm } from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n fqdn: Fqdn;\n}\nexport interface DefaultPermissionsConfig {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n containsPii?: boolean;\n filterable?: boolean;\n extensionPoint?: string;\n defaultPermissions?: DefaultPermissionsConfig;\n}\n\nexport const MAX_CUSTOM_FIELDS = 25;\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly fqdn;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n _dataExtensionSchemasBase: DataExtensionSchema[] = [];\n containsPii?: boolean;\n defaultPermissions?: DefaultPermissionsConfig;\n readonly disableUserDefinedWriting;\n readonly filterable;\n\n _extensionPoint;\n\n constructor(\n params: Readonly<DataExtensionStateParams & DataExtensionOverrides>,\n ) {\n this.container = params.container;\n this.disableUserDefinedWriting = params.disableUserDefinedWriting;\n this.filterable = params.filterable;\n this.closeSidePanel = params.closeSidePanel;\n this.fqdn = params.fqdn;\n this._extensionPoint = params.extensionPoint;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.containsPii = params.containsPii;\n this.defaultPermissions = params.defaultPermissions;\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n filterableCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n _dataExtensionSchemasBase: observable.ref,\n _dataExtensionSchemas: computed,\n userSchema: computed,\n appSchemas: computed,\n _upsertSchema: action,\n containsPii: observable,\n defaultPermissions: observable,\n });\n }\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({\n id,\n origin,\n reportBi,\n }: {\n id?: string;\n origin: string;\n reportBi: ReportBI;\n }) {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi,\n });\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n this._upsertSchema(dataExtensionSchema);\n }\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin, reportBi });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const isPiiField = customField['x-wix-pii']?.enabled;\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii: Boolean(isPiiField),\n };\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n namespace,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n namespace: string;\n }): CustomField | undefined {\n if (!DataExtensionSchemaService.toCustomType(schema)) {\n return;\n }\n return {\n id: key,\n label: schema?.title || key,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema) as CustomFieldType,\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\n properties: schema?.properties ?? {},\n namespace,\n permissions: schema['x-wix-permissions'],\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n namespace,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n namespace: string;\n },\n ): CustomField[] {\n const filteredFields = Object.keys(properties).filter((key) => {\n const field = properties[key];\n const isAllowedType =\n this.isSupportedFieldType(field.type) ||\n (field.type === 'object' && field['x-wix-object-type'] === 'FILE/V1');\n\n const isPermitted =\n requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions);\n\n return !field['x-wix-archived'] && isAllowedType && isPermitted;\n });\n\n const sorted = filteredFields.sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n });\n\n return sorted\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n getSchemaAndFieldsByNamespace(namespace: string) {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n\n const schema = _dataExtensionSchemas.find((s) => s.namespace === namespace);\n\n if (!schema) {\n return {};\n }\n\n const fields = this.getAvailableCustomFieldsInSchema(\n schema.jsonSchema?.properties || {},\n {\n editable: false,\n owner: namespace === userFieldsNamespace ? 'user' : 'app',\n namespace,\n },\n );\n\n return {\n schema,\n fields,\n };\n }\n\n getAvailableCustomFieldsForApp(\n appSchema: DataExtensionSchema,\n ): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n appSchema.jsonSchema?.properties || {};\n\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n namespace: appSchema.namespace as string,\n });\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, appSchema) => {\n const properties: { [key: string]: DataExtensionField } =\n appSchema?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n namespace: appSchema.namespace as string,\n }),\n )\n .filter(Boolean) as CustomField[],\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get filterableCustomFields(): CustomField[] {\n if (!this.filterable) {\n return [];\n }\n\n return this.availableCustomFields.filter((field) => field.filterable);\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= MAX_CUSTOM_FIELDS;\n }\n\n get allNamespaces() {\n return [\n this.userSchema?.namespace,\n ...(this.appSchemas || []).map((schema) => schema.namespace),\n ].filter(Boolean) as string[];\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n\n return () => {};\n }\n\n _upsertSchema(newSchema: DataExtensionSchema) {\n const { _dataExtensionSchemasBase } = this;\n\n const index = _dataExtensionSchemasBase.findIndex(\n (schema) => schema.namespace === newSchema?.namespace,\n );\n\n if (index === -1) {\n this._dataExtensionSchemasBase = [\n ..._dataExtensionSchemasBase,\n newSchema,\n ];\n } else {\n this._dataExtensionSchemasBase = _dataExtensionSchemasBase.map((schema) =>\n schema.namespace === newSchema.namespace ? newSchema : schema,\n );\n }\n }\n\n get userSchema() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.find(\n (s) => s.namespace === userFieldsNamespace,\n );\n }\n\n get _dataExtensionSchemas() {\n const { _extensionPoint, _dataExtensionSchemasBase } = this;\n return _dataExtensionSchemasBase.filter((s: DataExtensionSchema) =>\n _extensionPoint\n ? s.extensionPoint === _extensionPoint\n : s.extensionPoint == null || s.extensionPoint === 'ROOT',\n );\n }\n\n get appSchemas() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.filter(\n (s) => s.namespace !== userFieldsNamespace,\n );\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n this._dataExtensionSchemasBase = dataExtensionSchemas ?? [];\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","MAX_CUSTOM_FIELDS","exports","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","disableUserDefinedWriting","filterable","closeSidePanel","_extensionPoint","extensionPoint","dataExtensionService","DataExtensionSchemaService","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","_dataExtensionSchemasBase","observable","ref","_dataExtensionSchemas","userSchema","appSchemas","_upsertSchema","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","reportBi","biReporter","DataExtensionStateBIReporter","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","_customField$xWixPi","customField","toCustomField","title","read","write","isPiiField","enabled","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","properties","isSupportedFieldType","getAvailableCustomFieldsInSchema","requiredPermissions","filteredFields","Object","keys","filter","field","isAllowedType","isPermitted","includesAllReadPermissions","sorted","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","getSchemaAndFieldsByNamespace","_schema$jsonSchema","userFieldsNamespace","find","s","fields","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","newSchema","index","findIndex","dataExtensionSchemas","runInAction"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOwner,\n CustomFieldType,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { CustomFieldForm } from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n fqdn: Fqdn;\n}\nexport interface DefaultPermissionsConfig {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n containsPii?: boolean;\n filterable?: boolean;\n extensionPoint?: string;\n defaultPermissions?: DefaultPermissionsConfig;\n}\n\nexport const MAX_CUSTOM_FIELDS = 50;\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly fqdn;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n _dataExtensionSchemasBase: DataExtensionSchema[] = [];\n containsPii?: boolean;\n defaultPermissions?: DefaultPermissionsConfig;\n readonly disableUserDefinedWriting;\n readonly filterable;\n\n _extensionPoint;\n\n constructor(\n params: Readonly<DataExtensionStateParams & DataExtensionOverrides>,\n ) {\n this.container = params.container;\n this.disableUserDefinedWriting = params.disableUserDefinedWriting;\n this.filterable = params.filterable;\n this.closeSidePanel = params.closeSidePanel;\n this.fqdn = params.fqdn;\n this._extensionPoint = params.extensionPoint;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.containsPii = params.containsPii;\n this.defaultPermissions = params.defaultPermissions;\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n filterableCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n _dataExtensionSchemasBase: observable.ref,\n _dataExtensionSchemas: computed,\n userSchema: computed,\n appSchemas: computed,\n _upsertSchema: action,\n containsPii: observable,\n defaultPermissions: observable,\n });\n }\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({\n id,\n origin,\n reportBi,\n }: {\n id?: string;\n origin: string;\n reportBi: ReportBI;\n }) {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi,\n });\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n this._upsertSchema(dataExtensionSchema);\n }\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin, reportBi });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const isPiiField = customField['x-wix-pii']?.enabled;\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii: Boolean(isPiiField),\n };\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n namespace,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n namespace: string;\n }): CustomField | undefined {\n if (!DataExtensionSchemaService.toCustomType(schema)) {\n return;\n }\n return {\n id: key,\n label: schema?.title || key,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema) as CustomFieldType,\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\n properties: schema?.properties ?? {},\n namespace,\n permissions: schema['x-wix-permissions'],\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n namespace,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n namespace: string;\n },\n ): CustomField[] {\n const filteredFields = Object.keys(properties).filter((key) => {\n const field = properties[key];\n const isAllowedType =\n this.isSupportedFieldType(field.type) ||\n (field.type === 'object' && field['x-wix-object-type'] === 'FILE/V1');\n\n const isPermitted =\n requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions);\n\n return !field['x-wix-archived'] && isAllowedType && isPermitted;\n });\n\n const sorted = filteredFields.sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n });\n\n return sorted\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n getSchemaAndFieldsByNamespace(namespace: string) {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n\n const schema = _dataExtensionSchemas.find((s) => s.namespace === namespace);\n\n if (!schema) {\n return {};\n }\n\n const fields = this.getAvailableCustomFieldsInSchema(\n schema.jsonSchema?.properties || {},\n {\n editable: false,\n owner: namespace === userFieldsNamespace ? 'user' : 'app',\n namespace,\n },\n );\n\n return {\n schema,\n fields,\n };\n }\n\n getAvailableCustomFieldsForApp(\n appSchema: DataExtensionSchema,\n ): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n appSchema.jsonSchema?.properties || {};\n\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n namespace: appSchema.namespace as string,\n });\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, appSchema) => {\n const properties: { [key: string]: DataExtensionField } =\n appSchema?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n namespace: appSchema.namespace as string,\n }),\n )\n .filter(Boolean) as CustomField[],\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get filterableCustomFields(): CustomField[] {\n if (!this.filterable) {\n return [];\n }\n\n return this.availableCustomFields.filter((field) => field.filterable);\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= MAX_CUSTOM_FIELDS;\n }\n\n get allNamespaces() {\n return [\n this.userSchema?.namespace,\n ...(this.appSchemas || []).map((schema) => schema.namespace),\n ].filter(Boolean) as string[];\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n\n return () => {};\n }\n\n _upsertSchema(newSchema: DataExtensionSchema) {\n const { _dataExtensionSchemasBase } = this;\n\n const index = _dataExtensionSchemasBase.findIndex(\n (schema) => schema.namespace === newSchema?.namespace,\n );\n\n if (index === -1) {\n this._dataExtensionSchemasBase = [\n ..._dataExtensionSchemasBase,\n newSchema,\n ];\n } else {\n this._dataExtensionSchemasBase = _dataExtensionSchemasBase.map((schema) =>\n schema.namespace === newSchema.namespace ? newSchema : schema,\n );\n }\n }\n\n get userSchema() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.find(\n (s) => s.namespace === userFieldsNamespace,\n );\n }\n\n get _dataExtensionSchemas() {\n const { _extensionPoint, _dataExtensionSchemasBase } = this;\n return _dataExtensionSchemasBase.filter((s: DataExtensionSchema) =>\n _extensionPoint\n ? s.extensionPoint === _extensionPoint\n : s.extensionPoint == null || s.extensionPoint === 'ROOT',\n );\n }\n\n get appSchemas() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.filter(\n (s) => s.namespace !== userFieldsNamespace,\n );\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n this._dataExtensionSchemasBase = dataExtensionSchemas ?? [];\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { action, computed, makeObservable, observable, runInAction, } from 'mobx
4
4
  import { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';
5
5
  import { fqdnToString } from '../util';
6
6
  import { includesAllReadPermissions } from './DataExtension/DataExtensionField';
7
- export const MAX_CUSTOM_FIELDS = 25;
7
+ export const MAX_CUSTOM_FIELDS = 50;
8
8
  export class DataExtensionState {
9
9
  get fqdnString() {
10
10
  return fqdnToString(this.fqdn);
@@ -28,7 +28,7 @@ export interface DataExtensionOverrides {
28
28
  extensionPoint?: string;
29
29
  defaultPermissions?: DefaultPermissionsConfig;
30
30
  }
31
- export declare const MAX_CUSTOM_FIELDS = 25;
31
+ export declare const MAX_CUSTOM_FIELDS = 50;
32
32
  export declare class DataExtensionState {
33
33
  readonly dataExtensionService: DataExtensionSchemaService;
34
34
  readonly initTask: TaskState<unknown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/bex-core",
3
- "version": "2.169.0",
3
+ "version": "2.170.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Kobi",
@@ -161,5 +161,5 @@
161
161
  "wallaby": {
162
162
  "autoDetect": true
163
163
  },
164
- "falconPackageHash": "0c72caf47723116eeb2696f691d4b913eef4ae824030bb7201dcd8aa"
164
+ "falconPackageHash": "e06df77cb14d9bf2d15908afad537bbda869ea2058bf5b996154efaa"
165
165
  }