@strapi/data-transfer
Version:
Data transfer capabilities for Strapi
1 lines • 4.32 kB
Source Map (JSON)
{"version":3,"file":"configuration.mjs","sources":["../../../../../../src/strapi/providers/local-destination/strategies/restore/configuration.ts"],"sourcesContent":["import { Writable } from 'stream';\nimport { omit } from 'lodash/fp';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\nimport { ProviderTransferError } from '../../../../../errors/providers';\nimport { IConfiguration, Transaction } from '../../../../../types';\nimport { restoreProjectSettingsRow } from '../../../../utils/project-settings-logos';\n\nconst omitInvalidCreationAttributes = omit(['id']);\n\nconst restoreCoreStore = async <T extends { value: unknown }>(strapi: Core.Strapi, values: T) => {\n const data = omitInvalidCreationAttributes(values);\n const row = await restoreProjectSettingsRow(\n strapi,\n data as unknown as { key: string; value: unknown }\n );\n\n return strapi.db.query('strapi::core-store').create({\n data: {\n ...row,\n value: JSON.stringify(row.value),\n },\n });\n};\n\nconst restoreWebhooks = async <T extends { value: unknown }>(strapi: Core.Strapi, values: T) => {\n const data = omitInvalidCreationAttributes(values);\n return strapi.db.query('strapi::webhook').create({ data });\n};\n\nexport const restoreConfigs = async (strapi: Core.Strapi, config: IConfiguration) => {\n if (config.type === 'core-store') {\n return restoreCoreStore(strapi, config.value as { value: unknown });\n }\n\n if (config.type === 'webhook') {\n return restoreWebhooks(strapi, config.value as { value: unknown });\n }\n};\n\nexport const createConfigurationWriteStream = async (\n strapi: Core.Strapi,\n transaction?: Transaction\n) => {\n return new Writable({\n objectMode: true,\n async write<T extends { id: number }>(\n config: IConfiguration<T>,\n _encoding: BufferEncoding,\n callback: (error?: Error | null) => void\n ) {\n await transaction?.attach(async () => {\n try {\n await restoreConfigs(strapi, config);\n } catch (error) {\n return callback(\n new ProviderTransferError(\n `Failed to import ${chalk.yellowBright(config.type)} (${chalk.greenBright(\n config.value.id\n )}`\n )\n );\n }\n callback();\n });\n },\n });\n};\n"],"names":["omitInvalidCreationAttributes","omit","restoreCoreStore","strapi","values","data","row","restoreProjectSettingsRow","db","query","create","value","JSON","stringify","restoreWebhooks","restoreConfigs","config","type","createConfigurationWriteStream","transaction","Writable","objectMode","write","_encoding","callback","attach","error","ProviderTransferError","chalk","yellowBright","greenBright","id"],"mappings":";;;;;;AAQA,MAAMA,gCAAgCC,IAAAA,CAAK;AAAC,IAAA;AAAK,CAAA,CAAA;AAEjD,MAAMC,gBAAAA,GAAmB,OAAqCC,MAAAA,EAAqBC,MAAAA,GAAAA;AACjF,IAAA,MAAMC,OAAOL,6BAAAA,CAA8BI,MAAAA,CAAAA;IAC3C,MAAME,GAAAA,GAAM,MAAMC,yBAAAA,CAChBJ,MAAAA,EACAE,IAAAA,CAAAA;AAGF,IAAA,OAAOF,OAAOK,EAAE,CAACC,KAAK,CAAC,oBAAA,CAAA,CAAsBC,MAAM,CAAC;QAClDL,IAAAA,EAAM;AACJ,YAAA,GAAGC,GAAG;AACNK,YAAAA,KAAAA,EAAOC,IAAAA,CAAKC,SAAS,CAACP,GAAAA,CAAIK,KAAK;AACjC;AACF,KAAA,CAAA;AACF,CAAA;AAEA,MAAMG,eAAAA,GAAkB,OAAqCX,MAAAA,EAAqBC,MAAAA,GAAAA;AAChF,IAAA,MAAMC,OAAOL,6BAAAA,CAA8BI,MAAAA,CAAAA;AAC3C,IAAA,OAAOD,OAAOK,EAAE,CAACC,KAAK,CAAC,iBAAA,CAAA,CAAmBC,MAAM,CAAC;AAAEL,QAAAA;AAAK,KAAA,CAAA;AAC1D,CAAA;AAEO,MAAMU,cAAAA,GAAiB,OAAOZ,MAAAA,EAAqBa,MAAAA,GAAAA;IACxD,IAAIA,MAAAA,CAAOC,IAAI,KAAK,YAAA,EAAc;QAChC,OAAOf,gBAAAA,CAAiBC,MAAAA,EAAQa,MAAAA,CAAOL,KAAK,CAAA;AAC9C,IAAA;IAEA,IAAIK,MAAAA,CAAOC,IAAI,KAAK,SAAA,EAAW;QAC7B,OAAOH,eAAAA,CAAgBX,MAAAA,EAAQa,MAAAA,CAAOL,KAAK,CAAA;AAC7C,IAAA;AACF;AAEO,MAAMO,8BAAAA,GAAiC,OAC5Cf,MAAAA,EACAgB,WAAAA,GAAAA;AAEA,IAAA,OAAO,IAAIC,QAAAA,CAAS;QAClBC,UAAAA,EAAY,IAAA;AACZ,QAAA,MAAMC,KAAAA,CAAAA,CACJN,MAAyB,EACzBO,SAAyB,EACzBC,QAAwC,EAAA;AAExC,YAAA,MAAML,aAAaM,MAAAA,CAAO,UAAA;gBACxB,IAAI;AACF,oBAAA,MAAMV,eAAeZ,MAAAA,EAAQa,MAAAA,CAAAA;AAC/B,gBAAA,CAAA,CAAE,OAAOU,KAAAA,EAAO;oBACd,OAAOF,QAAAA,CACL,IAAIG,qBAAAA,CACF,CAAC,iBAAiB,EAAEC,KAAAA,CAAMC,YAAY,CAACb,MAAAA,CAAOC,IAAI,CAAA,CAAE,EAAE,EAAEW,KAAAA,CAAME,WAAW,CACvEd,MAAAA,CAAOL,KAAK,CAACoB,EAAE,CAAA,CAAA,CACd,CAAA,CAAA;AAGT,gBAAA;AACAP,gBAAAA,QAAAA,EAAAA;AACF,YAAA,CAAA,CAAA;AACF,QAAA;AACF,KAAA,CAAA;AACF;;;;"}