/* Options: Date: 2024-12-03 18:06:47 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RatingQuery.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class BaseModel implements IConvertible { BaseModel(); BaseModel.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "BaseModel"; TypeContext? context = _ctx; } class Review extends BaseModel implements IConvertible { String? ReviewId; // @Required() String? CompanyId; // @Required() String? Title; // @Required() String? Description; // @Required() String? Author; // @Required() int? Status; // @Required() DateTime? Created; // @Required() DateTime? Updated; DateTime? ModifiedDate; String? ReviewAnswer; Review({this.ReviewId,this.CompanyId,this.Title,this.Description,this.Author,this.Status,this.Created,this.Updated,this.ModifiedDate,this.ReviewAnswer}); Review.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ReviewId = json['ReviewId']; CompanyId = json['CompanyId']; Title = json['Title']; Description = json['Description']; Author = json['Author']; Status = json['Status']; Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); ReviewAnswer = json['ReviewAnswer']; return this; } Map toJson() => super.toJson()..addAll({ 'ReviewId': ReviewId, 'CompanyId': CompanyId, 'Title': Title, 'Description': Description, 'Author': Author, 'Status': Status, 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'ReviewAnswer': ReviewAnswer }); getTypeName() => "Review"; TypeContext? context = _ctx; } class Rating extends BaseModel implements IConvertible { String? ReviewId; Review? Review; // @Required() String? CompanyId; // @Required() int? BookingId; // @Required() int? RatingScore; // @Required() int? Status; // @Required() DateTime? Created; // @Required() DateTime? Updated; DateTime? ModifiedDate; Rating({this.ReviewId,this.Review,this.CompanyId,this.BookingId,this.RatingScore,this.Status,this.Created,this.Updated,this.ModifiedDate}); Rating.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ReviewId = json['ReviewId']; Review = JsonConverters.fromJson(json['Review'],'Review',context!); CompanyId = json['CompanyId']; BookingId = json['BookingId']; RatingScore = json['RatingScore']; Status = json['Status']; Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'ReviewId': ReviewId, 'Review': JsonConverters.toJson(Review,'Review',context!), 'CompanyId': CompanyId, 'BookingId': BookingId, 'RatingScore': RatingScore, 'Status': Status, 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!) }); getTypeName() => "Rating"; TypeContext? context = _ctx; } class RatingReviewResponse implements IConvertible { /** * The title for the review */ // @ApiMember(Description="The title for the review") String? Title; /** * The description for the review */ // @ApiMember(Description="The description for the review") String? Description; /** * The rating score */ // @ApiMember(Description="The rating score") int? RatingScore; /** * The review author */ // @ApiMember(Description="The review author") String? Author; /** * The created date */ // @ApiMember(Description="The created date") DateTime? Created; /** * The review answer from the company */ // @ApiMember(Description="The review answer from the company") String? ReviewAnswer; RatingReviewResponse({this.Title,this.Description,this.RatingScore,this.Author,this.Created,this.ReviewAnswer}); RatingReviewResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Title = json['Title']; Description = json['Description']; RatingScore = json['RatingScore']; Author = json['Author']; Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); ReviewAnswer = json['ReviewAnswer']; return this; } Map toJson() => { 'Title': Title, 'Description': Description, 'RatingScore': RatingScore, 'Author': Author, 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'ReviewAnswer': ReviewAnswer }; getTypeName() => "RatingReviewResponse"; TypeContext? context = _ctx; } class CompanyRatingResponse implements IConvertible { /** * */ // @ApiMember(Description="") String? CompanyId; /** * Id of the booking */ // @ApiMember(Description="Id of the booking") int? BookingId; /** * The status of the rating, 1 = Active */ // @ApiMember(Description="The status of the rating, 1 = Active") int? Status; /** * The rating score */ // @ApiMember(Description="The rating score") int? RatingScore; /** * The review if any exists to the rating */ // @ApiMember(Description="The review if any exists to the rating") RatingReviewResponse? Review; DateTime? CreatedDate; DateTime? UpdatedDate; CompanyRatingResponse({this.CompanyId,this.BookingId,this.Status,this.RatingScore,this.Review,this.CreatedDate,this.UpdatedDate}); CompanyRatingResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; BookingId = json['BookingId']; Status = json['Status']; RatingScore = json['RatingScore']; Review = JsonConverters.fromJson(json['Review'],'RatingReviewResponse',context!); CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'BookingId': BookingId, 'Status': Status, 'RatingScore': RatingScore, 'Review': JsonConverters.toJson(Review,'RatingReviewResponse',context!), 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!) }; getTypeName() => "CompanyRatingResponse"; TypeContext? context = _ctx; } // @Route("/rating/", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) class RatingQuery extends QueryDb2 implements IReturn>, ICompany, IConvertible, IGet { /** * */ // @ApiMember(Description="") String? CompanyId; /** * Id of the booking */ // @DataMember(Name="BookedEventId") // @ApiMember(Description="Id of the booking") int? BookedEventId; /** * If you want to collect only active ratings. Ratings are only active after one has past since creation date. */ // @ApiMember(Description="If you want to collect only active ratings. Ratings are only active after one has past since creation date.") bool? Active; /** * If you want to include the rating reviews */ // @ApiMember(DataType="boolean", Description="If you want to include the rating reviews", ParameterType="query") bool? IncludeRatingReviews; /** * Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339 */ // @ApiMember(DataType="dateTime", Description="Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query") DateTime? CreatedFrom; /** * End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339 */ // @ApiMember(DataType="dateTime", Description="End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query") DateTime? CreatedTo; RatingQuery({this.CompanyId,this.BookedEventId,this.Active,this.IncludeRatingReviews,this.CreatedFrom,this.CreatedTo}); RatingQuery.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CompanyId = json['CompanyId']; BookedEventId = json['BookingId']; Active = json['Active']; IncludeRatingReviews = json['IncludeRatingReviews']; CreatedFrom = JsonConverters.fromJson(json['CreatedFrom'],'DateTime',context!); CreatedTo = JsonConverters.fromJson(json['CreatedTo'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'CompanyId': CompanyId, 'BookedEventId': BookedEventId, 'Active': Active, 'IncludeRatingReviews': IncludeRatingReviews, 'CreatedFrom': JsonConverters.toJson(CreatedFrom,'DateTime',context!), 'CreatedTo': JsonConverters.toJson(CreatedTo,'DateTime',context!) }); createResponse() => QueryResponse(); getResponseTypeName() => "QueryResponse"; getTypeName() => "RatingQuery"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'BaseModel': TypeInfo(TypeOf.Class, create:() => BaseModel()), 'Review': TypeInfo(TypeOf.Class, create:() => Review()), 'Rating': TypeInfo(TypeOf.Class, create:() => Rating()), 'RatingReviewResponse': TypeInfo(TypeOf.Class, create:() => RatingReviewResponse()), 'CompanyRatingResponse': TypeInfo(TypeOf.Class, create:() => CompanyRatingResponse()), 'QueryResponse': TypeInfo(TypeOf.Class, create:() => QueryResponse()), 'RatingQuery': TypeInfo(TypeOf.Class, create:() => RatingQuery()), 'List': TypeInfo(TypeOf.Class, create:() => []), });