/* Options: Date: 2026-09-23 01:34:04 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PhotoAnnotationRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class PhotoAnnotation implements IConvertible { int? PhotoAnnotationID; String? AttachmentId; String? AnnotationJson; String? FlattenedAttachmentId; String? FlattenedUrl; String? CreatedBy; DateTime? CreatedAt; DateTime? UpdatedAt; PhotoAnnotation({this.PhotoAnnotationID,this.AttachmentId,this.AnnotationJson,this.FlattenedAttachmentId,this.FlattenedUrl,this.CreatedBy,this.CreatedAt,this.UpdatedAt}); PhotoAnnotation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PhotoAnnotationID = json['PhotoAnnotationID']; AttachmentId = json['AttachmentId']; AnnotationJson = json['AnnotationJson']; FlattenedAttachmentId = json['FlattenedAttachmentId']; FlattenedUrl = json['FlattenedUrl']; CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); return this; } Map toJson() => { 'PhotoAnnotationID': PhotoAnnotationID, 'AttachmentId': AttachmentId, 'AnnotationJson': AnnotationJson, 'FlattenedAttachmentId': FlattenedAttachmentId, 'FlattenedUrl': FlattenedUrl, 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!) }; getTypeName() => "PhotoAnnotation"; TypeContext? context = _ctx; } class PhotoAnnotationResponse implements IConvertible { ResponseStatus? ResponseStatus; PhotoAnnotation? Annotation; String? OriginalUrl; PhotoAnnotationResponse({this.ResponseStatus,this.Annotation,this.OriginalUrl}); PhotoAnnotationResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Annotation = JsonConverters.fromJson(json['Annotation'],'PhotoAnnotation',context!); OriginalUrl = json['OriginalUrl']; return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Annotation': JsonConverters.toJson(Annotation,'PhotoAnnotation',context!), 'OriginalUrl': OriginalUrl }; getTypeName() => "PhotoAnnotationResponse"; TypeContext? context = _ctx; } // @Route("/v1/photos/{AttachmentId}/annotation", "GET,PUT,OPTIONS") class PhotoAnnotationRequest implements IReturn, IConvertible, IGet { String? AttachmentId; String? AnnotationJson; String? FlattenedDataUrl; PhotoAnnotationRequest({this.AttachmentId,this.AnnotationJson,this.FlattenedDataUrl}); PhotoAnnotationRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AttachmentId = json['AttachmentId']; AnnotationJson = json['AnnotationJson']; FlattenedDataUrl = json['FlattenedDataUrl']; return this; } Map toJson() => { 'AttachmentId': AttachmentId, 'AnnotationJson': AnnotationJson, 'FlattenedDataUrl': FlattenedDataUrl }; createResponse() => PhotoAnnotationResponse(); getResponseTypeName() => "PhotoAnnotationResponse"; getTypeName() => "PhotoAnnotationRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'PhotoAnnotation': TypeInfo(TypeOf.Class, create:() => PhotoAnnotation()), 'PhotoAnnotationResponse': TypeInfo(TypeOf.Class, create:() => PhotoAnnotationResponse()), 'PhotoAnnotationRequest': TypeInfo(TypeOf.Class, create:() => PhotoAnnotationRequest()), });