@anzuev/knowbase
v0.0.9
Published
BZ module for StudCloud project
Downloads
14
Readme
KnowBase
BZ
<a name="module_BZ..BZ"></a>
BZ~BZ
Класс, представляющий собой прослойку между моделью Document и приложениями, использующими API модели
Kind: inner class of BZ
- ~BZ
- .configure(config) ⇒ void
- .getModel() ⇒ Mongoose.Model
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
- instance
- .addPart(newPart) ⇒ void
- .isAllowToUpdate(userId) ⇒ boolean
- .removePart(partId) ⇒ boolean
- .saveDoc() ⇒ Document
- static
- .formatToSearch(UAMS, WT, userId) ⇒ Object
- .getDocumentsBy(title, context, page) ⇒ Promise | Promise.<T>
- .addLike(documentId, userId) ⇒ Boolean
- .addDislike(documentId, userId) ⇒ Boolean
- .addWatch(documentId) ⇒ Boolean
- .addDownload(documentId, userId) ⇒ Boolean
- .addComment(documentId, comment) ⇒ Boolean
- .getComments(documentId, date) ⇒ Promise
- instance
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');
| 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 | идентификатор части |