import { HttpClient, HttpParams } from '@angular/common/http'
import { Injectable } from '@angular/core'
+import { lineFeedToHtml } from '@app/shared/misc/utils'
+import { MarkdownService } from '@app/videos/shared'
import 'rxjs/add/operator/catch'
import 'rxjs/add/operator/map'
import { Observable } from 'rxjs/Observable'
import { ResultList } from '../../../../../../shared/models'
import {
- VideoComment as VideoCommentServerModel, VideoCommentCreate,
+ VideoComment as VideoCommentServerModel,
+ VideoCommentCreate,
VideoCommentThreadTree
} from '../../../../../../shared/models/videos/video-comment.model'
import { environment } from '../../../../environments/environment'
addCommentThread (videoId: number | string, comment: VideoCommentCreate) {
const url = VideoCommentService.BASE_VIDEO_URL + videoId + '/comment-threads'
+ const normalizedComment = lineFeedToHtml(comment, 'text')
- return this.authHttp.post(url, comment)
+ return this.authHttp.post(url, normalizedComment)
.map(data => this.extractVideoComment(data['comment']))
.catch(this.restExtractor.handleError)
}
addCommentReply (videoId: number | string, inReplyToCommentId: number, comment: VideoCommentCreate) {
const url = VideoCommentService.BASE_VIDEO_URL + videoId + '/comments/' + inReplyToCommentId
+ const normalizedComment = lineFeedToHtml(comment, 'text')
- return this.authHttp.post(url, comment)
+ return this.authHttp.post(url, normalizedComment)
.map(data => this.extractVideoComment(data['comment']))
.catch(this.restExtractor.handleError)
}
.catch((res) => this.restExtractor.handleError(res))
}
+ deleteVideoComment (videoId: number | string, commentId: number) {
+ const url = `${VideoCommentService.BASE_VIDEO_URL + videoId}/comments/${commentId}`
+
+ return this.authHttp
+ .delete(url)
+ .map(this.restExtractor.extractDataBool)
+ .catch((res) => this.restExtractor.handleError(res))
+ }
+
private extractVideoComment (videoComment: VideoCommentServerModel) {
return new VideoComment(videoComment)
}