npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@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)

Инициализация модуля. Здесь происходит попытка подключиться к бд, используя данные из конфига, а после происходит привязка модели 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 |