Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Modele from 'modele'
- const UserModel = new Modele({
- api: {
- default: {
- baseURL: '/api/users',
- actions: {
- updatePassword: {
- on: 'member',
- path: 'password',
- method: 'PUT',
- data: true
- },
- uploadAvatar: {
- on: 'member',
- path: false,
- method: 'PUT',
- data: true
- }
- }
- }
- },
- computed: {
- fullName () {
- if (_.isEmpty(this.name) && _.isEmpty(this.surname))
- return null
- return `${this.name} ${this.surname}`
- }
- },
- methods: {
- avatar (size) {
- return _.get(this.avatar_url, size)
- },
- hasRole(role, project) {
- if (!project)
- return false
- return _.some(this.memberships, (m) => {
- return m.project_id == project.id && m.role == role
- })
- }
- }
- })
- export default UserModel
- // --- USAGE
- let user
- let newAvatar
- UserModel
- .api()
- .find(1)
- .then(res => res.json())
- .then(data => user = UserModel.new(data))
- user.fullName
- // => Luke Skywalker
- user.avatar('thumb')
- // => ????
- user.avatar = newAvatar
- user
- .api()
- .updateAvatar()
- .then(res => console.log('Success!'))
- .catch(err => console.log('Error!'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement