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
- .configure(config) ⇒
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
- .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
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 - ошибка базы данных
Document.formatToSearch(UAMS, WT, userId) ⇒ Object
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) |
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 - Не найден документ по переданному idDbError, 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 |
идентификатор части |