refactor(update-role-mappings): move logic to model

This commit is contained in:
Ali BARIN
2024-09-02 15:38:53 +00:00
parent 5556aea913
commit fbb6526aac
2 changed files with 35 additions and 32 deletions

View File

@@ -1,7 +1,5 @@
import isEmpty from 'lodash/isEmpty.js';
import { renderObject } from '../../../../../helpers/renderer.js';
import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js';
import SamlAuthProvidersRoleMapping from '../../../../../models/saml-auth-providers-role-mapping.ee.js';
export default async (request, response) => {
const samlAuthProviderId = request.params.samlAuthProviderId;
@@ -11,31 +9,9 @@ export default async (request, response) => {
.throwIfNotFound();
const samlAuthProvidersRoleMappings =
await SamlAuthProvidersRoleMapping.transaction(async (trx) => {
await samlAuthProvider
.$relatedQuery('samlAuthProvidersRoleMappings', trx)
.delete();
const roleMappings = samlAuthProvidersRoleMappingsParams(request);
if (isEmpty(roleMappings)) {
return [];
}
const samlAuthProvidersRoleMappingsData = roleMappings.map(
(samlAuthProvidersRoleMapping) => ({
...samlAuthProvidersRoleMapping,
samlAuthProviderId: samlAuthProvider.id,
})
);
const samlAuthProvidersRoleMappings =
await SamlAuthProvidersRoleMapping.query(trx).insertAndFetch(
samlAuthProvidersRoleMappingsData
);
return samlAuthProvidersRoleMappings;
});
await samlAuthProvider.updateRoleMappings(
samlAuthProvidersRoleMappingsParams(request)
);
renderObject(response, samlAuthProvidersRoleMappings);
};