Files
pear-admin-flask/static/api/http.js
T

87 lines
2.5 KiB
JavaScript

class File {
constructor () {
this.FILE_PATH = '/api/v1/file'
this.FILE_API = {
'PHOTOS': () => `${this.FILE_PATH}/photos`,
'PHOTO': (photo_id) => `${this.FILE_PATH}/photo/${photo_id}`,
}
}
}
class Department {
constructor () {
this.DEPARTMENT_PATH = '/api/v1/dept'
this.DEPARTMENT_API = {
'DEPARTMENTS': () => `${this.DEPARTMENT_PATH}/departments`,
'DEPARTMENT': (dept_id) => `${this.DEPARTMENT_PATH}/department/${dept_id}`,
'DEPARTMENT_STATUS': (dept_id) => `${this.DEPARTMENT_PATH}/department/${dept_id}/status`
}
}
}
class Rights {
constructor () {
this.DEPARTMENT_PATH = '/api/v1/rights'
this.RIGHTS_API = {
'RIGHTS': () => `${this.DEPARTMENT_PATH}/rights`,
'POWER': (power_id) => `${this.DEPARTMENT_PATH}/power/${power_id}`,
'POWER_STATUS': (power_id) => `${this.DEPARTMENT_PATH}/power/${power_id}/status`
}
}
}
class Role {
constructor () {
this.ROLE_PATH = '/api/v1/roles'
this.ROLE_API = {
'ROLES': () => `${this.ROLE_PATH}/roles`,
'ROLE': (role_id) => `${this.ROLE_PATH}/role/${role_id}`,
'ROLE_STATUS': (role_id) => `${this.ROLE_PATH}/role/${role_id}/status`,
'ROLE_POWER': (role_id) => `${this.ROLE_PATH}/role_power/${role_id}`
}
}
async get_roles () {
return fetch(this.ROLE_API.ROLES())
.then(function (response) {
return response.json()
})
.then(function (myJson) {
return myJson
})
}
}
class Users {
constructor () {
this.USER_PATH = '/api/v1/users'
this.USER_API = {
'USERS': () => `${this.USER_PATH}/users`,
'USER': (user_id) => `${this.USER_PATH}/user/${user_id}`,
'USER_ROLE': (user_id) => `${this.USER_PATH}/user/${user_id}/role`,
'USER_STATUS': (user_id) => `${this.USER_PATH}/user/${user_id}/status`,
'USER_AVATAR': (user_id) => `${this.USER_PATH}/user/${user_id}/avatar`,
'USER_INFO': (user_id) => `${this.USER_PATH}/user/${user_id}/info`,
'USER_PASSWORD': (user_id) => `${this.USER_PATH}/user/${user_id}/password`,
}
}
}
const FILE = new File()
const FILE_API = FILE.FILE_API
const DEPARTMENT = new Department()
const DEPARTMENT_API = DEPARTMENT.DEPARTMENT_API
const RIGHTS = new Rights()
const RIGHTS_API = RIGHTS.RIGHTS_API
const ROLE = new Role()
const ROLE_API = ROLE.ROLE_API
const USER = new Users()
const USER_API = USER.USER_API
export {
FILE, FILE_API, DEPARTMENT,
DEPARTMENT_API,
RIGHTS, RIGHTS_API,
ROLE, ROLE_API,
USER, USER_API
}