feat: add user submission list logic
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user