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 |
|---|---|
| почтовый адрес |
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:
ValidationError400, Mail is incorrect - длина почты меньше 5ValidationError400, Password is too weak - длина пароля меньше 5ValidationError400, Incorrect personal info - имя или фамилия не переданыAuthError400, mail {mail} already in use - почта уже кем-то используетсяDbError- 500, ошибка базы данных
| Param | Description |
|---|---|
| authData | данные для авторизации. Пропирти можно увидеть в пункте properties |
Properties
| Name | Description |
|---|---|
| почтовый адрес | |
| 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:
ValidationError400, номер группы совпадает со старымValidationError400, длина группы не может быть 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:
ValidationError400, новый факультет совпадает со старым
this: User
| Param | Description |
|---|---|
| newFaculty | id нового факультета |
user.changeYear(newYear)
Изменение курса обучения
Kind: instance method of User
Throws:
ValidationError400 - переданное значение курса < 0 или больше 6
| Param | Description |
|---|---|
| newYear | новый курс |
user.changeName(newName)
Изменение имени
Kind: instance method of User
Throws:
ValidationError400, Имя должно содержать хотя бы 2 символа
this: {User}
| Param | Description |
|---|---|
| newName | новое имя |
user.changeSurname(newSurname)
Изменение имени
Kind: instance method of User
Throws:
ValidationError400, фамилия должна содержать хотя бы 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:
DbError500, ошибка базы данных
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:
ValidationError400, ключ не может быть пустым
this: User
| Param | Description |
|---|---|
| key | ключ для подтверждения(длина больше 0) |
user.requestPasswordChange()
Запрос ключа для смены пароля
Kind: instance method of User
Throws:
ValidationError405, Для смены пароля необходимо, чтобы почта была подтверждена
user.confirmPasswordToken(key) ⇒ boolean
Подтверждение смены пароля
Kind: instance method of User
Returns: boolean - true - ключ подходит, false - ключ не подходит
Throws:
ValidationError400, ключ не может быть пустым
this: User
| Param | Description |
|---|---|
| key | ключ для подветржения |
user.setNewPassword(password) ⇒ void
Установка нового пароля
Kind: instance method of User
Throws:
ValidationError400, пароль не может быть короче 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 |