repair create

This commit is contained in:
Julian Krauser 2025-07-21 12:58:19 +02:00
parent ecadd8431d
commit 2363933f5a
14 changed files with 138 additions and 31 deletions

View file

@ -1,3 +1,4 @@
import { In } from "typeorm";
import { dataSource } from "../../data-source";
import { damageReport } from "../../entity/unit/damageReport";
import DatabaseActionException from "../../exceptions/databaseActionException";
@ -11,12 +12,47 @@ export default abstract class DamageReportService {
.leftJoinAndSelect("damageReport.vehicle", "vehicle")
.leftJoinAndSelect("damageReport.wearable", "wearable")
.leftJoinAndSelect("damageReport.repair", "repair");
/**
* @description get all damageReports By done
* @returns {Promise<[Array<damageReport>, number]>}
*/
static async getAll({
offset = 0,
count = 25,
noLimit = false,
ids = [],
}: {
offset?: number;
count?: number;
noLimit?: boolean;
ids?: Array<string>;
}): Promise<[Array<damageReport>, number]> {
let query = this.query();
if (ids.length != 0) {
query = query.where({ id: In(ids) });
}
if (!noLimit) {
query = query.offset(offset).limit(count);
}
return await query
.orderBy("damageReport.reportedAt", "ASC")
.getManyAndCount()
.then((res) => {
return res;
})
.catch((err) => {
throw new DatabaseActionException("SELECT", "damageReport", err);
});
}
/**
* @description get all damageReports By done
* @returns {Promise<[Array<damageReport>, number]>}
*/
static async getAll(
static async getAllByStatus(
done = false,
{
offset = 0,