blob: e1de7c07062964a5cea270526ac374bbaf87171a [file] [log] [blame]
module.exports = function UserServiceFactory(
$rootScope
, socket
, AppState
, AddAdbKeyModalService
) {
var UserService = {}
var user = UserService.currentUser = AppState.user
UserService.getAdbKeys = function() {
return (user.adbKeys || (user.adbKeys = []))
}
UserService.addAdbKey = function(key) {
socket.emit('user.keys.adb.add', key)
}
UserService.acceptAdbKey = function(key) {
socket.emit('user.keys.adb.accept', key)
}
UserService.removeAdbKey = function(key) {
socket.emit('user.keys.adb.remove', key)
}
socket.on('user.keys.adb.added', function(key) {
UserService.getAdbKeys().push(key)
$rootScope.$broadcast('user.keys.adb.updated', user.adbKeys)
$rootScope.$apply()
})
socket.on('user.keys.adb.removed', function(key) {
user.adbKeys = UserService.getAdbKeys().filter(function(someKey) {
return someKey.fingerprint !== key.fingerprint
})
$rootScope.$broadcast('user.keys.adb.updated', user.adbKeys)
$rootScope.$apply()
})
socket.on('user.keys.adb.confirm', function(data) {
AddAdbKeyModalService.open(data).then(function(result) {
if (result) {
UserService.acceptAdbKey(data)
}
})
})
return UserService
}