mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-01-16 20:32:21 +01:00
157 lines
3.9 KiB
JavaScript
157 lines
3.9 KiB
JavaScript
(function () {
|
|
'use strict';
|
|
|
|
// Users service used for communicating with the users REST endpoint
|
|
angular
|
|
.module('users.services')
|
|
.factory('UsersService', UsersService);
|
|
|
|
UsersService.$inject = ['$resource'];
|
|
|
|
function UsersService($resource) {
|
|
var Users = $resource('/api/users', {}, {
|
|
update: {
|
|
method: 'PUT'
|
|
},
|
|
updatePassword: {
|
|
method: 'POST',
|
|
url: '/api/users/password'
|
|
},
|
|
resetPasskey: {
|
|
method: 'POST',
|
|
url: '/api/users/passkey'
|
|
},
|
|
deleteProvider: {
|
|
method: 'DELETE',
|
|
url: '/api/users/accounts',
|
|
params: {
|
|
provider: '@provider'
|
|
}
|
|
},
|
|
sendPasswordResetToken: {
|
|
method: 'POST',
|
|
url: '/api/auth/forgot'
|
|
},
|
|
resetPasswordWithToken: {
|
|
method: 'POST',
|
|
url: '/api/auth/reset/:token'
|
|
},
|
|
signup: {
|
|
method: 'POST',
|
|
url: '/api/auth/signup'
|
|
},
|
|
signin: {
|
|
method: 'POST',
|
|
url: '/api/auth/signin'
|
|
}
|
|
});
|
|
|
|
angular.extend(Users, {
|
|
changePassword: function (passwordDetails) {
|
|
return this.updatePassword(passwordDetails).$promise;
|
|
},
|
|
changePasskey: function () {
|
|
return this.resetPasskey().$promise;
|
|
},
|
|
removeSocialAccount: function (provider) {
|
|
return this.deleteProvider({
|
|
provider: provider // api expects provider as a querystring parameter
|
|
}).$promise;
|
|
},
|
|
requestPasswordReset: function (credentials) {
|
|
return this.sendPasswordResetToken(credentials).$promise;
|
|
},
|
|
resetPassword: function (token, passwordDetails) {
|
|
return this.resetPasswordWithToken({
|
|
token: token // api expects token as a parameter (i.e. /:token)
|
|
}, passwordDetails).$promise;
|
|
},
|
|
userSignup: function (credentials) {
|
|
return this.signup(credentials).$promise;
|
|
},
|
|
userSignin: function (credentials) {
|
|
return this.signin(credentials).$promise;
|
|
}
|
|
});
|
|
|
|
return Users;
|
|
}
|
|
|
|
// TODO this should be Users service
|
|
angular
|
|
.module('users.admin.services')
|
|
.factory('AdminService', AdminService);
|
|
|
|
AdminService.$inject = ['$resource'];
|
|
|
|
function AdminService($resource) {
|
|
var Users = $resource('/api/users/:userId', {
|
|
userId: '@_id'
|
|
}, {
|
|
update: {
|
|
method: 'PUT'
|
|
},
|
|
updateUserRole: {
|
|
method: 'POST',
|
|
url: '/api/users/:userId/role',
|
|
params: {
|
|
userId: '@userId',
|
|
userRole: '@userRole'
|
|
}
|
|
},
|
|
updateUserStatus: {
|
|
method: 'POST',
|
|
url: '/api/users/:userId/status',
|
|
params: {
|
|
userId: '@userId',
|
|
userStatus: '@userStatus'
|
|
}
|
|
},
|
|
updateUserScore: {
|
|
method: 'POST',
|
|
url: '/api/users/:userId/score',
|
|
params: {
|
|
userId: '@userId',
|
|
userScore: '@userScore'
|
|
}
|
|
},
|
|
updateUserUploaded: {
|
|
method: 'POST',
|
|
url: '/api/users/:userId/uploaded',
|
|
params: {
|
|
userId: '@userId',
|
|
userUploaded: '@userUploaded'
|
|
}
|
|
},
|
|
updateUserDownloaded: {
|
|
method: 'POST',
|
|
url: '/api/users/:userId/downloaded',
|
|
params: {
|
|
userId: '@userId',
|
|
userDownloaded: '@userDownloaded'
|
|
}
|
|
}
|
|
});
|
|
|
|
angular.extend(Users, {
|
|
setUserRole: function (params) {
|
|
return this.updateUserRole(params).$promise;
|
|
},
|
|
setUserStatus: function (params) {
|
|
return this.updateUserStatus(params).$promise;
|
|
},
|
|
setUserScore: function (params) {
|
|
return this.updateUserScore(params).$promise;
|
|
},
|
|
setUserUploaded: function (params) {
|
|
return this.updateUserUploaded(params).$promise;
|
|
},
|
|
setUserDownloaded: function (params) {
|
|
return this.updateUserDownloaded(params).$promise;
|
|
}
|
|
});
|
|
|
|
return Users;
|
|
}
|
|
}());
|