@wix/bex-core 1.445.0 → 1.446.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/dataExtensionService.js.map +1 -1
- package/dist/cjs/state/DataExtension/DataExtensionField.js +8 -0
- package/dist/cjs/state/DataExtension/DataExtensionField.js.map +1 -0
- package/dist/cjs/state/DataExtensionState.js +42 -9
- package/dist/cjs/state/DataExtensionState.js.map +1 -1
- package/dist/esm/services/dataExtensionService.js +1 -1
- package/dist/esm/services/dataExtensionService.js.map +1 -1
- package/dist/esm/state/DataExtension/DataExtensionField.js +4 -0
- package/dist/esm/state/DataExtension/DataExtensionField.js.map +1 -0
- package/dist/esm/state/DataExtensionState.js +30 -8
- package/dist/esm/state/DataExtensionState.js.map +1 -1
- package/dist/types/services/dataExtensionService.d.ts +5 -2
- package/dist/types/services/dataExtensionService.d.ts.map +1 -1
- package/dist/types/state/DataExtension/DataExtensionField.d.ts +3 -0
- package/dist/types/state/DataExtension/DataExtensionField.d.ts.map +1 -0
- package/dist/types/state/DataExtensionState.d.ts +6 -8
- package/dist/types/state/DataExtensionState.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_http","DataExtensionSchemaService","toSchemaType","type","format","maxLength","items","Error","toCustomType","field","hasOwnProperty","toCustomField","schema","key","_schema$jsonSchema","property","jsonSchema","properties","title","id","constructor","params","_defineProperty2","default","httpClient","addCustomField","_params$schema","_params$schema2","_params$schema3","userFieldsNamespace","form","name","readApps","readUsers","writeApps","writeUsers","fqdn","permissions","read","write","namespace","request","updateDataExtensionSchema","dataExtensionSchema","createDataExtensionSchema","then","res","data","archiveCustomField","_params$schema4","_params$schema5","fetchSchemas","listDataExtensionSchemas","namespaces","fields","RequestedField","ARCHIVED","exports"],"sources":["../../../src/services/dataExtensionService.ts"],"sourcesContent":["import {\n DataExtensionSchema,\n RequestedField,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport {\n createDataExtensionSchema,\n updateDataExtensionSchema,\n listDataExtensionSchemas,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http';\nimport { CustomFieldForm } from '../state';\nimport { WixPatternsEssentials } from '../model';\n\nexport interface DataExtensionSchemaServiceParams {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n}\n\n// server types\nexport type DataExtensionType =\n | 'string'\n | 'number'\n | 'integer'\n | 'boolean'\n | 'array';\n\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | string;\n title?: string;\n maxLength?: number;\n enum?: string[];\n 'x-wix-archived'?: boolean;\n 'x-wix-created-date': string;\n 'x-wix-permissions': {\n read: string[];\n write: string[];\n };\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'date'\n | 'dateTime'\n | 'integer'\n | 'decimal'\n | 'checkbox'\n | 'dropdown';\n\nexport type CustomFieldOrigin =\n | 'Custom columns panel'\n | 'Custom fields panel'\n | 'Custom fields widget'\n | 'external';\n\nexport interface ExtendedFields {\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: {\n _user_fields?: Record<string, any>;\n };\n}\n\nexport interface CustomField {\n id: string;\n type: CustomFieldType;\n label?: string;\n maxLength?: number;\n options?: string[];\n editable: boolean;\n}\n\nexport interface AddFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n form: CustomFieldForm;\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\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 '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 {\n switch (field.type) {\n case 'string':\n if (field.hasOwnProperty('enum')) {\n return 'dropdown';\n }\n\n switch (field.format) {\n case 'date-time':\n return 'dateTime';\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 return 'dropdown';\n default:\n return 'shortText';\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 }\n\n addCustomField(params: AddFieldParams) {\n const { httpClient, userFieldsNamespace } = this;\n const {\n form: { key, name, readApps, readUsers, writeApps, writeUsers },\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 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 ...type,\n 'x-wix-permissions': permissions,\n },\n },\n },\n };\n\n const request = params.schema?.id\n ? updateDataExtensionSchema({ dataExtensionSchema: schema })\n : createDataExtensionSchema({ dataExtensionSchema: schema });\n\n return httpClient.request(request).then((res) => res.data);\n }\n\n archiveCustomField(params: ArchiveFieldParams) {\n const { httpClient, 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\n return httpClient\n .request(updateDataExtensionSchema({ dataExtensionSchema: schema }))\n .then((res) => res.data);\n }\n\n fetchSchemas(fqdn: string) {\n const { httpClient } = this;\n\n return httpClient\n .request(\n listDataExtensionSchemas({\n fqdn,\n namespaces: [],\n fields: [RequestedField.ARCHIVED],\n }),\n )\n .then((res) => res.data);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_types","require","_http","DataExtensionSchemaService","toSchemaType","type","format","maxLength","items","Error","toCustomType","field","hasOwnProperty","toCustomField","schema","key","_schema$jsonSchema","property","jsonSchema","properties","title","id","constructor","params","_defineProperty2","default","httpClient","addCustomField","_params$schema","_params$schema2","_params$schema3","userFieldsNamespace","form","name","readApps","readUsers","writeApps","writeUsers","fqdn","permissions","read","write","namespace","request","updateDataExtensionSchema","dataExtensionSchema","createDataExtensionSchema","then","res","data","archiveCustomField","_params$schema4","_params$schema5","fetchSchemas","listDataExtensionSchemas","namespaces","fields","RequestedField","ARCHIVED","exports"],"sources":["../../../src/services/dataExtensionService.ts"],"sourcesContent":["import {\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 } from '../state';\nimport { WixPatternsEssentials } from '../model';\n\nexport interface DataExtensionSchemaServiceParams {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n}\n\n// server types\nexport type DataExtensionType =\n | 'string'\n | 'number'\n | 'integer'\n | 'boolean'\n | 'array';\n\nexport type DataExtensionPermission =\n | 'apps'\n | 'owning-app'\n | 'users'\n | 'users-of-users';\n\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | string;\n title?: string;\n maxLength?: number;\n enum?: string[];\n 'x-wix-archived'?: boolean;\n 'x-wix-created-date': string;\n 'x-wix-permissions': {\n read: DataExtensionPermission[];\n write: DataExtensionPermission[];\n };\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'date'\n | 'dateTime'\n | 'integer'\n | 'decimal'\n | 'checkbox'\n | 'dropdown';\n\nexport type CustomFieldOrigin =\n | 'Custom columns panel'\n | 'Custom fields panel'\n | 'Custom fields widget'\n | 'external';\n\nexport interface ExtendedFields {\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: {\n _user_fields?: Record<string, any>;\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 owner: CustomFieldOwner;\n}\n\nexport interface AddFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n form: CustomFieldForm;\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\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 '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 {\n switch (field.type) {\n case 'string':\n if (field.hasOwnProperty('enum')) {\n return 'dropdown';\n }\n\n switch (field.format) {\n case 'date-time':\n return 'dateTime';\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 return 'dropdown';\n default:\n return 'shortText';\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 }\n\n addCustomField(params: AddFieldParams) {\n const { httpClient, userFieldsNamespace } = this;\n const {\n form: { key, name, readApps, readUsers, writeApps, writeUsers },\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 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 ...type,\n 'x-wix-permissions': permissions,\n },\n },\n },\n };\n\n const request = params.schema?.id\n ? updateDataExtensionSchema({ dataExtensionSchema: schema })\n : createDataExtensionSchema({ dataExtensionSchema: schema });\n\n return httpClient.request(request).then((res) => res.data);\n }\n\n archiveCustomField(params: ArchiveFieldParams) {\n const { httpClient, 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\n return httpClient\n .request(updateDataExtensionSchema({ dataExtensionSchema: schema }))\n .then((res) => res.data);\n }\n\n fetchSchemas(fqdn: string) {\n const { httpClient } = this;\n\n return httpClient\n .request(\n listDataExtensionSchemas({\n fqdn,\n namespaces: [],\n fields: [RequestedField.ARCHIVED],\n }),\n )\n .then((res) => res.data);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAYA;;AA6BA;;AAoDO,MAAME,0BAA0B,CAAC;EAKtC,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,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,CAAE,oBAAmBJ,IAAK,EAAC,CAAC;IAC/C;EACF;EAEA,OAAOK,YAAYA,CAACC,KAAyB,EAAmB;IAC9D,QAAQA,KAAK,CAACN,IAAI;MAChB,KAAK,QAAQ;QACX,IAAIM,KAAK,CAACC,cAAc,CAAC,MAAM,CAAC,EAAE;UAChC,OAAO,UAAU;QACnB;QAEA,QAAQD,KAAK,CAACL,MAAM;UAClB,KAAK,WAAW;YACd,OAAO,UAAU;UACnB,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;QACV,OAAO,UAAU;MACnB;QACE,OAAO,WAAW;IACtB;EACF;EAEA,OAAOO,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,CAACZ,IAAI,KAAK,QAAQ,IACjC,OAAOY,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,+BApGvB,cAAc;IAqG3C,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;EACrC;EAEAC,cAAcA,CAACJ,MAAsB,EAAE;IAAA,IAAAK,cAAA,EAAAC,eAAA,EAAAC,eAAA;IACrC,MAAM;MAAEJ,UAAU;MAAEK;IAAoB,CAAC,GAAG,IAAI;IAChD,MAAM;MACJC,IAAI,EAAE;QAAEjB,GAAG;QAAEkB,IAAI;QAAEC,QAAQ;QAAEC,SAAS;QAAEC,SAAS;QAAEC;MAAW,CAAC;MAC/DC;IACF,CAAC,GAAGf,MAAM;IACV,MAAMlB,IAAI,GAAGF,0BAA0B,CAACC,YAAY,CAACmB,MAAM,CAACS,IAAI,CAAC3B,IAAI,CAAC;IAEtE,MAAMkC,WAAW,GAAG;MAClBC,IAAI,EAAE,CACJ,OAAO,EACP,IAAIL,SAAS,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EACxC,IAAID,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAC9B;MACDO,KAAK,EAAE,CACL,OAAO,EACP,IAAIJ,UAAU,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EACzC,IAAID,SAAS,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAElC,CAAC;IAED,MAAMtB,MAA2B,GAAG;MAClCwB,IAAI;MACJI,SAAS,EAAEX,mBAAmB;MAC9B,GAAGR,MAAM,CAACT,MAAM;MAChBI,UAAU,EAAE;QACVC,UAAU,EAAE;UACV,KAAAS,cAAA,GAAGL,MAAM,CAACT,MAAM,cAAAc,cAAA,GAAbA,cAAA,CAAeV,UAAU,qBAAzBU,cAAA,CAA2BT,UAAU;UACxC,CAACJ,GAAG,GAAG;YACL,KAAAc,eAAA,GAAGN,MAAM,CAACT,MAAM,cAAAe,eAAA,GAAbA,eAAA,CAAeX,UAAU,qBAAzBW,eAAA,CAA2BV,UAAU,CAACJ,GAAG,CAAC;YAC7CK,KAAK,EAAEa,IAAI;YACX,GAAG5B,IAAI;YACP,mBAAmB,EAAEkC;UACvB;QACF;MACF;IACF,CAAC;IAED,MAAMI,OAAO,GAAG,CAAAb,eAAA,GAAAP,MAAM,CAACT,MAAM,aAAbgB,eAAA,CAAeT,EAAE,GAC7B,IAAAuB,+BAAyB,EAAC;MAAEC,mBAAmB,EAAE/B;IAAO,CAAC,CAAC,GAC1D,IAAAgC,+BAAyB,EAAC;MAAED,mBAAmB,EAAE/B;IAAO,CAAC,CAAC;IAE9D,OAAOY,UAAU,CAACiB,OAAO,CAACA,OAAO,CAAC,CAACI,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;EAC5D;EAEAC,kBAAkBA,CAAC3B,MAA0B,EAAE;IAAA,IAAA4B,eAAA,EAAAC,eAAA;IAC7C,MAAM;MAAE1B,UAAU;MAAEK;IAAoB,CAAC,GAAG,IAAI;IAChD,MAAM;MAAEV,EAAE;MAAEiB;IAAK,CAAC,GAAGf,MAAM;IAE3B,MAAMT,MAA2B,GAAG;MAClCwB,IAAI;MACJI,SAAS,EAAEX,mBAAmB;MAC9B,GAAGR,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;IAED,OAAOK,UAAU,CACdiB,OAAO,CAAC,IAAAC,+BAAyB,EAAC;MAAEC,mBAAmB,EAAE/B;IAAO,CAAC,CAAC,CAAC,CACnEiC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;EAC5B;EAEAI,YAAYA,CAACf,IAAY,EAAE;IACzB,MAAM;MAAEZ;IAAW,CAAC,GAAG,IAAI;IAE3B,OAAOA,UAAU,CACdiB,OAAO,CACN,IAAAW,8BAAwB,EAAC;MACvBhB,IAAI;MACJiB,UAAU,EAAE,EAAE;MACdC,MAAM,EAAE,CAACC,qBAAc,CAACC,QAAQ;IAClC,CAAC,CACH,CAAC,CACAX,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC;EAC5B;AACF;AAACU,OAAA,CAAAxD,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.includesAllReadPermissions = includesAllReadPermissions;
|
|
5
|
+
function includesAllReadPermissions(field, requiredPermissions) {
|
|
6
|
+
return requiredPermissions.every(permission => field['x-wix-permissions'].read.includes(permission));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=DataExtensionField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["includesAllReadPermissions","field","requiredPermissions","every","permission","read","includes"],"sources":["../../../../src/state/DataExtension/DataExtensionField.ts"],"sourcesContent":["import { DataExtensionField, DataExtensionPermission } from '../../services';\n\nexport function includesAllReadPermissions(\n field: DataExtensionField,\n requiredPermissions: DataExtensionPermission[],\n): boolean {\n return requiredPermissions.every((permission) =>\n field['x-wix-permissions'].read.includes(permission),\n );\n}\n"],"mappings":";;;;AAEO,SAASA,0BAA0BA,CACxCC,KAAyB,EACzBC,mBAA8C,EACrC;EACT,OAAOA,mBAAmB,CAACC,KAAK,CAAEC,UAAU,IAC1CH,KAAK,CAAC,mBAAmB,CAAC,CAACI,IAAI,CAACC,QAAQ,CAACF,UAAU,CACrD,CAAC;AACH","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ var _TaskState = require("./TaskState");
|
|
|
9
9
|
var _mobx = require("mobx");
|
|
10
10
|
var _DataExtensionStateBIReporter = require("./DataExtensionStateBIReporter");
|
|
11
11
|
var _util = require("../util");
|
|
12
|
+
var _DataExtensionField = require("./DataExtension/DataExtensionField");
|
|
12
13
|
class DataExtensionState {
|
|
13
14
|
get fqdnString() {
|
|
14
15
|
return (0, _util.fqdnToString)(this.fqdn);
|
|
@@ -174,14 +175,20 @@ class DataExtensionState {
|
|
|
174
175
|
}
|
|
175
176
|
customFieldModalState.modalState.modal.open();
|
|
176
177
|
}
|
|
177
|
-
_toCustomField(
|
|
178
|
+
_toCustomField({
|
|
179
|
+
key,
|
|
180
|
+
schema,
|
|
181
|
+
editable,
|
|
182
|
+
owner
|
|
183
|
+
}) {
|
|
178
184
|
return {
|
|
179
185
|
id: key,
|
|
180
186
|
label: schema == null ? void 0 : schema.title,
|
|
181
187
|
maxLength: schema == null ? void 0 : schema.maxLength,
|
|
182
188
|
options: schema == null ? void 0 : schema.enum,
|
|
183
189
|
type: _services.DataExtensionSchemaService.toCustomType(schema),
|
|
184
|
-
editable
|
|
190
|
+
editable,
|
|
191
|
+
owner
|
|
185
192
|
};
|
|
186
193
|
}
|
|
187
194
|
isSupportedFieldType(type) {
|
|
@@ -190,10 +197,14 @@ class DataExtensionState {
|
|
|
190
197
|
}
|
|
191
198
|
return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);
|
|
192
199
|
}
|
|
193
|
-
getAvailableCustomFieldsInSchema(properties,
|
|
200
|
+
getAvailableCustomFieldsInSchema(properties, {
|
|
201
|
+
editable,
|
|
202
|
+
requiredPermissions,
|
|
203
|
+
owner
|
|
204
|
+
}) {
|
|
194
205
|
return Object.keys(properties).filter(key => {
|
|
195
206
|
const field = properties[key];
|
|
196
|
-
return !field['x-wix-archived'] && this.isSupportedFieldType(field.type);
|
|
207
|
+
return !field['x-wix-archived'] && this.isSupportedFieldType(field.type) && (requiredPermissions == null || (0, _DataExtensionField.includesAllReadPermissions)(field, requiredPermissions));
|
|
197
208
|
}).sort((a, b) => {
|
|
198
209
|
const aVal = new Date(properties[a]['x-wix-created-date']);
|
|
199
210
|
const bVal = new Date(properties[b]['x-wix-created-date']);
|
|
@@ -201,7 +212,12 @@ class DataExtensionState {
|
|
|
201
212
|
return 0;
|
|
202
213
|
}
|
|
203
214
|
return aVal.valueOf() - bVal.valueOf();
|
|
204
|
-
}).map(key => this._toCustomField(
|
|
215
|
+
}).map(key => this._toCustomField({
|
|
216
|
+
key,
|
|
217
|
+
schema: properties[key],
|
|
218
|
+
editable,
|
|
219
|
+
owner
|
|
220
|
+
}));
|
|
205
221
|
}
|
|
206
222
|
|
|
207
223
|
/**
|
|
@@ -210,14 +226,21 @@ class DataExtensionState {
|
|
|
210
226
|
get availableUserCustomFields() {
|
|
211
227
|
var _this$userSchema;
|
|
212
228
|
const properties = ((_this$userSchema = this.userSchema) == null || (_this$userSchema = _this$userSchema.jsonSchema) == null ? void 0 : _this$userSchema.properties) || {};
|
|
213
|
-
return this.getAvailableCustomFieldsInSchema(properties,
|
|
229
|
+
return this.getAvailableCustomFieldsInSchema(properties, {
|
|
230
|
+
editable: true,
|
|
231
|
+
owner: 'user'
|
|
232
|
+
});
|
|
214
233
|
}
|
|
215
234
|
get availableAppsCustomFields() {
|
|
216
235
|
var _this$appSchemas;
|
|
217
236
|
return ((_this$appSchemas = this.appSchemas) == null ? void 0 : _this$appSchemas.reduce((prev, schema) => {
|
|
218
237
|
var _schema$jsonSchema;
|
|
219
238
|
const properties = (schema == null || (_schema$jsonSchema = schema.jsonSchema) == null ? void 0 : _schema$jsonSchema.properties) || {};
|
|
220
|
-
return [...prev, ...this.getAvailableCustomFieldsInSchema(properties,
|
|
239
|
+
return [...prev, ...this.getAvailableCustomFieldsInSchema(properties, {
|
|
240
|
+
editable: false,
|
|
241
|
+
requiredPermissions: ['users'],
|
|
242
|
+
owner: 'app'
|
|
243
|
+
})];
|
|
221
244
|
}, [])) ?? [];
|
|
222
245
|
}
|
|
223
246
|
get availableCustomFields() {
|
|
@@ -226,14 +249,24 @@ class DataExtensionState {
|
|
|
226
249
|
get allUserCustomFields() {
|
|
227
250
|
var _this$userSchema2;
|
|
228
251
|
const properties = ((_this$userSchema2 = this.userSchema) == null || (_this$userSchema2 = _this$userSchema2.jsonSchema) == null ? void 0 : _this$userSchema2.properties) || {};
|
|
229
|
-
return Object.keys(properties).map(key => this._toCustomField(
|
|
252
|
+
return Object.keys(properties).map(key => this._toCustomField({
|
|
253
|
+
key,
|
|
254
|
+
schema: properties[key],
|
|
255
|
+
editable: true,
|
|
256
|
+
owner: 'user'
|
|
257
|
+
}));
|
|
230
258
|
}
|
|
231
259
|
get allAppsCustomFields() {
|
|
232
260
|
var _this$appSchemas2;
|
|
233
261
|
return ((_this$appSchemas2 = this.appSchemas) == null ? void 0 : _this$appSchemas2.reduce((prev, cur) => {
|
|
234
262
|
var _cur$jsonSchema;
|
|
235
263
|
const properties = (cur == null || (_cur$jsonSchema = cur.jsonSchema) == null ? void 0 : _cur$jsonSchema.properties) || {};
|
|
236
|
-
return prev.concat(Object.keys(properties).map(key => this._toCustomField(
|
|
264
|
+
return prev.concat(Object.keys(properties).map(key => this._toCustomField({
|
|
265
|
+
key,
|
|
266
|
+
schema: properties[key],
|
|
267
|
+
editable: false,
|
|
268
|
+
owner: 'app'
|
|
269
|
+
})));
|
|
237
270
|
}, [])) ?? [];
|
|
238
271
|
}
|
|
239
272
|
get allCustomFields() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","closeSidePanel","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","MAX_CUSTOM_FIELDS","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","modalState","modal","open","_toCustomField","editable","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","Object","keys","filter","field","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","_schema$jsonSchema","_this$userSchema2","_this$appSchemas2","cur","_cur$jsonSchema","concat","length","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","namespace","userFieldsNamespace","exports"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\n DataExtensionField,\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 './CairoContainer';\nimport {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\n fqdn: Fqdn;\n}\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n readonly closeSidePanel;\n readonly reportBi;\n readonly fqdn;\n\n readonly MAX_CUSTOM_FIELDS = 50;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\n\n constructor(params: Readonly<DataExtensionStateParams>) {\n this.container = params.container;\n this.closeSidePanel = params.closeSidePanel;\n this.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: action,\n });\n }\n\n _hasWritePermissions?: boolean;\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: this.MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({ id, origin }: { id?: string; origin: string }) {\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 runInAction(() => {\n this.userSchema = 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 this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.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 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 };\n }\n\n openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema && params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n }\n\n customFieldModalState.modalState.modal.open();\n }\n\n _toCustomField(key: string, schema: DataExtensionField, editable: boolean) {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\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 editable: boolean,\n ): CustomField[] {\n return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] && this.isSupportedFieldType(field.type)\n );\n })\n .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 .map((key) => this._toCustomField(key, properties[key], editable));\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, true);\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n const properties: { [key: string]: DataExtensionField } =\n schema?.jsonSchema?.properties || {};\n return [\n ...prev,\n ...this.getAvailableCustomFieldsInSchema(properties, false),\n ];\n }, [] as CustomField[]) ?? []\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).map((key) =>\n this._toCustomField(key, properties[key], true),\n );\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, cur) => {\n const properties: { [key: string]: DataExtensionField } =\n cur?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties).map((key) =>\n this._toCustomField(key, properties[key], false),\n ),\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= this.MAX_CUSTOM_FIELDS;\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\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 dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","closeSidePanel","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","MAX_CUSTOM_FIELDS","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","modalState","modal","open","_toCustomField","editable","owner","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","requiredPermissions","Object","keys","filter","field","includesAllReadPermissions","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","_schema$jsonSchema","_this$userSchema2","_this$appSchemas2","cur","_cur$jsonSchema","concat","length","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","namespace","userFieldsNamespace","exports"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\n CustomFieldOwner,\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 './CairoContainer';\nimport {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\n fqdn: Fqdn;\n}\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n readonly closeSidePanel;\n readonly reportBi;\n readonly fqdn;\n\n readonly MAX_CUSTOM_FIELDS = 50;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\n\n constructor(params: Readonly<DataExtensionStateParams>) {\n this.container = params.container;\n this.closeSidePanel = params.closeSidePanel;\n this.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: action,\n });\n }\n\n _hasWritePermissions?: boolean;\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: this.MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({ id, origin }: { id?: string; origin: string }) {\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 runInAction(() => {\n this.userSchema = 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 this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.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 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 };\n }\n\n openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema && params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n }\n\n customFieldModalState.modalState.modal.open();\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n }): CustomField {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\n owner,\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 }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n },\n ): CustomField[] {\n return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] &&\n this.isSupportedFieldType(field.type) &&\n (requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions))\n );\n })\n .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 .map((key) =>\n this._toCustomField({ key, schema: properties[key], editable, owner }),\n );\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 });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n const properties: { [key: string]: DataExtensionField } =\n schema?.jsonSchema?.properties || {};\n return [\n ...prev,\n ...this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n }),\n ];\n }, [] as CustomField[]) ?? []\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).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n }),\n );\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, cur) => {\n const properties: { [key: string]: DataExtensionField } =\n cur?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n }),\n ),\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= this.MAX_CUSTOM_FIELDS;\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\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 dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestedField, } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';
|
|
2
|
-
import { createDataExtensionSchema,
|
|
2
|
+
import { createDataExtensionSchema, listDataExtensionSchemas, updateDataExtensionSchema, } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http';
|
|
3
3
|
export class DataExtensionSchemaService {
|
|
4
4
|
static toSchemaType(type) {
|
|
5
5
|
switch (type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataExtensionService.js","sourceRoot":"","sources":["../../../src/services/dataExtensionService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,GACf,MAAM,+EAA+E,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"dataExtensionService.js","sourceRoot":"","sources":["../../../src/services/dataExtensionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataExtensionField.js","sourceRoot":"","sources":["../../../../src/state/DataExtension/DataExtensionField.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CACxC,KAAyB,EACzB,mBAA8C;IAE9C,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAC9C,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CACrD,CAAC;AACJ,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { TaskState } from './TaskState';
|
|
|
3
3
|
import { action, computed, makeObservable, observable, runInAction, } from 'mobx';
|
|
4
4
|
import { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';
|
|
5
5
|
import { fqdnToString } from '../util';
|
|
6
|
+
import { includesAllReadPermissions } from './DataExtension/DataExtensionField';
|
|
6
7
|
export class DataExtensionState {
|
|
7
8
|
get fqdnString() {
|
|
8
9
|
return fqdnToString(this.fqdn);
|
|
@@ -144,7 +145,7 @@ export class DataExtensionState {
|
|
|
144
145
|
}
|
|
145
146
|
customFieldModalState.modalState.modal.open();
|
|
146
147
|
}
|
|
147
|
-
_toCustomField(key, schema, editable) {
|
|
148
|
+
_toCustomField({ key, schema, editable, owner, }) {
|
|
148
149
|
return {
|
|
149
150
|
id: key,
|
|
150
151
|
label: schema === null || schema === void 0 ? void 0 : schema.title,
|
|
@@ -152,6 +153,7 @@ export class DataExtensionState {
|
|
|
152
153
|
options: schema === null || schema === void 0 ? void 0 : schema.enum,
|
|
153
154
|
type: DataExtensionSchemaService.toCustomType(schema),
|
|
154
155
|
editable,
|
|
156
|
+
owner,
|
|
155
157
|
};
|
|
156
158
|
}
|
|
157
159
|
isSupportedFieldType(type) {
|
|
@@ -160,11 +162,14 @@ export class DataExtensionState {
|
|
|
160
162
|
}
|
|
161
163
|
return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);
|
|
162
164
|
}
|
|
163
|
-
getAvailableCustomFieldsInSchema(properties, editable) {
|
|
165
|
+
getAvailableCustomFieldsInSchema(properties, { editable, requiredPermissions, owner, }) {
|
|
164
166
|
return Object.keys(properties)
|
|
165
167
|
.filter((key) => {
|
|
166
168
|
const field = properties[key];
|
|
167
|
-
return (!field['x-wix-archived'] &&
|
|
169
|
+
return (!field['x-wix-archived'] &&
|
|
170
|
+
this.isSupportedFieldType(field.type) &&
|
|
171
|
+
(requiredPermissions == null ||
|
|
172
|
+
includesAllReadPermissions(field, requiredPermissions)));
|
|
168
173
|
})
|
|
169
174
|
.sort((a, b) => {
|
|
170
175
|
const aVal = new Date(properties[a]['x-wix-created-date']);
|
|
@@ -174,7 +179,7 @@ export class DataExtensionState {
|
|
|
174
179
|
}
|
|
175
180
|
return aVal.valueOf() - bVal.valueOf();
|
|
176
181
|
})
|
|
177
|
-
.map((key) => this._toCustomField(key, properties[key], editable));
|
|
182
|
+
.map((key) => this._toCustomField({ key, schema: properties[key], editable, owner }));
|
|
178
183
|
}
|
|
179
184
|
/**
|
|
180
185
|
* Available custom fields, excluding archived fields
|
|
@@ -182,7 +187,10 @@ export class DataExtensionState {
|
|
|
182
187
|
get availableUserCustomFields() {
|
|
183
188
|
var _a, _b;
|
|
184
189
|
const properties = ((_b = (_a = this.userSchema) === null || _a === void 0 ? void 0 : _a.jsonSchema) === null || _b === void 0 ? void 0 : _b.properties) || {};
|
|
185
|
-
return this.getAvailableCustomFieldsInSchema(properties,
|
|
190
|
+
return this.getAvailableCustomFieldsInSchema(properties, {
|
|
191
|
+
editable: true,
|
|
192
|
+
owner: 'user',
|
|
193
|
+
});
|
|
186
194
|
}
|
|
187
195
|
get availableAppsCustomFields() {
|
|
188
196
|
var _a, _b;
|
|
@@ -191,7 +199,11 @@ export class DataExtensionState {
|
|
|
191
199
|
const properties = ((_a = schema === null || schema === void 0 ? void 0 : schema.jsonSchema) === null || _a === void 0 ? void 0 : _a.properties) || {};
|
|
192
200
|
return [
|
|
193
201
|
...prev,
|
|
194
|
-
...this.getAvailableCustomFieldsInSchema(properties,
|
|
202
|
+
...this.getAvailableCustomFieldsInSchema(properties, {
|
|
203
|
+
editable: false,
|
|
204
|
+
requiredPermissions: ['users'],
|
|
205
|
+
owner: 'app',
|
|
206
|
+
}),
|
|
195
207
|
];
|
|
196
208
|
}, [])) !== null && _b !== void 0 ? _b : []);
|
|
197
209
|
}
|
|
@@ -204,14 +216,24 @@ export class DataExtensionState {
|
|
|
204
216
|
get allUserCustomFields() {
|
|
205
217
|
var _a, _b;
|
|
206
218
|
const properties = ((_b = (_a = this.userSchema) === null || _a === void 0 ? void 0 : _a.jsonSchema) === null || _b === void 0 ? void 0 : _b.properties) || {};
|
|
207
|
-
return Object.keys(properties).map((key) => this._toCustomField(
|
|
219
|
+
return Object.keys(properties).map((key) => this._toCustomField({
|
|
220
|
+
key,
|
|
221
|
+
schema: properties[key],
|
|
222
|
+
editable: true,
|
|
223
|
+
owner: 'user',
|
|
224
|
+
}));
|
|
208
225
|
}
|
|
209
226
|
get allAppsCustomFields() {
|
|
210
227
|
var _a, _b;
|
|
211
228
|
return ((_b = (_a = this.appSchemas) === null || _a === void 0 ? void 0 : _a.reduce((prev, cur) => {
|
|
212
229
|
var _a;
|
|
213
230
|
const properties = ((_a = cur === null || cur === void 0 ? void 0 : cur.jsonSchema) === null || _a === void 0 ? void 0 : _a.properties) || {};
|
|
214
|
-
return prev.concat(Object.keys(properties).map((key) => this._toCustomField(
|
|
231
|
+
return prev.concat(Object.keys(properties).map((key) => this._toCustomField({
|
|
232
|
+
key,
|
|
233
|
+
schema: properties[key],
|
|
234
|
+
editable: false,
|
|
235
|
+
owner: 'app',
|
|
236
|
+
})));
|
|
215
237
|
}, [])) !== null && _b !== void 0 ? _b : []);
|
|
216
238
|
}
|
|
217
239
|
get allCustomFields() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataExtensionState.js","sourceRoot":"","sources":["../../../src/state/DataExtensionState.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DataExtensionState.js","sourceRoot":"","sources":["../../../src/state/DataExtensionState.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface DataExtensionSchemaServiceParams {
|
|
|
5
5
|
readonly httpClient: WixPatternsEssentials['httpClient'];
|
|
6
6
|
}
|
|
7
7
|
export type DataExtensionType = 'string' | 'number' | 'integer' | 'boolean' | 'array';
|
|
8
|
+
export type DataExtensionPermission = 'apps' | 'owning-app' | 'users' | 'users-of-users';
|
|
8
9
|
export interface DataExtensionField {
|
|
9
10
|
id: string;
|
|
10
11
|
type?: DataExtensionType;
|
|
@@ -15,8 +16,8 @@ export interface DataExtensionField {
|
|
|
15
16
|
'x-wix-archived'?: boolean;
|
|
16
17
|
'x-wix-created-date': string;
|
|
17
18
|
'x-wix-permissions': {
|
|
18
|
-
read:
|
|
19
|
-
write:
|
|
19
|
+
read: DataExtensionPermission[];
|
|
20
|
+
write: DataExtensionPermission[];
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
23
|
export type CustomFieldType = 'shortText' | 'longText' | 'date' | 'dateTime' | 'integer' | 'decimal' | 'checkbox' | 'dropdown';
|
|
@@ -31,6 +32,7 @@ export interface ExtendedFields {
|
|
|
31
32
|
_user_fields?: Record<string, any>;
|
|
32
33
|
};
|
|
33
34
|
}
|
|
35
|
+
export type CustomFieldOwner = 'user' | 'app';
|
|
34
36
|
export interface CustomField {
|
|
35
37
|
id: string;
|
|
36
38
|
type: CustomFieldType;
|
|
@@ -38,6 +40,7 @@ export interface CustomField {
|
|
|
38
40
|
maxLength?: number;
|
|
39
41
|
options?: string[];
|
|
40
42
|
editable: boolean;
|
|
43
|
+
owner: CustomFieldOwner;
|
|
41
44
|
}
|
|
42
45
|
export interface AddFieldParams {
|
|
43
46
|
schema?: DataExtensionSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataExtensionService.d.ts","sourceRoot":"","sources":["../../../src/services/dataExtensionService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEpB,MAAM,+EAA+E,CAAC;AAMvF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;CAC1D;AAGD,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE;QACnB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"dataExtensionService.d.ts","sourceRoot":"","sources":["../../../src/services/dataExtensionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataExtensionField.d.ts","sourceRoot":"","sources":["../../../../src/state/DataExtension/DataExtensionField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,kBAAkB,EACzB,mBAAmB,EAAE,uBAAuB,EAAE,GAC7C,OAAO,CAIT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomField, CustomFieldOrigin, DataExtensionField, DataExtensionSchemaService, ReportBI } from '../services';
|
|
1
|
+
import { CustomField, CustomFieldOrigin, CustomFieldOwner, DataExtensionField, DataExtensionSchemaService, ReportBI } from '../services';
|
|
2
2
|
import { TaskState } from './TaskState';
|
|
3
3
|
import { Fqdn } from '../model';
|
|
4
4
|
import { WixPatternsContainer } from './CairoContainer';
|
|
@@ -44,14 +44,12 @@ export declare class DataExtensionState {
|
|
|
44
44
|
fieldId?: string;
|
|
45
45
|
origin: CustomFieldOrigin;
|
|
46
46
|
}): void;
|
|
47
|
-
_toCustomField(key
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
maxLength: number | undefined;
|
|
51
|
-
options: string[] | undefined;
|
|
52
|
-
type: import("../services").CustomFieldType;
|
|
47
|
+
_toCustomField({ key, schema, editable, owner, }: {
|
|
48
|
+
key: string;
|
|
49
|
+
schema: DataExtensionField;
|
|
53
50
|
editable: boolean;
|
|
54
|
-
|
|
51
|
+
owner: CustomFieldOwner;
|
|
52
|
+
}): CustomField;
|
|
55
53
|
private isSupportedFieldType;
|
|
56
54
|
private getAvailableCustomFieldsInSchema;
|
|
57
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataExtensionState.d.ts","sourceRoot":"","sources":["../../../src/state/DataExtensionState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"DataExtensionState.d.ts","sourceRoot":"","sources":["../../../src/state/DataExtensionState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/bex-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.446.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Kobi",
|
|
@@ -156,5 +156,5 @@
|
|
|
156
156
|
"wallaby": {
|
|
157
157
|
"autoDetect": true
|
|
158
158
|
},
|
|
159
|
-
"falconPackageHash": "
|
|
159
|
+
"falconPackageHash": "cb8f6dd0ad5888517b6881f0d39c95e638ef8def567f2a18d65af18c"
|
|
160
160
|
}
|