cheetah-framework
Version:
Cheetah Framework JS used in all our applications
40 lines (31 loc) • 925 B
JavaScript
import { LaravelModel, LaravelBackendPromise } from './LaravelModel'
import config from '@cheetah/config'
class User extends LaravelModel {
static get resourceName () {
return 'users'
}
get defaultValue () {
return {
name: '',
email: '',
username: '',
password: ''
}
}
static check () {
return LaravelBackendPromise('get', route(_.get(config, 'auth.routes.check.name', 'check')))
}
static login (formData) {
return LaravelBackendPromise('post', route(_.get(config, 'auth.routes.login.name', 'login')), formData)
}
static logout () {
return LaravelBackendPromise('post', route(_.get(config, 'auth.routes.logout.name', 'logout')))
}
can (...permissions) {
return permissions.every(permission => !!this.permissions?.includes(permission))
}
is (...roles) {
return roles.some(role => !!this.roles?.includes(role))
}
}
export default User