Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /homepage/images | Add a new homepage image | Add a new homepage image to the company of the currently logged in user, only administrators are allowed to add support cases. |
---|
import 'package:servicestack/servicestack.dart';
class HomepageImageQueryResponse implements IConvertible
{
/**
* The company id.
*/
// @ApiMember(Description="The company id.")
String? CompanyId;
/**
* The homepage image id.
*/
// @ApiMember(Description="The homepage image id.")
int? Id;
/**
* The image title.
*/
// @ApiMember(Description="The image title.")
String? Title;
/**
* The image description.
*/
// @ApiMember(Description="The image description.")
String? Description;
/**
* The image url.
*/
// @ApiMember(Description="The image url.")
Uri? ImageUrl;
HomepageImageQueryResponse({this.CompanyId,this.Id,this.Title,this.Description,this.ImageUrl});
HomepageImageQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Id = json['Id'];
Title = json['Title'];
Description = json['Description'];
ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Id': Id,
'Title': Title,
'Description': Description,
'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!)
};
getTypeName() => "HomepageImageQueryResponse";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403)
// @ValidateRequest(Validator="IsAuthenticated")
class CreateHomepageImage implements ICompany, IConvertible
{
/**
* Enter the company id, if blank company id and you are an admin, your company id will be used.
*/
// @ApiMember(Description="Enter the company id, if blank company id and you are an admin, your company id will be used.", IsRequired=true)
String? CompanyId;
/**
* The image title.
*/
// @ApiMember(Description="The image title.")
String? Title;
/**
* The image description.
*/
// @ApiMember(Description="The image description.")
String? Description;
/**
* The image url.
*/
// @ApiMember(Description="The image url.")
Uri? ImageUrl;
CreateHomepageImage({this.CompanyId,this.Title,this.Description,this.ImageUrl});
CreateHomepageImage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Title = json['Title'];
Description = json['Description'];
ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Title': Title,
'Description': Description,
'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!)
};
getTypeName() => "CreateHomepageImage";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'HomepageImageQueryResponse': TypeInfo(TypeOf.Class, create:() => HomepageImageQueryResponse()),
'Uri': TypeInfo(TypeOf.Class, create:() => Uri()),
'CreateHomepageImage': TypeInfo(TypeOf.Class, create:() => CreateHomepageImage()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /homepage/images HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
Title: String,
Description: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Id: 0, Title: String, Description: String }