| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /widget/configuration/{Id}/bumpversion | Bump the homepage default widget configuration to the next schema version | Moves the homepage default configuration's SchemaVersion to SchemaVersion + 1. Returns 400 if the next version's schema does not exist yet, if UseFactoryDefaults is true and the next version has no DefaultConfiguration authored, or if the target configuration is not the homepage default. |
|---|
import Foundation
import ServiceStack
// @ApiResponse(Description="Not the homepage default, next schema version doesn't exist, or (when UseFactoryDefaults) the next version has no factory default authored yet", StatusCode=400)
// @ApiResponse(Description="Returned if the configuration was not found", StatusCode=404)
// @ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
public class BumpWidgetConfigurationVersion : ICompany, Codable
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public var companyId:String?
/**
* The widget configuration id (6-character NanoID).
*/
// @ApiMember(Description="The widget configuration id (6-character NanoID).", IsRequired=true, ParameterType="path")
public var id:String
/**
* When true, overwrites Configuration with the next schema version's factory-default JSON. When false, only SchemaVersion is moved and the existing Configuration is preserved unvalidated against the new schema.
*/
// @ApiMember(Description="When true, overwrites Configuration with the next schema version's factory-default JSON. When false, only SchemaVersion is moved and the existing Configuration is preserved unvalidated against the new schema.", IsRequired=true)
public var useFactoryDefaults:Bool
required public init(){}
}
public class WidgetConfigurationResponse : Codable
{
public var id:String
public var companyId:String
public var name:String
public var slug:String
public var Description:String
public var configuration:String
public var schemaVersion:Int
public var isHomepageDefault:Bool
public var createdDate:Date
public var updatedDate:Date?
public var responseStatus:ResponseStatus
required public init(){}
}
Swift BumpWidgetConfigurationVersion DTOs
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.
PUT /widget/configuration/{Id}/bumpversion HTTP/1.1
Host: api.bookmore.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
Id: String,
UseFactoryDefaults: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Id: String,
Name: String,
Slug: String,
Description: String,
Configuration: String,
SchemaVersion: 0,
IsHomepageDefault: False,
UpdatedDate: 0001-01-01T00:00:00.0000000+00:00,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}