BokaMera.API.Host

<back to all web services

DeleteUser

The following routes are available for this service:
DELETE/usersDeletes a userDeletes the logged in user account.
namespace BokaMera.API.ServiceModel.Dtos

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

    [<AllowNullLiteral>]
    type UserProfileResponse() = 
        member val Id:Guid = new Guid() with get,set
        member val Firstname:String = null with get,set
        member val Lastname:String = null with get,set
        member val Phone:String = null with get,set
        member val Email:String = null with get,set

    [<AllowNullLiteral>]
    type AdminProfile() = 
        member val CompanyId:Guid = new Guid() with get,set
        member val Id:Guid = new Guid() with get,set
        member val Firstname:String = null with get,set
        member val Lastname:String = null with get,set
        member val Email:String = null with get,set
        member val WorkerId:String = null with get,set
        member val Phone:String = null with get,set

    [<AllowNullLiteral>]
    type DeleteUserResponse() = 
        member val ResponseStatus:Object = null with get,set
        ///<summary>
        ///The user id for your profile.
        ///</summary>
        [<ApiMember(Description="The user id for your profile.", IsRequired=true)>]
        member val UserName:String = null with get,set

        member val UserProfile:UserProfileResponse = null with get,set
        member val AdminProfile:AdminProfile = null with get,set

    type KeyCloakRealm =
        | BookMore = 1
        | BookMoreAdmin = 2
        | SuperAdmin = 3

    [<ApiResponse(Description="Returned if there is a validation error on the input parameters", StatusCode=400)>]
    [<ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)>]
    [<AllowNullLiteral>]
    type DeleteUser() = 
        ///<summary>
        ///The user name of your profile.
        ///</summary>
        [<ApiMember(Description="The user name of your profile.", IsRequired=true)>]
        member val UserName:String = null with get,set

        ///<summary>
        ///The user realm for identity server.  BookMore = 1, BookMoreAdmin = 2 
        ///</summary>
        [<ApiMember(Description="The user realm for identity server.  BookMore = 1, BookMoreAdmin = 2 ", IsRequired=true)>]
        member val Realm:KeyCloakRealm = new KeyCloakRealm() with get,set

        ///<summary>
        ///If this equals true it will force delete all customer profiles on all company on there you have booked a time.
        ///</summary>
        [<ApiMember(Description="If this equals true it will force delete all customer profiles on all company on there you have booked a time.")>]
        member val DeleteCustomerProfiles:Boolean = new Boolean() with get,set

        ///<summary>
        ///If this equals true it will check the request token value and try to delete user, if it is false it will send a delete confirmation email.
        ///</summary>
        [<ApiMember(Description="If this equals true it will check the request token value and try to delete user, if it is false it will send a delete confirmation email.")>]
        member val ForceDelete:Boolean = new Boolean() with get,set

        ///<summary>
        ///The value is only checked when ForceDelete is set to true. Contains the token value what was sent to email.
        ///</summary>
        [<ApiMember(Description="The value is only checked when ForceDelete is set to true. Contains the token value what was sent to email.")>]
        member val Token:String = null with get,set

F# DeleteUser 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.

DELETE /users HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ResponseStatus":{},"UserName":"String","UserProfile":{"Firstname":"String","Lastname":"String","Phone":"String","Email":"String"},"AdminProfile":{"Firstname":"String","Lastname":"String","Email":"String","WorkerId":"String","Phone":"String"}}