@anzuev/studcloud.uams

1.0.14 • Public • Published

UAMS

  UAMS

UAMS~UAMS

Kind: inner class of UAMS
this: {UAMS}

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)

Изменить аватарку

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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.14
    13
    • latest

Version History

Package Sidebar

Install

npm i @anzuev/studcloud.uams

Weekly Downloads

13

Version

1.0.14

License

ISC

Last publish

Collaborators

  • anzuev