/* Options: Date: 2026-04-26 03:50:49 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ApproveEquipmentRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class Equipment implements IConvertible { int? id; // @required() // @StringLength(500) String? name; // @StringLength(1000) String? imageUrl; String? description; // @StringLength(50) String? unit; int? materialTypeId; int? status; bool? isDeleted; DateTime? approvedAt; int? approvedBy; DateTime? createdAt; int? createdBy; DateTime? updatedAt; int? updatedBy; // @ignore() String? materialTypeName; // @ignore() String? createdByName; // @ignore() String? approvedByName; Equipment({this.id,this.name,this.imageUrl,this.description,this.unit,this.materialTypeId,this.status,this.isDeleted,this.approvedAt,this.approvedBy,this.createdAt,this.createdBy,this.updatedAt,this.updatedBy,this.materialTypeName,this.createdByName,this.approvedByName}); Equipment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; imageUrl = json['imageUrl']; description = json['description']; unit = json['unit']; materialTypeId = json['materialTypeId']; status = json['status']; isDeleted = json['isDeleted']; approvedAt = JsonConverters.fromJson(json['approvedAt'],'DateTime',context!); approvedBy = json['approvedBy']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); createdBy = json['createdBy']; updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!); updatedBy = json['updatedBy']; materialTypeName = json['materialTypeName']; createdByName = json['createdByName']; approvedByName = json['approvedByName']; return this; } Map toJson() => { 'id': id, 'name': name, 'imageUrl': imageUrl, 'description': description, 'unit': unit, 'materialTypeId': materialTypeId, 'status': status, 'isDeleted': isDeleted, 'approvedAt': JsonConverters.toJson(approvedAt,'DateTime',context!), 'approvedBy': approvedBy, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'createdBy': createdBy, 'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!), 'updatedBy': updatedBy, 'materialTypeName': materialTypeName, 'createdByName': createdByName, 'approvedByName': approvedByName }; getTypeName() => "Equipment"; TypeContext? context = _ctx; } // @Route("/equipment/{Id}/approve", "POST") class ApproveEquipmentRequest implements IReturn, IConvertible, IPost { int? id; bool? approve; ApproveEquipmentRequest({this.id,this.approve}); ApproveEquipmentRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; approve = json['approve']; return this; } Map toJson() => { 'id': id, 'approve': approve }; createResponse() => Equipment(); getResponseTypeName() => "Equipment"; getTypeName() => "ApproveEquipmentRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: { 'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()), 'ApproveEquipmentRequest': TypeInfo(TypeOf.Class, create:() => ApproveEquipmentRequest()), });