refs #5770 updates with real environment
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
parent
0eb23312a7
commit
64539a4a0d
|
@ -1,8 +1,9 @@
|
||||||
const app = require('vn-loopback/server/server');
|
const app = require('vn-loopback/server/server');
|
||||||
const ldap = require('../util/ldapjs-extra');
|
const ldap = require('../util/ldapjs-extra');
|
||||||
const { differences, handleExecResponse, toMap } = require('../util/helpers');
|
const { differences, handleExecResponse, toMap } = require('../util/helpers');
|
||||||
|
const { stdout } = require('process');
|
||||||
const execFile = require('child_process').execFile;
|
const execFile = require('child_process').execFile;
|
||||||
|
const ROLE_PREFIX = 'VN_';
|
||||||
/**
|
/**
|
||||||
* Summary of userAccountControl flags:
|
* Summary of userAccountControl flags:
|
||||||
* https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
|
* https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
|
||||||
|
@ -187,10 +188,10 @@ module.exports = Self => {
|
||||||
order: 'modified DESC',
|
order: 'modified DESC',
|
||||||
limit: 1
|
limit: 1
|
||||||
}));
|
}));
|
||||||
let rolesMap = roles.map(role => role.name);
|
let rolesMap = roles;//.map(({id, name, description}) => ({id, name, description}));
|
||||||
|
|
||||||
// OBTENER SAMBA ROLES
|
// OBTENER SAMBA ROLES
|
||||||
let sambaCurrentRoles = handleExecResponse(await this.sambaTool('group', ['list']));
|
let sambaCurrentRoles = handleExecResponse(await this.sambaTool('group', ['list'])).filter(group => group.startsWith(ROLE_PREFIX));
|
||||||
|
|
||||||
// Encontrar elementos a eliminar
|
// Encontrar elementos a eliminar
|
||||||
const rolesToDelete = differences(sambaCurrentRoles, rolesMap);
|
const rolesToDelete = differences(sambaCurrentRoles, rolesMap);
|
||||||
|
@ -248,15 +249,26 @@ module.exports = Self => {
|
||||||
if (rolesToInsert.length > 0) {
|
if (rolesToInsert.length > 0) {
|
||||||
// PROCEDIMIENTO PARA INSERTAR ROLES
|
// PROCEDIMIENTO PARA INSERTAR ROLES
|
||||||
const resultsRoleInsert = await Promise.all(
|
const resultsRoleInsert = await Promise.all(
|
||||||
rolesToInsert.map(role => this.sambaTool('group', ['add', role]))
|
rolesToInsert.map(({id, description,name}) => this.sambaTool('group', ['add', `${ROLE_PREFIX}${name}`, `--description="${description}"`]))
|
||||||
);
|
);
|
||||||
|
resultsRoleInsert.forEach(({stdout}) => console.log(stdout));
|
||||||
|
|
||||||
// PROCEDIMIENTO PARA INSERTAR USUARIOS ASOCIADOS AL ROL
|
// PROCEDIMIENTO PARA INSERTAR USUARIOS ASOCIADOS AL ROL
|
||||||
let usersToInsert = rolesToInsert.flatMap(role => usersMap.get(role).map(
|
let usersToInsert = rolesToInsert.flatMap(role => usersMap.get(role.name).map(
|
||||||
a => this.sambaTool('group', ['addmembers', role, a])
|
a => this.sambaTool('user', ['add', a,
|
||||||
|
'--random-password', '--must-change-at-next-login'])
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
const resultsUserInsert = await Promise.all(usersToInsert);
|
const resultsUserInsert = await Promise.all(usersToInsert);
|
||||||
|
resultsUserInsert.forEach(({stdout}) => console.log(stdout));
|
||||||
|
|
||||||
|
// PROCEDIMIENTO PARA INSERTAR USUARIOS ASOCIADOS AL ROL
|
||||||
|
let usersToGroup = rolesToInsert.flatMap(role => usersMap.get(role).map(
|
||||||
|
a => this.sambaTool('group', ['addmembers', `${ROLE_PREFIX}${role}`, a])
|
||||||
|
)
|
||||||
|
);
|
||||||
|
const resultsUserGroup = await Promise.all(usersToGroup);
|
||||||
|
resultsUserGroup.forEach(({stdout}) => console.log(stdout));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rolesToUpdate.length > 0) {
|
if (rolesToUpdate.length > 0) {
|
||||||
|
|
Loading…
Reference in New Issue