1
0
forked from Yara724/api
Files
yara724-api/src/lookups/lookups.controller.ts
2026-06-16 11:31:41 +03:30

208 lines
5.1 KiB
TypeScript

import { Controller, Get } from "@nestjs/common";
import { ApiOkResponse, ApiTags } from "@nestjs/swagger";
import { LookupsService } from "./lookups.service";
@ApiTags("lookups")
@Controller("lookups")
export class LookupsController {
constructor(private readonly lookupsService: LookupsService) {}
@Get("accident-causes")
@ApiOkResponse({
description: "Returns accident causes lookup data",
schema: {
type: "array",
items: {
type: "object",
properties: {
Caption: { type: "string" },
Id: { type: "number" },
IsActive: { type: "number" },
},
},
},
})
async getAccidentCauses() {
return await this.lookupsService.getAccidentCauses();
}
@Get("accident-report-type")
@ApiOkResponse({
description: "Returns accident report type lookup data",
schema: {
type: "array",
items: {
type: "object",
},
},
})
async getAccidentReportType() {
return await this.lookupsService.getAccidentReportType();
}
@Get("vehicle-use-types")
@ApiOkResponse({
description: "Returns vehicle use types lookup data",
schema: {
type: "array",
items: {
type: "object",
},
},
})
async getVehicleUseTypes() {
return await this.lookupsService.getVehicleUseTypes();
}
@Get("dmg-pay-method")
@ApiOkResponse({
description: "Returns damage pay method lookup data",
schema: {
type: "array",
items: {
type: "object",
},
},
})
async getDmgPayMethod() {
return await this.lookupsService.getDmgPayMethod();
}
@Get("driving-licence-types")
@ApiOkResponse({
description: "Returns driving licence types lookup data",
schema: {
type: "array",
items: {
type: "object",
},
},
})
async getDrivingLicenceTypes() {
return await this.lookupsService.getDrivingLicenceTypes();
}
@Get("accident-culprit-type")
@ApiOkResponse({
description: "Returns accident culprit type lookup data",
schema: {
type: "array",
items: {
type: "object",
},
},
})
async getAccidentCulpritType() {
return await this.lookupsService.getAccidentCulpritType();
}
@Get("accident-way")
@ApiOkResponse({
description: "Returns accident way options for the add-accident-fields step",
schema: {
type: "array",
items: {
type: "object",
properties: {
id: { type: "number", example: 9 },
label: { type: "string", example: "جلو به پهلو" },
},
},
},
})
async getAccidentWay() {
return await this.lookupsService.getAccidentWay();
}
@Get("accident-reason")
@ApiOkResponse({
description:
"Returns accident reason options for the add-accident-fields step",
schema: {
type: "array",
items: {
type: "object",
properties: {
id: { type: "number", example: 23 },
label: { type: "string", example: "عدم رعايت فاصله جانبی" },
fanavaran: { type: "number", example: 3 },
},
},
},
})
async getAccidentReason() {
return await this.lookupsService.getAccidentReason();
}
@Get("accident-type")
@ApiOkResponse({
description:
"Returns accident type options for the add-accident-fields step",
schema: {
type: "array",
items: {
type: "object",
properties: {
id: { type: "number", example: 3 },
label: {
type: "string",
example: "برخورد یک وسیله نقلیه با وسیله نقلیه پارک شده",
},
},
},
},
})
async getAccidentType() {
return await this.lookupsService.getAccidentType();
}
@Get("accident-fields")
@ApiOkResponse({
description:
"Returns all three accident field lookup lists in one call — drop-in replacement for the deprecated expert-blame/request/accident-fields endpoint",
schema: {
type: "object",
properties: {
accidentWay: {
type: "array",
items: {
type: "object",
properties: {
id: { type: "number", example: 9 },
label: { type: "string", example: "جلو به پهلو" },
},
},
},
accidentReason: {
type: "array",
items: {
type: "object",
properties: {
id: { type: "number", example: 23 },
label: { type: "string", example: "عدم رعايت فاصله جانبی" },
fanavaran: { type: "number", example: 3 },
},
},
},
accidentType: {
type: "array",
items: {
type: "object",
properties: {
id: { type: "number", example: 3 },
label: {
type: "string",
example: "برخورد یک وسیله نقلیه با وسیله نقلیه پارک شده",
},
},
},
},
},
},
})
async getAccidentFields() {
return await this.lookupsService.getAccidentFields();
}
}