Files
heala-backend/src/modules/submissions/providers/listing/user-submission-listing.provider.ts
T

39 lines
1.0 KiB
TypeScript

import { Injectable } from '@nestjs/common';
import { Repository } from 'typeorm';
import { Submission } from '../../entities/submission.entity';
import { InjectRepository } from '@nestjs/typeorm';
import { User } from '@/modules/users/entities/user.entity';
import { AppTimeoutException } from '@/common/exceptions/app-timeout.exception';
import { AppResponse } from '@/common/responses';
@Injectable()
export class UserSubmissionListingProvider {
constructor(
/**
* Inject Submission Repository
*/
@InjectRepository(Submission)
private readonly submissionsRepository: Repository<Submission>,
) {}
public async getSubmissionsList(user: User) {
let userSubmissions: Array<Submission>;
try {
userSubmissions = await this.submissionsRepository.find({
where: {
user: { id: user.id },
},
relations: {
result: true,
test: true,
},
});
} catch (err) {
throw new AppTimeoutException(err);
}
return new AppResponse(userSubmissions);
}
}