diff --git a/src/lib/types/permissions.ts b/src/lib/types/permissions.ts index 46925e5f9e..60c7a227df 100644 --- a/src/lib/types/permissions.ts +++ b/src/lib/types/permissions.ts @@ -5,6 +5,9 @@ export const UPDATE_FEATURE = 'UPDATE_FEATURE'; export const DELETE_FEATURE = 'DELETE_FEATURE'; export const CREATE_STRATEGY = 'CREATE_STRATEGY'; export const UPDATE_STRATEGY = 'UPDATE_STRATEGY'; +export const CREATE_FEATURE_STRATEGY = 'CREATE_FEATURE_STRATEGY'; +export const UPDATE_FEATURE_STRATEGY = 'UPDATE_FEATURE_STRATEGY'; +export const TOGGLE_FEATURE_ENVIRONMENT = 'TOGGLE_FEATURE_ENVIRONMENT'; export const DELETE_STRATEGY = 'DELETE_STRATEGY'; export const UPDATE_APPLICATION = 'UPDATE_APPLICATION'; export const CREATE_CONTEXT_FIELD = 'CREATE_CONTEXT_FIELD'; diff --git a/src/migrations/20211130085012-add-row-to-role-permissions.js b/src/migrations/20211130085012-add-row-to-role-permissions.js new file mode 100644 index 0000000000..8fddafc687 --- /dev/null +++ b/src/migrations/20211130085012-add-row-to-role-permissions.js @@ -0,0 +1,27 @@ +exports.up = function (db, cb) { + db.runSql( + ` + ALTER TABLE role_permission ADD COLUMN environment text; + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'CREATE_FEATURE_STRATEGY', 'default'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'UPDATE_FEATURE_STRATEGY', 'default'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'TOGGLE_FEATURE_ENVIRONMENT', 'default'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'CREATE_FEATURE_STRATEGY', 'development'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'UPDATE_FEATURE_STRATEGY', 'development'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'TOGGLE_FEATURE_ENVIRONMENT', 'development'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'CREATE_FEATURE_STRATEGY', 'production'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'UPDATE_FEATURE_STRATEGY', 'production'); + INSERT INTO role_permission (role_id, project, permission, environment) VALUES ('2', 'default', 'TOGGLE_FEATURE_ENVIRONMENT', 'production'); + `, + cb, + ); +}; + +exports.down = function (db, cb) { + db.runSql( + ` + DELETE FROM role_permission WHERE environment IS NOT NULL; + ALTER TABLE role_permission DROP COLUMN environment; + `, + cb, + ); +};