Files
turnosxpress/server/src/api/Ratings/Ratings.Service.ts
T

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);
}
}