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 |
user
UAMS.getUserById(id) ⇒ Получение пользователя по id
Kind: static method of UAMS
Returns: user
- объект типа user
Throws:
-
DbError
- 404, пользователь не найден -
DbError
- 500, ошибка базы данных
Param | Description |
---|---|
id | идентификатор пользователя |
user
UAMS.getUserByMail(mail) ⇒ Получение пользователя по почте
Kind: static method of UAMS
Returns: user
- объект типа user
Throws:
-
DbError
- 404, пользователь не найден -
DbError
- 500, ошибка базы данных
Param | Description |
---|---|
почтовый адрес |
user
UAMS.getUserByPhone(phone) ⇒ Получение пользователя по номеру телефона
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 элементов. |
number
UAMS.countUsersByMailConfirmation() ⇒ Подсчет количества пользователей с подтвержденной почтой
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 элементов. |
number
UAMS.countUsersByMobileConfirmation() ⇒ Подсчет количества пользователей с подтвержденным номером телефона
Kind: static method of UAMS
Returns: number
- Количество пользователей
Throws:
-
DbError
- 500, ошибка базы данных
number
UAMS.countNewUsersToday() ⇒ Подсчет новых пользователей за сегодня
Kind: static method of UAMS
Returns: number
- Количество пользователей
Throws:
-
DbError
- 500, ошибка базы данных
number
UAMS.countNewUsersThisWeek() ⇒ Подсчет новых пользователей за неделю
Kind: static method of UAMS
Returns: number
- Количество пользователей
Throws:
-
DbError
- 500, ошибка базы данных
number
UAMS.countNewUsersThisMonth() ⇒ Подсчет новых пользователей за месяц
Kind: static method of UAMS
Returns: number
- Количество пользователей
Throws:
-
DbError
- 500, ошибка базы данных
number
UAMS.countNewUsersThisYear() ⇒ Подсчет новых пользователей за год
Kind: static method of UAMS
Returns: number
- Количество пользователей
Throws:
-
DbError
- 500, ошибка базы данных
number
UAMS.countAllUsers() ⇒ Подсчет новых пользователей за все время
Kind: static method of UAMS
Returns: number
- Количество пользователей
Throws:
-
DbError
- 500, ошибка базы данных
user
UAMS.createUser(authData) ⇒ Создание нового пользователя
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 |
---|---|
почтовый адрес | |
password | пароль |
name | имя пользователя |
surname | пароль |
boolean
UAMS.blockUser(userId) ⇒ Блокировка юзера
Kind: static method of UAMS
Returns: boolean
- true - все прошло хорошо
Throws:
-
DbError
- 404, пользователь не найден -
DbError
- 500, ошибка базы данных
Param | Description |
---|---|
userId | идентификатор пользователя |
boolean
UAMS.removeUser(userId) ⇒ Удаление пользователя по идентификатору
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 | новая фамилия |
Object
| *
user.format() ⇒ Форматирование юзера к виду
Kind: instance method of User
this: {User}
Example
yield* user.format()
// result
{
id: 5747521bf58f75460d9f5960,
name: 'Антон',
surname: 'Ильин',
photo: '',
year: 1,
group: '4304',
faculty: 'Компьютерные технологии',
university: 'СПБГЭТУ Лэти'
}
user
user.saveUser() ⇒ Kind: instance method of User
Returns: user
- все прошло хорошо, вернулся объект типа user
Throws:
-
DbError
500, ошибка базы данных
number
user.getAuthLevel() ⇒ Получение уровня авторизации
Kind: instance method of User
Returns: number
- - 1, 2, 3, 4
this: {User}
boolean
user.isInGroup(group) ⇒ Пользователь принадлежит группе?
Kind: instance method of User
Returns: boolean
- , true - принадлежит, false - не принадлежит
this: {User}
Param | Description |
---|---|
group | группа |
string
user.requestMailConfirmation() ⇒ Запрос создания ключа для подтверждения почты
Kind: instance method of User
Returns: string
- Новый ключ
this: User
boolean
user.confirmMail(key) ⇒ Подтверждение почты
Kind: instance method of User
Returns: boolean
- true - почта подтверждена, false - почта не подтверждена
Throws:
-
ValidationError
- ключ не может быть пустым
this: User
Param | Description |
---|---|
key | ключ для подтверждения(длина больше 0) |
string
user.requestMobileConfirmation() ⇒ Запрос ключа для подтверждения номера телефона
Kind: instance method of User
Returns: string
- - ключ
this: User
boolean
user.confirmMobile(key) ⇒ Подтверждение мобильного телефона
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, Для смены пароля необходимо, чтобы почта была подтверждена
boolean
user.confirmPasswordToken(key) ⇒ Подтверждение смены пароля
Kind: instance method of User
Returns: boolean
- true - ключ подходит, false - ключ не подходит
Throws:
-
ValidationError
400, ключ не может быть пустым
this: User
Param | Description |
---|---|
key | ключ для подветржения |
void
user.setNewPassword(password) ⇒ Установка нового пароля
Kind: instance method of User
Throws:
-
ValidationError
400, пароль не может быть короче 5 символов
this: User
Param | Description |
---|---|
password | новый парол |
promise
user.getContactsByOneKey(key, context) ⇒ Получение контактов пользователя по ключу и контексту
Kind: instance method of User
this: User
Fulfil: user
- объект вида user
Reject: DbError
204, не найдено контактов
Reject: DbError
500, ошибка базы данных
Param | Description |
---|---|
key | ключ(регулярное выражение) |
context | объект. Поддерживаемые значения - university, faculty, year, group |
promise
user.getContactsByTwoKeys(key1, key2, context) ⇒ Получение контактов пользователя по двум ключам и контексту
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 |
promise
user.getContactsByContext(context) ⇒ Получение контактов пользователя по контексту
Kind: instance method of User
this: User
Fulfil: user
- объект вида user
Reject: DbError
204, не найдено контактов
Reject: DbError
500, ошибка базы данных
Param | Description |
---|---|
context | объект. Поддерживаемые значения - university, faculty, year, group |