48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
import { connect } from "mongoose";
|
|
import RatingsList from "../../Models/Ratings/Ratings";
|
|
import {
|
|
CountRatingsByUserParams,
|
|
CountRatingsByUserResult,
|
|
CreateRatingParams,
|
|
IRating,
|
|
PendingRatingItem,
|
|
PendingRatingsByUserParams,
|
|
ProfessionalRatingSummaryByUserParams,
|
|
RatingTargetSummaryParams,
|
|
RatingTargetSummaryResult,
|
|
RatingTargetReviewsParams,
|
|
RatingTargetReviewsResult,
|
|
} from "../../Models/Ratings/Ratings.Interface";
|
|
|
|
export class RatingsService {
|
|
public async createRating(data: CreateRatingParams): Promise<IRating> {
|
|
await connect(`${process.env.DATABASE_CONNECTION}`);
|
|
return await RatingsList.createRating(data);
|
|
}
|
|
|
|
public async pendingByUser(data: PendingRatingsByUserParams): Promise<PendingRatingItem[]> {
|
|
await connect(`${process.env.DATABASE_CONNECTION}`);
|
|
return await RatingsList.pendingByUser(data);
|
|
}
|
|
|
|
public async countByUser(data: CountRatingsByUserParams): Promise<CountRatingsByUserResult> {
|
|
await connect(`${process.env.DATABASE_CONNECTION}`);
|
|
return await RatingsList.countByUser(data);
|
|
}
|
|
|
|
public async professionalSummaryByUser(data: ProfessionalRatingSummaryByUserParams): Promise<RatingTargetSummaryResult> {
|
|
await connect(`${process.env.DATABASE_CONNECTION}`);
|
|
return await RatingsList.professionalSummaryByUser(data);
|
|
}
|
|
|
|
public async summaryByTarget(data: RatingTargetSummaryParams): Promise<RatingTargetSummaryResult> {
|
|
await connect(`${process.env.DATABASE_CONNECTION}`);
|
|
return await RatingsList.summaryByTarget(data);
|
|
}
|
|
|
|
public async reviewsByTarget(data: RatingTargetReviewsParams): Promise<RatingTargetReviewsResult> {
|
|
await connect(`${process.env.DATABASE_CONNECTION}`);
|
|
return await RatingsList.reviewsByTarget(data);
|
|
}
|
|
}
|