KnowBase
BZ
<a name="module_BZ..BZ"></a>
BZ~BZ
Класс, представляющий собой прослойку между моделью Document и приложениями, использующими API модели
Kind: inner class of BZ
-
~BZ
-
.configure(config) ⇒
void
-
.getModel() ⇒
Mongoose.Model
-
.configure(config) ⇒
void
BZ.configure(config) ⇒ Настройка модуля
Kind: static method of BZ
Param | Type | Description |
---|---|---|
config | nconf |
конфигурация |
Mongoose.Model
BZ.getModel() ⇒ Получение модели документов
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
-
.addPart(newPart) ⇒
-
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
-
.formatToSearch(UAMS, WT, userId) ⇒
-
instance
void
document.addPart(newPart) ⇒ Kind: instance method of Document
Throws:
- ValidationError, code = 204 - часть с таким урлом уже есть
this: Document
Param | Description |
---|---|
newPart | новая часть |
Properties
Name | Description |
---|---|
url | строка, по которой можно скачать часть |
boolean
document.isAllowToUpdate(userId) ⇒ Kind: instance method of Document
Param | Type | Description |
---|---|---|
userId | Mongoose.Types.ObjectId |
id пользователя, который хочет менять что-либо |
boolean
document.removePart(partId) ⇒ Kind: instance method of Document
Returns: boolean
- ,true - все прошло хорошо
Throws:
- ValidationError, code = 404 - часть с таким id не найдена
- ValidationError, code = 400 - не передана partId
this: Document
Param | Description |
---|---|
partId | id части для удаления |
Document
document.saveDoc() ⇒ Kind: instance method of Document
Throws:
-
DbError
, code = 500 - ошибка базы данных
Object
Document.formatToSearch(UAMS, WT, userId) ⇒ Kind: static method of Document
Returns: Object
-
**Functiontype**: - generator{ 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) |
Promise
| Promise.<T>
Document.getDocumentsBy(title, context, page) ⇒ Получение документов по названию и контексту
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>
Boolean
Document.addLike(documentId, userId) ⇒ Метод для добавления 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 пользователя |
Boolean
Document.addDislike(documentId, userId) ⇒ Метод для добавления 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 пользователя |
Boolean
Document.addWatch(documentId) ⇒ Метод для добавления просмотра к документу.
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 документа |
Boolean
Document.addDownload(documentId, userId) ⇒ Метод для добавления скачивания к документу.
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 пользователя |
Boolean
Document.addComment(documentId, comment) ⇒ Метод для добавления комментария к документу.
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 автора |
Promise
Document.getComments(documentId, date) ⇒ Метод для добавления комментария к документу.
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 |
время последнего комментария |
Object
BZ~validateContext(rawContext) ⇒ Kind: inner method of BZ
Param |
---|
rawContext |
object
BZ~Comment : Kind: inner typedef of BZ
Properties
Name | Type | Description |
---|---|---|
author | Mongoose.Types.ObjectId |
отправитель |
created | Date |
дата создания |
text | String |
текст комментария |
"_id" | Mongoose.Types.ObjectId |
id комментария |
object
BZ~Part : Kind: inner typedef of BZ
Properties
Name | Type | Description |
---|---|---|
url | String |
строка для скачивания |
serialNumber | Number |
порядковый номер файла |
_id | Mongoose.Types.ObjectId |
идентификатор части |