All files / src/lib/services user-feedback-service.ts

66.67% Statements 8/12
0% Branches 0/1
75% Functions 3/4
66.67% Lines 8/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48                  60x                 147x 147x       4x     4x 4x                             2x       60x  
import { Logger } from '../logger';
import { IUnleashStores } from '../types/stores';
import { IUnleashConfig } from '../types/option';
import User from '../types/user';
import {
    IUserFeedback,
    IUserFeedbackStore,
} from '../types/stores/user-feedback-store';
 
export default class UserFeedbackService {
    private userFeedbackStore: IUserFeedbackStore;
 
    private logger: Logger;
 
    constructor(
        { userFeedbackStore }: Pick<IUnleashStores, 'userFeedbackStore'>,
        { getLogger }: Pick<IUnleashConfig, 'getLogger'>,
    ) {
        this.userFeedbackStore = userFeedbackStore;
        this.logger = getLogger('services/user-feedback-service.js');
    }
 
    async getAllUserFeedback(user: User): Promise<IUserFeedback[]> {
        Iif (user.isAPI) {
            return [];
        }
        try {
            return await this.userFeedbackStore.getAllUserFeedback(user.id);
        } catch (err) {
            this.logger.error(err);
            return [];
        }
    }
 
    async getFeedback(
        user_id: number,
        feedback_id: string,
    ): Promise<IUserFeedback> {
        return this.userFeedbackStore.getFeedback(user_id, feedback_id);
    }
 
    async updateFeedback(feedback: IUserFeedback): Promise<IUserFeedback> {
        return this.userFeedbackStore.updateFeedback(feedback);
    }
}
 
module.exports = UserFeedbackService;