User Manager ожидает бэкенд сервер для загрузки данных. Вы можете передать ссылку на сервер через параметр url:
webix.ui({
view: "usermanager",
url: "https://docs.webix.com/usermanager-backend/"
});
User Manager использует следующие URL для загрузки и сохранения данных:
Вы также можете скачать готовый бэкенд для User Manager.
Если у вас нет бэкенд сервера, вы можете кастомизировать методы сервиса Backend и предоставлять клиентские данные в виде промиса.
Сервис Backend это серверная модель, у которой есть методы для запросов на сервер. Они вызываются сервисом Operations при необходимости загрузки или сохранения данных.
Полный список методов вы найдёте ниже.
Чтобы менять запросы, получать и обрабатывать ответные данные вы можете:
class MyBackend extends userManager.services.Backend {
// новые методы
}
webix.ui({
view: "usermanager",
url:"http://localhost:3200/",
override: new Map([
[userManager.services.Backend, MyBackend]
])
});
Чвы можете отправлять AJAX запросы на ваш сервер с помощью необходимых URL, напр.:
Добавляем пользователя
class MyBackend extends userManager.services.Backend {
addUser(data) {
return webix.ajax().post("//localhost:3200/users", data)
.then(data => data.json());
}
}
Если вы хотите передать в User Manager клиентские данные, вам необходимо вернуть промис внутри следующих методов:
Клиентские данные
class MyBackend extends userManager.services.Backend {
users() {
return webix.promise.resolve(users);
}
roles() {
return webix.promise.resolve(roles);
}
rules() {
return webix.promise.resolve(rules);
}
}
Related sample: User Manager: Local Data
Смотрите необходимый формат входных данных.
В этой секции вы найдёте детальное описание следующих методов:
Вызывается для всех операций по получению данных. Создаёт GET запрос по указанному пути.
Parameters:
Returns: промис с данными.
Вызывается для всех операций по сохранению данных. Создаёт POST/DELETE/PUT запрос с типом данных application/json в зависимости от действия пользователя.
Parameters:
Returns: промис с данными.
Вызывается при инициализации виджета.
Returns: промис с массивом объектов пользователей.
Request:
GET http://localhost:3200/users
Response:
Сервер возвращает массив с объектами пользователей.
[
{"id":87,"name":"Berni Mayour","email":"","details":"",
"visited":"2020-05-21T10:02:06Z","registered":"2020-05-21T10:02:06Z",
"avatar":"http://localhost:3200/users/87/avatar/503723673.jpg",
"status":1},
{"id":95,"name":"John Doe","email":"","details":"",
"visited":"2020-05-31T17:21:12Z","registered":"2020-05-31T17:21:12Z",
"avatar":"","status":0}
]
Добавляет нового пользователя.
Parameters:
Returns: промис с объектом ID пользователя.
Request:
POST http://localhost:3200/users
Request Payload
name: "Walter Scott"
Response:
Сервер возвращает объект с ID пользователя.
{"id":99}
Удаляет указанного пользователя.
Parameters:
Returns: промис с объектом ID пользователя.
Request:
DELETE http://localhost:3200/users/98
Response:
Сервер возвращает объект с ID пользователя.
{"id":98}
Изменяет и сохраняет данные указанного пользователя.
Parameters:
Returns: промис с объектом ID пользователя.
Request:
PUT http://localhost:3200/users/99
Request Payload
avatar: ""
details: ""
email: "elly.soyer@example.com"
id: 98
name: "Elly Soyer"
registered: "2020-05-31T17:42:34Z"
status: 1
visited: "2020-05-31T17:42:34Z"
Response:
Сервер возвращает объект с ID пользователя.
{"id":98}
Вызывается, когда пользователь открывает список ролей.
Returns: промис с массивом объектов ролей.
Request:
GET http://localhost:3200/roles
Response:
Сервер возвращает массив с объектами ролей.
[
{"id":1,"name":"The Creator","color":"#00a037","details":""},
{"id":2,"name":"Sales","color":"#e7a90b","details":""},
{"id":3,"name":"Admin","color":"#038cd9","details":""}
]
Добавляет новую роль.
Parameters:
Returns: промис с объектом ID роли.
Request:
POST http://localhost:3200/roles
Request Payload
name: "Manager"
Response:
Сервер возвращает объект с ID роли.
{"id":5}
Удаляет указанную .
Parameters:
Returns: промис с объектом ID роли.
Request:
DELETE http://localhost:3200/roles/3
Response:
Сервер возвращает объект с ID роли.
{"id":3}
Изменяет и сохраняет данные указанной роли.
Parameters:
Returns: промис с объектом ID роли.
Request:
PUT http://localhost:3200/roles/7
Request Payload
color: "#006EDD"
details: ""
id: 7
name: "Designer"
rules: [7, 1]
Response:
Сервер возвращает объект с ID роли.
{"id":7}
Вызывается, когда пользователь открывает список правил.
Returns: промис с массивом объектов правил.
Request:
GET http://localhost:3200/rules
Response:
Сервер возвращает массив объектов правил.
[
{"id":1,"short":"CanSeeUsers","long":"Can see user details and access levels"},
{"id":2,"short":"CanEditUsers","long":"Can modify user details and access levels"},
{"id":3,"short":"CanAdminProjects","long":"Can create projects"}
]
Вызывается, когда пользователь переходит во вкладку аудита.
Returns: промис с объектом отношений категорий.
Request:
GET http://localhost:3200/meta
Response:
Сервер возвращает объект с отношениями между пользователями и ролями:
{
"RoleRule":[[3,1]],
"UserRole":[[4,3]], // пользователю с ID: 4 присвоена роль с ID: 3
"UserRule":[[2,6]]
}
Вызывается при загрузке нового аватара.
Parameters:
Returns: объект с данными аватара.
Request:
POST http://localhost:3200/users/95/avatar
Response:
Сервер возвращает объект данных загруженного аватара.
{
"status":"server",
"value":"http://localhost:3200/users/95/avatar/photo.jpg"
}
Вызывается, когда пользователь переходит в область редактирования профиля.
Parameters:
Returns: промис с массивом учётных данных пользователя.
Request:
GET http://localhost:3200/user/87/credentials
Добавляет учётные данные пользователю.
Parameters:
Returns: промис с объектом ID пользователя.
Request:
POST http://localhost:3200/user/100/credentials
Request Payload
record: "test"
source: 1
user_id: 100
Response:
Сервер возвращает объект с ID пользователя.
{"id":100}
Вызывается при сбросе пароля пользователя.
Parameters:
Returns: промис с объектом ID учётных данных.
Request:
PUT http://localhost:3200/user/100/credentials
Request Payload
id: 23
record: "qwerty123"
Response:
Сервер возвращает объект с ID учётных данных.
{"id":100}
Вызывается при удалении учётный данных.
Parameters:
Returns: объект с ID учётных данных.
Request:
DELETE http://localhost:3200/user/100/credentials/23
Содержит URL сегмент, ID пользователя и ID учётных данных.
Response:
Сервер возвращает объект с ID учётной записи.
{"id":23}
Вызывается, когда пользователь выбирает одну из записей (logins, changes to или changes by) в разделе аудита.
Parameters:
Returns: промис с массивом объектов аудита.
GET http://localhost:3200/logs/by-user/100
Содержит URL сегмент, тип записей и ID пользователя.
Response:
Сервер возвращает массив объектов аудита. Ниже представлен пример аудита записи changes to.
[
{"id":506,"user_id":1,"target_id":87,"type":5,
"details":"Berni Mayour","date":"2020-05-21T10:02:06Z"},
{"id":524,"user_id":1,"target_id":87,"type":6,
"details":"role Guest added","date":"2020-05-21T14:36:56Z"}
]
Вызывается, когда пользователь переходит в раздел аудита.
Returns: промис с массивом выполненных пользователем действий.
Request:
GET http://localhost:3200/logs/meta
Response:
Сервер возвращает массив объектов аудита по выполненным в User Manager действиям.
{
"1":{"name":"User login","target":"user"},
"2":{"name":"Role added","target":"role"},
"3":{"name":"Role data changed","target":"role"},
}
Наверх