BokaMera.API.Host

<back to all web services

UpdateUser

Requires Authentication
The following routes are available for this service:
PUT/usersUpdate my informationUpdates the logged in users info both in customer profile and application admin profile if any exists. Users are only allowed to update their own info.
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    @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)
    @ValidateRequest(Validator="IsAuthenticated")
    public static class UpdateUser
    {
        /**
        * The user id for your profile.
        */
        @ApiMember(Description="The user id for your profile.")
        public UUID UserId = null;

        public String NewEmail = null;
        public UpdateCustomerProfile UserProfile = null;
        public UpdateAdminProfile AdminProfile = null;
        /**
        * The user realm for identity server.  BookMore = 1, BookMoreAdmin = 2 
        */
        @ApiMember(Description="The user realm for identity server.  BookMore = 1, BookMoreAdmin = 2 ", IsRequired=true)
        public KeyCloakRealm Realm = null;
        
        public UUID getUserId() { return UserId; }
        public UpdateUser setUserId(UUID value) { this.UserId = value; return this; }
        public String getNewEmail() { return NewEmail; }
        public UpdateUser setNewEmail(String value) { this.NewEmail = value; return this; }
        public UpdateCustomerProfile getUserProfile() { return UserProfile; }
        public UpdateUser setUserProfile(UpdateCustomerProfile value) { this.UserProfile = value; return this; }
        public UpdateAdminProfile getAdminProfile() { return AdminProfile; }
        public UpdateUser setAdminProfile(UpdateAdminProfile value) { this.AdminProfile = value; return this; }
        public KeyCloakRealm getRealm() { return Realm; }
        public UpdateUser setRealm(KeyCloakRealm value) { this.Realm = value; return this; }
    }

    public static class UpdateCustomerProfile
    {
        public String Firstname = null;
        public String Lastname = null;
        public String Phone = null;
        public String Email = null;
        
        public String getFirstname() { return Firstname; }
        public UpdateCustomerProfile setFirstname(String value) { this.Firstname = value; return this; }
        public String getLastname() { return Lastname; }
        public UpdateCustomerProfile setLastname(String value) { this.Lastname = value; return this; }
        public String getPhone() { return Phone; }
        public UpdateCustomerProfile setPhone(String value) { this.Phone = value; return this; }
        public String getEmail() { return Email; }
        public UpdateCustomerProfile setEmail(String value) { this.Email = value; return this; }
    }

    public static class UpdateAdminProfile
    {
        public String Firstname = null;
        public String Lastname = null;
        public String Phone = null;
        public String Email = null;
        
        public String getFirstname() { return Firstname; }
        public UpdateAdminProfile setFirstname(String value) { this.Firstname = value; return this; }
        public String getLastname() { return Lastname; }
        public UpdateAdminProfile setLastname(String value) { this.Lastname = value; return this; }
        public String getPhone() { return Phone; }
        public UpdateAdminProfile setPhone(String value) { this.Phone = value; return this; }
        public String getEmail() { return Email; }
        public UpdateAdminProfile setEmail(String value) { this.Email = value; return this; }
    }

    public static enum KeyCloakRealm
    {
        BookMore(1),
        BookMoreAdmin(2),
        SuperAdmin(3);

        private final int value;
        KeyCloakRealm(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static class UpdateUserResponse
    {
        public Object ResponseStatus = null;
        /**
        * The user id for your profile.
        */
        @ApiMember(Description="The user id for your profile.", IsRequired=true)
        public UUID UserId = null;

        public UserProfileResponse UserProfile = null;
        public AdminProfile AdminProfile = null;
        public Boolean IsSentConfirmationUpdateEmail = null;
        
        public Object getResponseStatus() { return ResponseStatus; }
        public UpdateUserResponse setResponseStatus(Object value) { this.ResponseStatus = value; return this; }
        public UUID getUserId() { return UserId; }
        public UpdateUserResponse setUserId(UUID value) { this.UserId = value; return this; }
        public UserProfileResponse getUserProfile() { return UserProfile; }
        public UpdateUserResponse setUserProfile(UserProfileResponse value) { this.UserProfile = value; return this; }
        public AdminProfile getAdminProfile() { return AdminProfile; }
        public UpdateUserResponse setAdminProfile(AdminProfile value) { this.AdminProfile = value; return this; }
        public Boolean getIsSentConfirmationUpdateEmail() { return IsSentConfirmationUpdateEmail; }
        public UpdateUserResponse setIsSentConfirmationUpdateEmail(Boolean value) { this.IsSentConfirmationUpdateEmail = value; return this; }
    }

    public static class UserProfileResponse
    {
        public UUID Id = null;
        public String Firstname = null;
        public String Lastname = null;
        public String Phone = null;
        public String Email = null;
        
        public UUID getId() { return Id; }
        public UserProfileResponse setId(UUID value) { this.Id = value; return this; }
        public String getFirstname() { return Firstname; }
        public UserProfileResponse setFirstname(String value) { this.Firstname = value; return this; }
        public String getLastname() { return Lastname; }
        public UserProfileResponse setLastname(String value) { this.Lastname = value; return this; }
        public String getPhone() { return Phone; }
        public UserProfileResponse setPhone(String value) { this.Phone = value; return this; }
        public String getEmail() { return Email; }
        public UserProfileResponse setEmail(String value) { this.Email = value; return this; }
    }

    public static class AdminProfile
    {
        public UUID CompanyId = null;
        public UUID Id = null;
        public String Firstname = null;
        public String Lastname = null;
        public String Email = null;
        public String WorkerId = null;
        public String Phone = null;
        
        public UUID getCompanyId() { return CompanyId; }
        public AdminProfile setCompanyId(UUID value) { this.CompanyId = value; return this; }
        public UUID getId() { return Id; }
        public AdminProfile setId(UUID value) { this.Id = value; return this; }
        public String getFirstname() { return Firstname; }
        public AdminProfile setFirstname(String value) { this.Firstname = value; return this; }
        public String getLastname() { return Lastname; }
        public AdminProfile setLastname(String value) { this.Lastname = value; return this; }
        public String getEmail() { return Email; }
        public AdminProfile setEmail(String value) { this.Email = value; return this; }
        public String getWorkerId() { return WorkerId; }
        public AdminProfile setWorkerId(String value) { this.WorkerId = value; return this; }
        public String getPhone() { return Phone; }
        public AdminProfile setPhone(String value) { this.Phone = value; return this; }
    }

}

Java UpdateUser 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 /users HTTP/1.1 
Host: api.bokamera.se 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"UserId":"00000000-0000-0000-0000-000000000000","NewEmail":"String","UserProfile":{"Firstname":"String","Lastname":"String","Phone":"String","Email":"String"},"AdminProfile":{"Firstname":"String","Lastname":"String","Phone":"String","Email":"String"},"Realm":"BookMore"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ResponseStatus":{},"UserId":"00000000-0000-0000-0000-000000000000","UserProfile":{"Firstname":"String","Lastname":"String","Phone":"String","Email":"String"},"AdminProfile":{"Firstname":"String","Lastname":"String","Email":"String","WorkerId":"String","Phone":"String"},"IsSentConfirmationUpdateEmail":false}