feat(product): implement sprint 9 product engagement module
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
ProductSearchQuery,
|
||||
RelatedProductsQuery,
|
||||
} from '../../core/products/models/product-domain.model';
|
||||
import { EngagementListQuery, EngagementListResult, Question, RatingSummary, Review, SubmitQuestionInput, SubmitReviewInput } from '../../core/products/models/product-engagement.model';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ProductFacade {
|
||||
@@ -45,4 +46,24 @@ export class ProductFacade {
|
||||
getRelatedProducts(query: RelatedProductsQuery): Observable<ProductListResult> {
|
||||
return this.productData.getRelatedProducts(query);
|
||||
}
|
||||
|
||||
loadRating(productID: number): Observable<RatingSummary> {
|
||||
return this.productData.loadRating(productID);
|
||||
}
|
||||
|
||||
loadReviews(productID: number, query?: EngagementListQuery): Observable<EngagementListResult<Review>> {
|
||||
return this.productData.loadReviews(productID, query);
|
||||
}
|
||||
|
||||
loadQuestions(productID: number, query?: EngagementListQuery): Observable<EngagementListResult<Question>> {
|
||||
return this.productData.loadQuestions(productID, query);
|
||||
}
|
||||
|
||||
submitReview(productID: number, input: SubmitReviewInput): Observable<void> {
|
||||
return this.productData.submitReview(productID, input);
|
||||
}
|
||||
|
||||
submitQuestion(productID: number, input: SubmitQuestionInput): Observable<void> {
|
||||
return this.productData.submitQuestion(productID, input);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user