BokaMera.API.Host

<back to all web services

LicensePlanQuery

The following routes are available for this service:
GET/licenses/plans/Get all license plansThis service is used to get get all license plans that exists.
namespace BokaMera.API.ServiceModel.Db

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

    [<AllowNullLiteral>]
    type VossPlanResponse() = 
        member val Id:Guid = new Guid() with get,set
        member val Name:String = null with get,set
        member val LengthUnit:String = null with get,set
        member val Length:String = null with get,set

    type LengthUnit =
        | Week = 1
        | Month = 2
        | Year = 3

    [<AllowNullLiteral>]
    type LicensePlanQueryResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val VossPlanId:Guid = new Guid() with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set
        member val VossPlan:VossPlanResponse = null with get,set
        member val PlanLength:Int32 = new Int32() with get,set
        member val PlanLengthUnit:LengthUnit = new LengthUnit() with get,set
        member val UpdatedDate:DateTime = new DateTime() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val Active:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type BaseModel() = 
        class end

    [<AllowNullLiteral>]
    type LicensePlan() = 
        inherit BaseModel()
        [<Ignore>]
        member val VossPlan:VossPlanResponse = null with get,set

        [<Required>]
        member val Id:Int32 = new Int32() with get,set

        member val VossPlanId:Guid = new Guid() with get,set
        [<Required>]
        member val PlanLength:Int32 = new Int32() with get,set

        [<Required>]
        member val PlanLengthUnitId:Int32 = new Int32() with get,set

        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val UpdatedDate:DateTime = new DateTime() with get,set
        member val Active:Boolean = new Boolean() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryBase() = 
        [<DataMember(Order=1)>]
        member val Skip:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=2)>]
        member val Take:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=3)>]
        member val OrderBy:String = null with get,set

        [<DataMember(Order=4)>]
        member val OrderByDesc:String = null with get,set

        [<DataMember(Order=5)>]
        member val Include:String = null with get,set

        [<DataMember(Order=6)>]
        member val Fields:String = null with get,set

        [<DataMember(Order=7)>]
        member val Meta:Dictionary<String, String> = null with get,set

    [<AllowNullLiteral>]
    type QueryDb<From, Into>() = 
        inherit QueryBase()

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<AllowNullLiteral>]
    type LicensePlanQuery() = 
        inherit QueryDb<LicensePlan, LicensePlanQueryResponse>()
        ///<summary>
        ///Search active plan.
        ///</summary>
        [<ApiMember(Description="Search active plan.", ParameterType="query")>]
        member val Active:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type AccessKeyTypeResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val KeyType:String = null with get,set
        member val Description:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryResponse<T>() = 
        [<DataMember(Order=1)>]
        member val Offset:Int32 = new Int32() with get,set

        [<DataMember(Order=2)>]
        member val Total:Int32 = new Int32() with get,set

        [<DataMember(Order=3)>]
        member val Results:ResizeArray<AccessKeyTypeResponse> = null with get,set

        [<DataMember(Order=4)>]
        member val Meta:Dictionary<String, String> = null with get,set

        [<DataMember(Order=5)>]
        member val ResponseStatus:ResponseStatus = null with get,set

F# LicensePlanQuery DTOs

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

HTTP + OTHER

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

GET /licenses/plans/ HTTP/1.1 
Host: api-staging.bookmore.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Offset":0,"Total":0,"Results":[{"Id":0,"Name":"String","Description":"String","VossPlan":{"Name":"String","LengthUnit":"String","Length":"String"},"PlanLength":0,"PlanLengthUnit":"Week","Active":false}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}