<a name="module_BZ..BZ"></a>
Класс, представляющий собой прослойку между моделью Document и приложениями, использующими API модели
Kind: inner class of BZ
- ~BZ
- .configure(config) ⇒
void
- .getModel() ⇒
Mongoose.Model
- .configure(config) ⇒
Настройка модуля
Kind: static method of BZ
Param | Type | Description |
---|---|---|
config | nconf |
конфигурация |
Получение модели документов
Kind: static method of BZ
Класс, представляющий сущность 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
Kind: instance method of Document
Throws:
- ValidationError, code = 204 - часть с таким урлом уже есть
this: Document
Param | Description |
---|---|
newPart | новая часть |
Properties
Name | Description |
---|---|
url | строка, по которой можно скачать часть |
Kind: instance method of Document
Param | Type | Description |
---|---|---|
userId | Mongoose.Types.ObjectId |
id пользователя, который хочет менять что-либо |
Kind: instance method of Document
Returns: boolean
- ,true - все прошло хорошо
Throws:
- ValidationError, code = 404 - часть с таким id не найдена
- ValidationError, code = 400 - не передана partId
this: Document
Param | Description |
---|---|
partId | id части для удаления |
Kind: instance method of Document
Throws:
DbError
, code = 500 - ошибка базы данных
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) |
Получение документов по названию и контексту
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>
Метод для добавления 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 пользователя |
Метод для добавления 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 пользователя |
Метод для добавления просмотра к документу.
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 документа |
Метод для добавления скачивания к документу.
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 пользователя |
Метод для добавления комментария к документу.
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 автора |
Метод для добавления комментария к документу.
Kind: static method of Document
Throws:
DbError
, code = 404 - Не найден документ по переданному idDbError
, code = 500 - какая-то ошибка БД
Fulfill: Comment[]
result - массив комментариев
Param | Type | Description |
---|---|---|
documentId | Mongoose.Types.ObjectId |
id документа |
date | Date |
время последнего комментария |
Kind: inner method of BZ
Param |
---|
rawContext |
Kind: inner typedef of BZ
Properties
Name | Type | Description |
---|---|---|
author | Mongoose.Types.ObjectId |
отправитель |
created | Date |
дата создания |
text | String |
текст комментария |
"_id" | Mongoose.Types.ObjectId |
id комментария |
Kind: inner typedef of BZ
Properties
Name | Type | Description |
---|---|---|
url | String |
строка для скачивания |
serialNumber | Number |
порядковый номер файла |
_id | Mongoose.Types.ObjectId |
идентификатор части |