forked from Yara724/api
208 lines
5.1 KiB
TypeScript
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();
|
|
}
|
|
}
|
|
|