@anzuev/studcloud.uams
v1.0.14
Published
User Account Management Service for StudCloud project
Downloads
25
Readme
UAMS
UAMS
UAMS~UAMS
Kind: inner class of UAMS
this: {UAMS}
- ~UAMS
- .configure(config)
- .getUserById(id) ⇒ user
- .getUserByMail(mail) ⇒ user
- .getUserByPhone(phone) ⇒ user
- .getUsersByKeyAndContext(key, context) ⇒
- .getUsersByTwoKeysAndContext(key1, key2, context) ⇒
- .getUsersByUniversity(university) ⇒
- .getUsersByFaculty(faculty) ⇒
- .getUsersByGroup(university, faculty, group) ⇒
- .getUsersByYear(year) ⇒
- .getUsersByMailConfirmation(skip) ⇒
- .countUsersByMailConfirmation() ⇒ number
- .getUsersByMobileConfirmation(skip) ⇒
- .countUsersByMobileConfirmation() ⇒ number
- .countNewUsersToday() ⇒ number
- .countNewUsersThisWeek() ⇒ number
- .countNewUsersThisMonth() ⇒ number
- .countNewUsersThisYear() ⇒ number
- .countAllUsers() ⇒ number
- .createUser(authData) ⇒ user
- .blockUser(userId) ⇒ boolean
- .removeUser(userId) ⇒ boolean
UAMS.configure(config)
Инициализация модуля. Здесь происходит попытка подключиться к бд, используя данные из конфига, а после происходит привязка модели User к данному подключению
Kind: static method of UAMS
Throws:
- Error - не указано соединение для коллекции 'users'
| Param | Description | | --- | --- | | config | конфигурация типа nconf |
UAMS.getUserById(id) ⇒ user
Получение пользователя по id
Kind: static method of UAMS
Returns: user - объект типа user
Throws:
- DbError - 404, пользователь не найден
- DbError - 500, ошибка базы данных
| Param | Description | | --- | --- | | id | идентификатор пользователя |
UAMS.getUserByMail(mail) ⇒ user
Получение пользователя по почте
Kind: static method of UAMS
Returns: user - объект типа user
Throws:
- DbError - 404, пользователь не найден
- DbError - 500, ошибка базы данных
| Param | Description | | --- | --- | | mail | почтовый адрес |
UAMS.getUserByPhone(phone) ⇒ user
Получение пользователя по номеру телефона
Kind: static method of UAMS
Returns: user - объект типа user
Throws:
- DbError - 404, пользователь не найден
- DbError - 500, ошибка базы данных
| Param | Type | Description | | --- | --- | --- | | phone | string | номер телефона |
UAMS.getUsersByKeyAndContext(key, context) ⇒
Поиск пользователей по ключу и контексту.
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Type | Description | | --- | --- | --- | | key | | регулярное выражение, сгенерированное на основе данных от пользователя. | | context | object | контекст поиска. Возможны проверти university(objectId), faculty(objectId), year(number), group(string) |
UAMS.getUsersByTwoKeysAndContext(key1, key2, context) ⇒
Поиск пользователей по двум ключам и контексту
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Type | Description | | --- | --- | --- | | key1 | | регулярное выражение, сгенерированное на основе данных от пользователя. | | key2 | | регулярное выражение, сгенерированное на основе данных от пользователя. | | context | object | контекст поиска. Возможны проверти university(objectId), faculty(objectId), year(number), group(string) |
UAMS.getUsersByUniversity(university) ⇒
Поиск пользователей по университету
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Type | Description | | --- | --- | --- | | university | Mongoose.Types.ObjectId | id университета |
UAMS.getUsersByFaculty(faculty) ⇒
Поиск пользователей по факультету
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Type | Description | | --- | --- | --- | | faculty | Mongoose.Types.ObjectId | id факультета |
UAMS.getUsersByGroup(university, faculty, group) ⇒
Поиск пользователей по группе
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Type | Description | | --- | --- | --- | | university | Mongoose.Types.ObjectId | id университета | | faculty | Mongoose.Types.ObjectId | id факультета | | group | Mongoose.Types.ObjectId | группа(string) |
UAMS.getUsersByYear(year) ⇒
Поиск пользователей по курсу
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Type | Description | | --- | --- | --- | | year | Mongoose.Types.ObjectId | год обучения(курс) |
UAMS.getUsersByMailConfirmation(skip) ⇒
Поиск пользователей с подтвержденной почтой
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- ValidationError - 400, параметр skip < 0
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Description | | --- | --- | | skip | сколько страниц сначала необходимо пропустить. На странице 20 элементов. |
UAMS.countUsersByMailConfirmation() ⇒ number
Подсчет количества пользователей с подтвержденной почтой
Kind: static method of UAMS
Returns: number - Количество пользователей
Throws:
- DbError - 500, ошибка базы данных
UAMS.getUsersByMobileConfirmation(skip) ⇒
Поиск пользователей с подтвержденным номером телефона
Kind: static method of UAMS
Returns: [user] массив из объектов типа user, если хотя бы один пользователь найден
Throws:
- ValidationError - 400, параметр skip < 0
- DbError - 204, не найдено пользователей, удовлетворяющих условиям
- DbError - 500, ошибка базы данных
| Param | Description | | --- | --- | | skip | сколько страниц сначала необходимо пропустить. На странице 20 элементов. |
UAMS.countUsersByMobileConfirmation() ⇒ number
Подсчет количества пользователей с подтвержденным номером телефона
Kind: static method of UAMS
Returns: number - Количество пользователей
Throws:
- DbError - 500, ошибка базы данных
UAMS.countNewUsersToday() ⇒ number
Подсчет новых пользователей за сегодня
Kind: static method of UAMS
Returns: number - Количество пользователей
Throws:
- DbError - 500, ошибка базы данных
UAMS.countNewUsersThisWeek() ⇒ number
Подсчет новых пользователей за неделю
Kind: static method of UAMS
Returns: number - Количество пользователей
Throws:
- DbError - 500, ошибка базы данных
UAMS.countNewUsersThisMonth() ⇒ number
Подсчет новых пользователей за месяц
Kind: static method of UAMS
Returns: number - Количество пользователей
Throws:
- DbError - 500, ошибка базы данных
UAMS.countNewUsersThisYear() ⇒ number
Подсчет новых пользователей за год
Kind: static method of UAMS
Returns: number - Количество пользователей
Throws:
- DbError - 500, ошибка базы данных
UAMS.countAllUsers() ⇒ number
Подсчет новых пользователей за все время
Kind: static method of UAMS
Returns: number - Количество пользователей
Throws:
- DbError - 500, ошибка базы данных
UAMS.createUser(authData) ⇒ user
Создание нового пользователя
Kind: static method of UAMS
Returns: user - объект типа user, если все прошло успешно
Throws:
- ValidationError 400, Mail is incorrect - длина почты меньше 5
- ValidationError 400, Password is too weak - длина пароля меньше 5
- ValidationError 400, Incorrect personal info - имя или фамилия не переданы
- AuthError 400, mail {mail} already in use - почта уже кем-то используется
- DbError - 500, ошибка базы данных
| Param | Description | | --- | --- | | authData | данные для авторизации. Пропирти можно увидеть в пункте properties |
Properties
| Name | Description | | --- | --- | | mail | почтовый адрес | | password | пароль | | name | имя пользователя | | surname | пароль |
UAMS.blockUser(userId) ⇒ boolean
Блокировка юзера
Kind: static method of UAMS
Returns: boolean - true - все прошло хорошо
Throws:
- DbError - 404, пользователь не найден
- DbError - 500, ошибка базы данных
| Param | Description | | --- | --- | | userId | идентификатор пользователя |
UAMS.removeUser(userId) ⇒ boolean
Удаление пользователя по идентификатору
Kind: static method of UAMS
Returns: boolean - true - все прошло хорошо
Throws:
- DbError - 400, пользователь не найден
- DbError - 500, ошибка базы данных
| Param | Description | | --- | --- | | userId | идентификатор пользователя |
UAMS~User
Kind: inner class of UAMS
Access: public
- ~User
- .changePhoto(photoId)
- .changeGroup(newGroup)
- .changeUniversity(newUniversity)
- .changeFaculty(newFaculty)
- .changeYear(newYear)
- .changeName(newName)
- .changeSurname(newSurname)
- .format() ⇒ Object | *
- .saveUser() ⇒ user
- .getAuthLevel() ⇒ number
- .isInGroup(group) ⇒ boolean
- .requestMailConfirmation() ⇒ string
- .confirmMail(key) ⇒ boolean
- .requestMobileConfirmation() ⇒ string
- .confirmMobile(key) ⇒ boolean
- .requestPasswordChange()
- .confirmPasswordToken(key) ⇒ boolean
- .setNewPassword(password) ⇒ void
- .getContactsByOneKey(key, context) ⇒ promise
- .getContactsByTwoKeys(key1, key2, context) ⇒ promise
- .getContactsByContext(context) ⇒ promise
user.changePhoto(photoId)
Изменить аватарку
Kind: instance method of User
| Param | Description | | --- | --- | | photoId | идентификатор фотографии на сервере статики |
user.changeGroup(newGroup)
Изменить группу
Kind: instance method of User
Throws:
- ValidationError 400, номер группы совпадает со старым
- ValidationError 400, длина группы не может быть 0
| Param | Description | | --- | --- | | newGroup | новая группа |
user.changeUniversity(newUniversity)
Изменение университета
Kind: instance method of User
this: User
| Param | Type | Description | | --- | --- | --- | | newUniversity | void | идентификатор университета return |
user.changeFaculty(newFaculty)
Изменение факультета
Kind: instance method of User
Throws:
- ValidationError 400, новый факультет совпадает со старым
this: User
| Param | Description | | --- | --- | | newFaculty | id нового факультета |
user.changeYear(newYear)
Изменение курса обучения
Kind: instance method of User
Throws:
- ValidationError 400 - переданное значение курса < 0 или больше 6
| Param | Description | | --- | --- | | newYear | новый курс |
user.changeName(newName)
Изменение имени
Kind: instance method of User
Throws:
- ValidationError 400, Имя должно содержать хотя бы 2 символа
this: {User}
| Param | Description | | --- | --- | | newName | новое имя |
user.changeSurname(newSurname)
Изменение имени
Kind: instance method of User
Throws:
- ValidationError 400, фамилия должна содержать хотя бы 2 символа
this: {User}
| Param | Description | | --- | --- | | newSurname | новая фамилия |
user.format() ⇒ Object | *
Форматирование юзера к виду
Kind: instance method of User
this: {User}
Example
yield* user.format()
// result
{
id: 5747521bf58f75460d9f5960,
name: 'Антон',
surname: 'Ильин',
photo: '',
year: 1,
group: '4304',
faculty: 'Компьютерные технологии',
university: 'СПБГЭТУ Лэти'
}
user.saveUser() ⇒ user
Kind: instance method of User
Returns: user - все прошло хорошо, вернулся объект типа user
Throws:
- DbError 500, ошибка базы данных
this: {User}
user.getAuthLevel() ⇒ number
Получение уровня авторизации
Kind: instance method of User
Returns: number - - 1, 2, 3, 4
this: {User}
user.isInGroup(group) ⇒ boolean
Пользователь принадлежит группе?
Kind: instance method of User
Returns: boolean - , true - принадлежит, false - не принадлежит
this: {User}
| Param | Description | | --- | --- | | group | группа |
user.requestMailConfirmation() ⇒ string
Запрос создания ключа для подтверждения почты
Kind: instance method of User
Returns: string - Новый ключ
this: User
user.confirmMail(key) ⇒ boolean
Подтверждение почты
Kind: instance method of User
Returns: boolean - true - почта подтверждена, false - почта не подтверждена
Throws:
- ValidationError - ключ не может быть пустым
this: User
| Param | Description | | --- | --- | | key | ключ для подтверждения(длина больше 0) |
user.requestMobileConfirmation() ⇒ string
Запрос ключа для подтверждения номера телефона
Kind: instance method of User
Returns: string - - ключ
this: User
user.confirmMobile(key) ⇒ boolean
Подтверждение мобильного телефона
Kind: instance method of User
Returns: boolean - true - номер телефона подтвержден, false - номер телефона не подтвержден
Throws:
- ValidationError 400, ключ не может быть пустым
this: User
| Param | Description | | --- | --- | | key | ключ для подтверждения(длина больше 0) |
user.requestPasswordChange()
Запрос ключа для смены пароля
Kind: instance method of User
Throws:
- ValidationError 405, Для смены пароля необходимо, чтобы почта была подтверждена
this: User
user.confirmPasswordToken(key) ⇒ boolean
Подтверждение смены пароля
Kind: instance method of User
Returns: boolean - true - ключ подходит, false - ключ не подходит
Throws:
- ValidationError 400, ключ не может быть пустым
this: User
| Param | Description | | --- | --- | | key | ключ для подветржения |
user.setNewPassword(password) ⇒ void
Установка нового пароля
Kind: instance method of User
Throws:
- ValidationError 400, пароль не может быть короче 5 символов
this: User
| Param | Description | | --- | --- | | password | новый парол |
user.getContactsByOneKey(key, context) ⇒ promise
Получение контактов пользователя по ключу и контексту
Kind: instance method of User
this: User
Fulfil: user - объект вида user
Reject: DbError 204, не найдено контактов
Reject: DbError 500, ошибка базы данных
| Param | Description | | --- | --- | | key | ключ(регулярное выражение) | | context | объект. Поддерживаемые значения - university, faculty, year, group |
user.getContactsByTwoKeys(key1, key2, context) ⇒ promise
Получение контактов пользователя по двум ключам и контексту
Kind: instance method of User
this: User
Fulfil: user - объект вида user
Reject: DbError 204, не найдено контактов
Reject: DbError 500, ошибка базы данных
| Param | Description | | --- | --- | | key1 | ключ(регулярное выражение) | | key2 | ключ(регулярное выражение) | | context | объект. Поддерживаемые значения - university, faculty, year, group |
user.getContactsByContext(context) ⇒ promise
Получение контактов пользователя по контексту
Kind: instance method of User
this: User
Fulfil: user - объект вида user
Reject: DbError 204, не найдено контактов
Reject: DbError 500, ошибка базы данных
| Param | Description | | --- | --- | | context | объект. Поддерживаемые значения - university, faculty, year, group |