diff --git a/.eslintignore b/.eslintignore index 655b1ab945..5272dbeaf2 100644 --- a/.eslintignore +++ b/.eslintignore @@ -12,3 +12,4 @@ website/translated_docs website setupJest.js frontend +dist diff --git a/src/lib/db/project-store.ts b/src/lib/db/project-store.ts index 089446d955..8888cb3c15 100644 --- a/src/lib/db/project-store.ts +++ b/src/lib/db/project-store.ts @@ -21,14 +21,12 @@ const COLUMNS = [ 'created_at', 'health', 'updated_at', - 'change_request_enabled', ]; const TABLE = 'projects'; export interface IEnvironmentProjectLink { environmentName: string; projectId: string; - changeRequestsEnabled?: string; } export interface IProjectMembersCount { @@ -80,7 +78,7 @@ class ProjectStore implements IProjectStore { let projects = this.db(TABLE) .select( this.db.raw( - 'projects.id, projects.name, projects.description, projects.health, projects.updated_at, projects.change_request_enabled, count(features.name) AS number_of_features', + 'projects.id, projects.name, projects.description, projects.health, projects.updated_at, count(features.name) AS number_of_features', ), ) .leftJoin('features', 'features.project', 'projects.id') @@ -117,7 +115,6 @@ class ProjectStore implements IProjectStore { featureCount: Number(row.number_of_features) || 0, memberCount: Number(row.number_of_users) || 0, updatedAt: row.updated_at, - changeRequestsEnabled: row.change_request_enabled || false, }; } @@ -199,7 +196,6 @@ class ProjectStore implements IProjectStore { const environments = projects.map((p) => ({ project_id: p.id, environment_name: DEFAULT_ENV, - change_request_enabled: p.change_request_enabled, })); await this.db('project_environments') .insert(environments) @@ -244,12 +240,10 @@ class ProjectStore implements IProjectStore { id: string, environment: string, ): Promise { - const project = await this.get(id); await this.db('project_environments') .insert({ project_id: id, environment_name: environment, - change_request_enabled: project.changeRequestsEnabled, }) .onConflict(['project_id', 'environment_name']) .ignore(); @@ -261,12 +255,9 @@ class ProjectStore implements IProjectStore { ): Promise { const rows = await Promise.all( projects.map(async (projectId) => { - const project = await this.get(projectId); return { project_id: projectId, environment_name: environment, - change_request_enabled: - project.changeRequestsEnabled || false, }; }), ); @@ -384,7 +375,6 @@ class ProjectStore implements IProjectStore { return { environmentName: row.environment_name, projectId: row.project_id, - changeRequestsEnabled: row.change_request_enabled, }; } @@ -401,7 +391,6 @@ class ProjectStore implements IProjectStore { createdAt: row.created_at, health: row.health || 100, updatedAt: row.updated_at || new Date(), - changeRequestsEnabled: row.change_request_enabled || false, }; } } diff --git a/src/migrations/20221110104933-add-change-request-settings.js b/src/migrations/20221110104933-add-change-request-settings.js new file mode 100644 index 0000000000..a2c6592dee --- /dev/null +++ b/src/migrations/20221110104933-add-change-request-settings.js @@ -0,0 +1,23 @@ +'use strict'; + +exports.up = function (db, callback) { + db.runSql( + ` + CREATE TABLE IF NOT EXISTS change_request_settings ( + project varchar(255) REFERENCES projects(id) ON DELETE CASCADE, + environment varchar(100) REFERENCES environments(name) ON DELETE CASCADE, + PRIMARY KEY(project, environment) + ); + `, + callback, + ); +}; + +exports.down = function (db, callback) { + db.runSql( + ` + DROP TABLE IF EXISTS change_request_settings; + `, + callback, + ); +}; diff --git a/src/migrations/20221110144113-revert-change-request-project-options.js b/src/migrations/20221110144113-revert-change-request-project-options.js new file mode 100644 index 0000000000..04aba2594b --- /dev/null +++ b/src/migrations/20221110144113-revert-change-request-project-options.js @@ -0,0 +1,21 @@ +'use strict'; + +exports.up = function (db, callback) { + db.runSql( + ` + ALTER TABLE project_environments drop column if exists change_request_enabled; + ALTER TABLE projects drop column if exists change_request_enabled; + `, + callback, + ); +}; + +exports.down = function (db, callback) { + db.runSql( + ` + ALTER TABLE project_environments add column if not exists change_request_enabled bool default false; + ALTER TABLE projects add column if not exists change_request_enabled bool default false; + `, + callback, + ); +};