refactor: update RoleMapping references

This commit is contained in:
Ali BARIN
2024-11-25 15:03:40 +00:00
parent ba82d986c1
commit ee397441ed
16 changed files with 80 additions and 71 deletions

View File

@@ -0,0 +1,30 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`RoleMapping model > jsonSchema should have the correct schema 1`] = `
{
"properties": {
"id": {
"format": "uuid",
"type": "string",
},
"remoteRoleName": {
"minLength": 1,
"type": "string",
},
"roleId": {
"format": "uuid",
"type": "string",
},
"samlAuthProviderId": {
"format": "uuid",
"type": "string",
},
},
"required": [
"samlAuthProviderId",
"roleId",
"remoteRoleName",
],
"type": "object",
}
`;

View File

@@ -1,6 +1,6 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`SamlAuthProvidersRoleMapping model > jsonSchema should have the correct schema 1`] = `
exports[`RoleMapping model > jsonSchema should have the correct schema 1`] = `
{
"properties": {
"id": {

View File

@@ -1,7 +1,7 @@
import Base from './base.js';
import SamlAuthProvider from './saml-auth-provider.ee.js';
class SamlAuthProvidersRoleMapping extends Base {
class RoleMapping extends Base {
static tableName = 'role_mappings';
static jsonSchema = {
@@ -28,4 +28,4 @@ class SamlAuthProvidersRoleMapping extends Base {
});
}
export default SamlAuthProvidersRoleMapping;
export default RoleMapping;

View File

@@ -1,19 +1,19 @@
import { describe, it, expect } from 'vitest';
import SamlAuthProvidersRoleMapping from '../models/saml-auth-providers-role-mapping.ee';
import RoleMapping from './role-mapping.ee';
import SamlAuthProvider from './saml-auth-provider.ee';
import Base from './base';
describe('SamlAuthProvidersRoleMapping model', () => {
describe('RoleMapping model', () => {
it('tableName should return correct name', () => {
expect(SamlAuthProvidersRoleMapping.tableName).toBe('role_mappings');
expect(RoleMapping.tableName).toBe('role_mappings');
});
it('jsonSchema should have the correct schema', () => {
expect(SamlAuthProvidersRoleMapping.jsonSchema).toMatchSnapshot();
expect(RoleMapping.jsonSchema).toMatchSnapshot();
});
it('relationMappings should return correct associations', () => {
const relationMappings = SamlAuthProvidersRoleMapping.relationMappings();
const relationMappings = RoleMapping.relationMappings();
const expectedRelations = {
samlAuthProvider: {

View File

@@ -5,7 +5,7 @@ import appConfig from '../config/app.js';
import axios from '../helpers/axios-with-proxy.js';
import Base from './base.js';
import Identity from './identity.ee.js';
import SamlAuthProvidersRoleMapping from './saml-auth-providers-role-mapping.ee.js';
import RoleMapping from './role-mapping.ee.js';
class SamlAuthProvider extends Base {
static tableName = 'saml_auth_providers';
@@ -53,9 +53,9 @@ class SamlAuthProvider extends Base {
to: 'saml_auth_providers.id',
},
},
samlAuthProvidersRoleMappings: {
roleMappings: {
relation: Base.HasManyRelation,
modelClass: SamlAuthProvidersRoleMapping,
modelClass: RoleMapping,
join: {
from: 'saml_auth_providers.id',
to: 'role_mappings.saml_auth_provider_id',
@@ -134,25 +134,22 @@ class SamlAuthProvider extends Base {
async updateRoleMappings(roleMappings) {
return await SamlAuthProvider.transaction(async (trx) => {
await this.$relatedQuery('samlAuthProvidersRoleMappings', trx).delete();
await this.$relatedQuery('roleMappings', trx).delete();
if (isEmpty(roleMappings)) {
return [];
}
const samlAuthProvidersRoleMappingsData = roleMappings.map(
(samlAuthProvidersRoleMapping) => ({
...samlAuthProvidersRoleMapping,
samlAuthProviderId: this.id,
})
const roleMappingsData = roleMappings.map((roleMapping) => ({
...roleMapping,
samlAuthProviderId: this.id,
}));
const newRoleMappings = await RoleMapping.query(trx).insertAndFetch(
roleMappingsData
);
const samlAuthProvidersRoleMappings =
await SamlAuthProvidersRoleMapping.query(trx).insertAndFetch(
samlAuthProvidersRoleMappingsData
);
return samlAuthProvidersRoleMappings;
return newRoleMappings;
});
}
}

View File

@@ -1,6 +1,6 @@
import { vi, describe, it, expect } from 'vitest';
import SamlAuthProvider from '../models/saml-auth-provider.ee';
import SamlAuthProvidersRoleMapping from '../models/saml-auth-providers-role-mapping.ee';
import RoleMapping from '../models/role-mapping.ee';
import Identity from './identity.ee';
import Base from './base';
import appConfig from '../config/app';
@@ -26,9 +26,9 @@ describe('SamlAuthProvider model', () => {
to: 'saml_auth_providers.id',
},
},
samlAuthProvidersRoleMappings: {
roleMappings: {
relation: Base.HasManyRelation,
modelClass: SamlAuthProvidersRoleMapping,
modelClass: RoleMapping,
join: {
from: 'saml_auth_providers.id',
to: 'role_mappings.saml_auth_provider_id',