1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-15 00:24:09 +01:00
fab-manager/app/frontend/src/javascript/services/member.js

57 lines
1.5 KiB
JavaScript

'use strict';
Application.Services.factory('Member', ['$resource', 'Setting', function ($resource, Setting) {
return $resource('/api/members/:id',
{ id: '@id' }, {
update: {
method: 'PUT'
},
lastSubscribed: {
method: 'GET',
url: '/api/last_subscribed/:limit',
params: { limit: '@limit' },
isArray: true
},
merge: {
method: 'PUT',
url: '/api/members/:id/merge'
},
list: {
url: '/api/members/list',
method: 'POST',
isArray: true
},
search: {
method: 'GET',
url: '/api/members/search/:query',
params: { query: '@query' },
isArray: true
},
mapping: {
method: 'GET',
url: '/api/members/mapping'
},
completeTour: {
method: 'PATCH',
url: '/api/members/:id/complete_tour',
params: { id: '@id' },
interceptor: {
response: function (response) {
return Setting.query({ names: "['feature_tour_display']" }).$promise.then((settings) => {
if (settings.feature_tour_display === 'session') {
Fablab.sessionTours.push(response.data.tours[0]);
return { tours: Fablab.sessionTours };
}
return response.data;
});
}
}
},
updateRole: {
method: 'PATCH',
url: '/api/members/:id/update_role'
}
}
);
}]);