@anzuev/knowbase

0.0.9 • Public • Published

KnowBase

BZ

<a name="module_BZ..BZ"></a>

BZ~BZ

Класс, представляющий собой прослойку между моделью Document и приложениями, использующими API модели

Kind: inner class of BZ

BZ.configure(config) ⇒ void

Настройка модуля

Kind: static method of BZ

Param Type Description
config nconf конфигурация

BZ.getModel() ⇒ Mongoose.Model

Получение модели документов

Kind: static method of BZ

BZ~Document

Класс, представляющий сущность document

Kind: inner class of BZ
Properties

Name Type Description
title String Название
description String Описание
author Mongoose.Types.ObjectId Автор
created Date Дата создания
social object Объект соц информации
social.downloads Array.<Mongoose.Types.ObjectId> кто скачал
social.watches Number количество просмотров
social.likes Array.<Mongoose.Types.ObjectId> кому понравилось
social.dislikes Array.<Mongoose.Types.ObjectId> кому не понравилось
social.comments Array.<Comment> массив комментариев
socila.rating Number рейтинг
parts Array.<Part> массив частей
enabled boolean доступен ли для поиска
toDelete boolean нужно ли удалять документ
updated Date дата обновления
search object объект с данными для поиска
search.universities Array.<Mongoose.Types.ObjectId> массив id универов, которым подходит данная работа
search.faculties Array.<Mongoose.Types.ObjectId> массив id факультетов, которым подходит данная работа
search.year Array.<number> массив курсов, которым подходит данная работа
search.subject Mongoose.Types.ObjectId id предмета работы(Subject)
search.cType Mongoose.Types.ObjectId id типа работы(WorkType)

document.addPart(newPart) ⇒ void

Kind: instance method of Document
Throws:

  • ValidationError, code = 204 - часть с таким урлом уже есть

this: Document

Param Description
newPart новая часть

Properties

Name Description
url строка, по которой можно скачать часть

document.isAllowToUpdate(userId) ⇒ boolean

Kind: instance method of Document

Param Type Description
userId Mongoose.Types.ObjectId id пользователя, который хочет менять что-либо

document.removePart(partId) ⇒ boolean

Kind: instance method of Document
Returns: boolean - ,true - все прошло хорошо
Throws:

  • ValidationError, code = 404 - часть с таким id не найдена
  • ValidationError, code = 400 - не передана partId

this: Document

Param Description
partId id части для удаления

document.saveDoc() ⇒ Document

Kind: instance method of Document
Throws:

  • DbError , code = 500 - ошибка базы данных

Functiontype: generator

Document.formatToSearch(UAMS, WT, userId) ⇒ Object

Kind: static method of Document
Returns: Object -

{
     title: 'Первый документ',
        author: {
            username: 'Антон Зуев',
            id: 577aa958445338a73b232aff
        },
        likes: {
            liked: true,
            amount: 2
        },
        dislikes: {
            disliked: false,
            amount: 0
        },
        rating: 2,
        type: {
            id: 575195b2165f1e79574c71ff,
            title: 'Курсовая работа'
        },
        watches: 0,
        id: 56fe9c4ca960bcce0e74871f,
        description: "Описание документа"
   }

  // пример использования
    yield* res.formatToSearch(UAMS, RDS.getWorkTypeModel(), '56fe9c4ca960bcce0e74871f');
**Functiontype**: - generator
Param Description
UAMS объект модуля UAMS
WT объект модели worktype, (RDS.getWorkTypeModel());
userId для кого форматируется документ(нужен для проставки liked и disliked)

Document.getDocumentsBy(title, context, page) ⇒ Promise | Promise.<T>

Получение документов по названию и контексту

Kind: static method of Document

Param Type Description
title String название
context Object контекст
context.university Mongoose.Types.ObjectId id университета
context.faculty Mongoose.Types.ObjectId id факультета
context.subject Mongoose.Types.ObjectId id предмета
context.type Mongoose.Types.ObjectId id типа
context.year Number курс(номер)
page сколько страниц пропустить

Example

<pre>
    Выход - массив из документов
    Перед отдачей пользователю нужно у каждого документа вызвать document.formatToSearch
   </pre>

Document.addLike(documentId, userId) ⇒ Boolean

Метод для добавления like к документу.

Kind: static method of Document
Returns: Boolean - result - true: лайк добавлен, false: лайк не добавлен(скорее всего уже был);
Throws:

  • DbError , code = 404 - Не найден документ по переданному id

Functiontype: generator

Param Type Description
documentId Mongoose.Types.ObjectId id документа
userId Mongoose.Types.ObjectId id пользователя

Document.addDislike(documentId, userId) ⇒ Boolean

Метод для добавления dislike к документу.

Kind: static method of Document
Returns: Boolean - result - true: дизлайк добавлен, false: дизлайк не добавлен(скорее всего уже был);
Throws:

  • DbError , code = 404 - Не найден документ по переданному id

Functiontype: generator

Param Type Description
documentId Mongoose.Types.ObjectId id документа
userId Mongoose.Types.ObjectId id пользователя

Document.addWatch(documentId) ⇒ Boolean

Метод для добавления просмотра к документу.

Kind: static method of Document
Returns: Boolean - result - true: просмотр добавлен, false: просмотр не добавлен(скорее всего уже был);
Throws:

  • DbError , code = 404 - Не найден документ по переданному id

Functiontype: generator

Param Type Description
documentId Mongoose.Types.ObjectId id документа

Document.addDownload(documentId, userId) ⇒ Boolean

Метод для добавления скачивания к документу.

Kind: static method of Document
Returns: Boolean - result - true: скачивание добавлено, false: скачивание не добавлено(скорее всего уже было);
Throws:

  • DbError , code = 404 - Не найден документ по переданному id

Functiontype: generator

Param Type Description
documentId Mongoose.Types.ObjectId id документа
userId Mongoose.Types.ObjectId id пользователя

Document.addComment(documentId, comment) ⇒ Boolean

Метод для добавления комментария к документу.

Kind: static method of Document
Returns: Boolean - result - true: комментарий добавлен, false: что-то непонятное произошло
Throws:

  • DbError , code = 404 - Не найден документ по переданному id

Functiontype: generator

Param Type Description
documentId Mongoose.Types.ObjectId id документа
comment Object объект комментария
comment.text String текст комментария
comment.author Mongoose.Types.ObjectId id автора

Document.getComments(documentId, date) ⇒ Promise

Метод для добавления комментария к документу.

Kind: static method of Document
Throws:

  • DbError , code = 404 - Не найден документ по переданному id
  • DbError , code = 500 - какая-то ошибка БД

Fulfill: Comment[] result - массив комментариев

Param Type Description
documentId Mongoose.Types.ObjectId id документа
date Date время последнего комментария

BZ~validateContext(rawContext) ⇒ Object

Kind: inner method of BZ

Param
rawContext

BZ~Comment : object

Kind: inner typedef of BZ
Properties

Name Type Description
author Mongoose.Types.ObjectId отправитель
created Date дата создания
text String текст комментария
"_id" Mongoose.Types.ObjectId id комментария

BZ~Part : object

Kind: inner typedef of BZ
Properties

Name Type Description
url String строка для скачивания
serialNumber Number порядковый номер файла
_id Mongoose.Types.ObjectId идентификатор части

Readme

Keywords

Package Sidebar

Install

npm i @anzuev/knowbase

Weekly Downloads

8

Version

0.0.9

License

ISC

Last publish

Collaborators

  • anzuev