Files
stf-DeviceFarmer/res/app/components/stf/users/users-service.js
Denis Barbaron 489ba0427e Add maintenance banner on UI (#797)
* fix bug on email separator

Signed-off-by: Denis barbaron <denis.barbaron@orange.com>

* allow group name change

Signed-off-by: Denis barbaron <denis.barbaron@orange.com>

* add maintenance banner on UI

Signed-off-by: Denis barbaron <denis.barbaron@orange.com>

* removes unnecessary comments

Signed-off-by: Denis barbaron <denis.barbaron@orange.com>

---------

Signed-off-by: Denis barbaron <denis.barbaron@orange.com>
2024-07-19 10:33:52 +02:00

106 lines
2.9 KiB
JavaScript

/**
* Copyright © 2019-2024 code initially contributed by Orange SA, authors: Denis Barbaron - Licensed under the Apache license 2.0
**/
const oboe = require('oboe')
module.exports = function UsersServiceFactory(
$rootScope
, $http
, socket
, CommonService
) {
const UsersService = {}
function buildQueryParameters(filters) {
var query = ''
if (filters.groupOwner !== 'Any') {
query += 'groupOwner=' + filters.groupOwner.toLowerCase()
}
return query === '' ? query : '?' + query
}
UsersService.getOboeUsers = function(fields, addUser) {
return oboe(CommonService.getBaseUrl() + '/api/v1/users?fields=' + fields)
.node('users[*]', function(user) {
addUser(user)
})
}
UsersService.getUsersAlertMessage = function() {
return $http.get('/api/v1/users/alertMessage')
}
UsersService.getUsers = function(fields) {
return $http.get('/api/v1/users?fields=' + fields)
}
UsersService.getUser = function(email, fields) {
return $http.get('/api/v1/users/' + email + '?fields=' + fields)
}
UsersService.removeUser = function(email, filters) {
return $http.delete('/api/v1/users/' + email + buildQueryParameters(filters))
}
UsersService.removeUsers = function(filters, emails) {
return $http({
method: 'DELETE',
url: '/api/v1/users' + buildQueryParameters(filters),
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
data: typeof emails === 'undefined' ? emails : JSON.stringify({emails: emails})
})
}
UsersService.updateUserGroupsQuotas = function(email, number, duration, repetitions) {
return $http.put(
'/api/v1/users/' + email +
'/groupsQuotas?number=' + number +
'&duration=' + duration +
'&repetitions=' + repetitions
)
}
UsersService.updateDefaultUserGroupsQuotas = function(number, duration, repetitions) {
return $http.put(
'/api/v1/users/groupsQuotas?number=' + number +
'&duration=' + duration +
'&repetitions=' + repetitions
)
}
UsersService.createUser = function(name, email) {
return $http.post('/api/v1/users/' + email + '?name=' + name)
}
socket.on('user.settings.users.created', function(user) {
$rootScope.$broadcast('user.settings.users.created', user)
$rootScope.$apply()
})
socket.on('user.settings.users.deleted', function(user) {
$rootScope.$broadcast('user.settings.users.deleted', user)
$rootScope.$apply()
})
socket.on('user.view.users.updated', function(user) {
$rootScope.$broadcast('user.view.users.updated', user)
$rootScope.$apply()
})
socket.on('user.settings.users.updated', function(user) {
$rootScope.$broadcast('user.settings.users.updated', user)
$rootScope.$apply()
})
socket.on('user.menu.users.updated', function(user) {
$rootScope.$broadcast('user.menu.users.updated', user)
$rootScope.$apply()
})
return UsersService
}