From efa89313fa4152252b477aafd88f7cf4a66747d8 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 5 Feb 2026 10:19:56 +0000 Subject: Initial Strapi plugin project --- playground/config/admin.ts | 20 ++++++++++++++ playground/config/api.ts | 7 +++++ playground/config/database.ts | 60 ++++++++++++++++++++++++++++++++++++++++ playground/config/middlewares.ts | 12 ++++++++ playground/config/plugins.ts | 1 + playground/config/server.ts | 7 +++++ 6 files changed, 107 insertions(+) create mode 100644 playground/config/admin.ts create mode 100644 playground/config/api.ts create mode 100644 playground/config/database.ts create mode 100644 playground/config/middlewares.ts create mode 100644 playground/config/plugins.ts create mode 100644 playground/config/server.ts (limited to 'playground/config') diff --git a/playground/config/admin.ts b/playground/config/admin.ts new file mode 100644 index 0000000..fd21d06 --- /dev/null +++ b/playground/config/admin.ts @@ -0,0 +1,20 @@ +export default ({ env }) => ({ + auth: { + secret: env('ADMIN_JWT_SECRET'), + }, + apiToken: { + salt: env('API_TOKEN_SALT'), + }, + transfer: { + token: { + salt: env('TRANSFER_TOKEN_SALT'), + }, + }, + secrets: { + encryptionKey: env('ENCRYPTION_KEY'), + }, + flags: { + nps: env.bool('FLAG_NPS', true), + promoteEE: env.bool('FLAG_PROMOTE_EE', true), + }, +}); diff --git a/playground/config/api.ts b/playground/config/api.ts new file mode 100644 index 0000000..37f7c14 --- /dev/null +++ b/playground/config/api.ts @@ -0,0 +1,7 @@ +export default { + rest: { + defaultLimit: 25, + maxLimit: 100, + withCount: true, + }, +}; diff --git a/playground/config/database.ts b/playground/config/database.ts new file mode 100644 index 0000000..1853ca4 --- /dev/null +++ b/playground/config/database.ts @@ -0,0 +1,60 @@ +import path from 'path'; + +export default ({ env }) => { + const client = env('DATABASE_CLIENT', 'sqlite'); + + const connections = { + mysql: { + connection: { + host: env('DATABASE_HOST', 'localhost'), + port: env.int('DATABASE_PORT', 3306), + database: env('DATABASE_NAME', 'strapi'), + user: env('DATABASE_USERNAME', 'strapi'), + password: env('DATABASE_PASSWORD', 'strapi'), + ssl: env.bool('DATABASE_SSL', false) && { + key: env('DATABASE_SSL_KEY', undefined), + cert: env('DATABASE_SSL_CERT', undefined), + ca: env('DATABASE_SSL_CA', undefined), + capath: env('DATABASE_SSL_CAPATH', undefined), + cipher: env('DATABASE_SSL_CIPHER', undefined), + rejectUnauthorized: env.bool('DATABASE_SSL_REJECT_UNAUTHORIZED', true), + }, + }, + pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) }, + }, + postgres: { + connection: { + connectionString: env('DATABASE_URL'), + host: env('DATABASE_HOST', 'localhost'), + port: env.int('DATABASE_PORT', 5432), + database: env('DATABASE_NAME', 'strapi'), + user: env('DATABASE_USERNAME', 'strapi'), + password: env('DATABASE_PASSWORD', 'strapi'), + ssl: env.bool('DATABASE_SSL', false) && { + key: env('DATABASE_SSL_KEY', undefined), + cert: env('DATABASE_SSL_CERT', undefined), + ca: env('DATABASE_SSL_CA', undefined), + capath: env('DATABASE_SSL_CAPATH', undefined), + cipher: env('DATABASE_SSL_CIPHER', undefined), + rejectUnauthorized: env.bool('DATABASE_SSL_REJECT_UNAUTHORIZED', true), + }, + schema: env('DATABASE_SCHEMA', 'public'), + }, + pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) }, + }, + sqlite: { + connection: { + filename: path.join(__dirname, '..', '..', env('DATABASE_FILENAME', '.tmp/data.db')), + }, + useNullAsDefault: true, + }, + }; + + return { + connection: { + client, + ...connections[client], + acquireConnectionTimeout: env.int('DATABASE_CONNECTION_TIMEOUT', 60000), + }, + }; +}; diff --git a/playground/config/middlewares.ts b/playground/config/middlewares.ts new file mode 100644 index 0000000..829f5c0 --- /dev/null +++ b/playground/config/middlewares.ts @@ -0,0 +1,12 @@ +export default [ + 'strapi::logger', + 'strapi::errors', + 'strapi::security', + 'strapi::cors', + 'strapi::poweredBy', + 'strapi::query', + 'strapi::body', + 'strapi::session', + 'strapi::favicon', + 'strapi::public', +]; diff --git a/playground/config/plugins.ts b/playground/config/plugins.ts new file mode 100644 index 0000000..56bf55f --- /dev/null +++ b/playground/config/plugins.ts @@ -0,0 +1 @@ +export default () => ({}); diff --git a/playground/config/server.ts b/playground/config/server.ts new file mode 100644 index 0000000..31c8997 --- /dev/null +++ b/playground/config/server.ts @@ -0,0 +1,7 @@ +export default ({ env }) => ({ + host: env('HOST', '0.0.0.0'), + port: env.int('PORT', 1337), + app: { + keys: env.array('APP_KEYS'), + }, +}); -- cgit v1.2.3