{"version":3,"file":"index.mjs","sources":["../../server/src/bootstrap.ts","../../server/src/destroy.ts","../../admin/src/pluginId.ts","../../server/src/register.ts","../../server/src/config/index.ts","../../server/src/content-types/index.ts","../../server/src/controllers/config.ts","../../server/src/controllers/settings.ts","../../server/src/controllers/index.ts","../../server/src/middlewares/index.ts","../../server/src/policies/index.ts","../../server/src/routes/config.ts","../../server/src/routes/settings.ts","../../server/src/routes/index.ts","../../server/src/services/config.ts","../../server/src/services/settings.ts","../../server/src/services/index.ts","../../server/src/index.ts"],"sourcesContent":["\"use strict\";\n\nimport type { Core } from '@strapi/strapi';\n\nconst bootstrap = async ({ strapi }: { strapi: Core.Strapi }) => {\n  const actions = [\n    {\n      section: 'plugins',\n      displayName: 'Access the plugin settings',\n      uid: 'settings.read',\n      pluginName: 'tinymce',\n    },\n    {\n      section: 'plugins',\n      displayName: 'Menu link to plugin settings',\n      uid: 'menu-link',\n      pluginName: 'tinymce',\n    },\n  ];\n  await strapi.admin.services.permission.actionProvider.registerMany(actions);\n};\n\nexport default bootstrap;\n","\"use strict\";\n\nimport type { Core } from '@strapi/strapi';\n\nconst destroy = ({ strapi }: { strapi: Core.Strapi }) => {\n  // destroy phase\n};\n\nexport default destroy;\n","import pluginPkg from '../../package.json';\n\nexport const PLUGIN_ID = pluginPkg.name.replace(/^(@sklinet\\/strapi-)plugin-/i, '');\n","\"use strict\";\n\nimport type { Core } from '@strapi/strapi';\nimport { PLUGIN_ID } from '../../admin/src/pluginId';\n\nconst register = ({ strapi }: { strapi: Core.Strapi }) => {\n  strapi.customFields.register({\n    name: 'tinymce',\n    plugin: PLUGIN_ID,\n    type: 'richtext',\n  });\n};\n\nexport default register;\n","\"use strict\";\n\nexport default {\n  default: {},\n  validator() {},\n};\n","\"use strict\";\n\nexport default {};\n","\"use strict\";\n\nexport default {\n    getConfig: async (ctx) => {\n        const { configKey } = ctx.params;\n        const config = await strapi.plugin('tinymce').service('config').getConfig(configKey);\n        ctx.send(config);\n    },\n};\n","\"use strict\";\n\nexport default {\n    getSettings: async (ctx) => {\n        try {\n            ctx.body = await strapi.plugin('tinymce').service('settings').getSettings();\n        } catch (err) {\n            ctx.body = err;\n            ctx.throw(500, err);\n        }\n    },\n    setSettings: async (ctx) => {\n        const { body } = ctx.request;\n        try {\n            await strapi.plugin('tinymce').service('settings').setSettings(body);\n            ctx.body = await strapi.plugin('tinymce').service('settings').getSettings();\n        } catch (err) {\n            ctx.throw(500, err);\n        }\n    },\n};\n","\"use strict\";\n\nimport config from './config';\nimport settings from './settings';\n\nexport default {\n    config,\n    settings,\n};\n","\"use strict\";\n\nexport default {};\n","\"use strict\";\n\nexport default {};\n","\"use strict\";\n\nexport default {\n    type: 'admin',\n    routes: [\n        {\n            method: 'GET',\n            path: '/config/:configKey',\n            handler: 'config.getConfig',\n            config: { policies: [] },\n        },\n    ],\n};\n","export default {\n    type: 'admin',\n    routes: [\n        {\n            method: 'GET',\n            path: '/settings',\n            handler: 'settings.getSettings',\n            config: {\n                policies: [],\n                auth: false,\n            },\n        },\n        {\n            method: 'POST',\n            path: '/settings',\n            handler: 'settings.setSettings',\n            config: {\n                policies: [],\n                auth: false,\n            },\n        },\n    ],\n};\n","import config from './config';\nimport settings from './settings';\n\nexport default {\n    config,\n    settings,\n};\n","\"use strict\";\n\nexport default ({ strapi }) => {\n    return {\n        getConfig(key = 'editor') {\n            return strapi.plugin('tinymce').config(key) ?? {};\n        },\n    };\n};\n","\"use strict\";\n\nfunction getPluginStore() {\n    return strapi.store({\n        environment: '',\n        type: 'plugin',\n        name: 'tinymce',\n    });\n}\nasync function createDefaultConfig() {\n    const pluginStore = getPluginStore();\n    const value = {\n        apiKey: '',\n    };\n    await pluginStore.set({ key: 'settings', value });\n    return pluginStore.get({ key: 'settings' });\n}\n\nexport default () => {\n    return {\n        async getSettings() {\n            const pluginStore = getPluginStore();\n            let config = await pluginStore.get({ key: 'settings' });\n            if (!config) {\n                config = await createDefaultConfig();\n            }\n            return config;\n        },\n        async setSettings(settings) {\n            const value = settings;\n            const pluginStore = getPluginStore();\n            await pluginStore.set({ key: 'settings', value });\n            return pluginStore.get({ key: 'settings' });\n        },\n    };\n};\n","\"use strict\";\n\nimport config from './config';\nimport settings from './settings';\n\nexport default {\n    config,\n    settings,\n};\n","\"use strict\";\n\n/**\n * Application methods\n */\nimport bootstrap from './bootstrap';\nimport destroy from './destroy';\nimport register from './register';\n\n/**\n * Plugin server methods\n */\nimport config from './config';\nimport contentTypes from './content-types';\nimport controllers from './controllers';\nimport middlewares from './middlewares';\nimport policies from './policies';\nimport routes from './routes';\nimport services from './services';\n\nexport default {\n  register,\n  bootstrap,\n  destroy,\n  config,\n  controllers,\n  routes,\n  services,\n  contentTypes,\n  policies,\n  middlewares,\n};\n"],"names":["strapi","config","settings"],"mappings":"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"}