BokaMera.API.Host

<back to all web services

SetWidgetConfigurationSchemaMigration

Requires Authentication
Requires the role:superadmin
The following routes are available for this service:
PUT/widget/configurationschema/{Version}/migrationSet or replace the migration patch from the previous schema versionSets MigrationFromPreviousVersion for the given Version. SuperAdmin only. Overwrites any existing value for this Version — unlike the schema document itself, this field is expected to be corrected after authoring, not immutable.
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type WidgetConfigurationSchemaResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val Version:Int32 = new Int32() with get,set
        member val Schema:Dictionary<String, Object> = null with get,set
        member val DefaultConfiguration:String = null with get,set
        member val MigrationFromPreviousVersion:String = null with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<ApiResponse(Description="Returned if Version doesn't exist, Version-1 doesn't exist, Patch isn't a well-formed RFC 6902 document, references a path unknown to the previous version's schema, or (when the previous version has a DefaultConfiguration) doesn't produce a document that validates against this Version's Schema", StatusCode=400)>]
    [<ApiResponse(Description="Returned if the current user is not a SuperAdmin", StatusCode=401)>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type SetWidgetConfigurationSchemaMigration() = 
        ///<summary>
        ///The schema version this patch produces.
        ///</summary>
        [<ApiMember(Description="The schema version this patch produces.", IsRequired=true, ParameterType="path")>]
        member val Version:Int32 = new Int32() with get,set

        ///<summary>
        ///JSON Patch (RFC 6902) document transforming a Version-1 shaped Configuration into a Version-shaped one, as a JSON string.
        ///</summary>
        [<ApiMember(Description="JSON Patch (RFC 6902) document transforming a Version-1 shaped Configuration into a Version-shaped one, as a JSON string.", IsRequired=true)>]
        member val Patch:String = null with get,set

F# SetWidgetConfigurationSchemaMigration DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /widget/configurationschema/{Version}/migration HTTP/1.1 
Host: api.bookmore.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Version":0,"Patch":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Id":0,"Version":0,"Schema":{"String":{}},"DefaultConfiguration":"String","MigrationFromPreviousVersion":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}