Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. import Modele from 'modele'
  2.  
  3. const UserModel = new Modele({
  4. api: {
  5. default: {
  6. baseURL: '/api/users',
  7. actions: {
  8. updatePassword: {
  9. on: 'member',
  10. path: 'password',
  11. method: 'PUT',
  12. data: true
  13. },
  14. uploadAvatar: {
  15. on: 'member',
  16. path: false,
  17. method: 'PUT',
  18. data: true
  19. }
  20. }
  21. }
  22. },
  23.  
  24. computed: {
  25. fullName () {
  26. if (_.isEmpty(this.name) && _.isEmpty(this.surname))
  27. return null
  28.  
  29. return `${this.name} ${this.surname}`
  30. }
  31. },
  32.  
  33. methods: {
  34. avatar (size) {
  35. return _.get(this.avatar_url, size)
  36. },
  37.  
  38. hasRole(role, project) {
  39. if (!project)
  40. return false
  41.  
  42. return _.some(this.memberships, (m) => {
  43. return m.project_id == project.id && m.role == role
  44. })
  45. }
  46. }
  47. })
  48.  
  49. export default UserModel
  50.  
  51. // --- USAGE
  52.  
  53. let user
  54. let newAvatar
  55.  
  56. UserModel
  57. .api()
  58. .find(1)
  59. .then(res => res.json())
  60. .then(data => user = UserModel.new(data))
  61.  
  62. user.fullName
  63. // => Luke Skywalker
  64.  
  65. user.avatar('thumb')
  66. // => ????
  67.  
  68. user.avatar = newAvatar
  69.  
  70. user
  71. .api()
  72. .updateAvatar()
  73. .then(res => console.log('Success!'))
  74. .catch(err => console.log('Error!'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement