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.

export class UserProfileResponse
{
    public Id: string;
    public Firstname: string;
    public Lastname: string;
    public Phone: string;
    public Email: string;

    public constructor(init?: Partial<UserProfileResponse>) { (Object as any).assign(this, init); }
}

export class AdminProfile
{
    public CompanyId: string;
    public Id: string;
    public Firstname: string;
    public Lastname: string;
    public Email: string;
    public WorkerId: string;
    public Phone: string;

    public constructor(init?: Partial<AdminProfile>) { (Object as any).assign(this, init); }
}

export class UpdateUserResponse
{
    public ResponseStatus: Object;
    /** @description The user id for your profile. */
    // @ApiMember(Description="The user id for your profile.", IsRequired=true)
    public UserId: string;

    public UserProfile: UserProfileResponse;
    public AdminProfile: AdminProfile;
    public IsSentConfirmationUpdateEmail?: boolean;

    public constructor(init?: Partial<UpdateUserResponse>) { (Object as any).assign(this, init); }
}

export class UpdateCustomerProfile
{
    public Firstname: string;
    public Lastname: string;
    public Phone: string;
    public Email: string;

    public constructor(init?: Partial<UpdateCustomerProfile>) { (Object as any).assign(this, init); }
}

export class UpdateAdminProfile
{
    public Firstname: string;
    public Lastname: string;
    public Phone: string;
    public Email: string;

    public constructor(init?: Partial<UpdateAdminProfile>) { (Object as any).assign(this, init); }
}

export enum 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)
// @ValidateRequest(Validator="IsAuthenticated")
export class UpdateUser
{
    /** @description The user id for your profile. */
    // @ApiMember(Description="The user id for your profile.")
    public UserId?: string;

    public NewEmail: string;
    public UserProfile: UpdateCustomerProfile;
    public AdminProfile: UpdateAdminProfile;
    /** @description 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 Realm: KeyCloakRealm;

    public constructor(init?: Partial<UpdateUser>) { (Object as any).assign(this, init); }
}

TypeScript UpdateUser DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateUser xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <AdminProfile>
    <Email>String</Email>
    <Firstname>String</Firstname>
    <Lastname>String</Lastname>
    <Phone>String</Phone>
  </AdminProfile>
  <NewEmail>String</NewEmail>
  <Realm>BookMore</Realm>
  <UserId>00000000-0000-0000-0000-000000000000</UserId>
  <UserProfile>
    <Email>String</Email>
    <Firstname>String</Firstname>
    <Lastname>String</Lastname>
    <Phone>String</Phone>
  </UserProfile>
</UpdateUser>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UpdateUserResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <AdminProfile>
    <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
    <Email>String</Email>
    <Firstname>String</Firstname>
    <Id>00000000-0000-0000-0000-000000000000</Id>
    <Lastname>String</Lastname>
    <Phone>String</Phone>
    <WorkerId>String</WorkerId>
  </AdminProfile>
  <IsSentConfirmationUpdateEmail>false</IsSentConfirmationUpdateEmail>
  <ResponseStatus />
  <UserId>00000000-0000-0000-0000-000000000000</UserId>
  <UserProfile>
    <Email>String</Email>
    <Firstname>String</Firstname>
    <Id>00000000-0000-0000-0000-000000000000</Id>
    <Lastname>String</Lastname>
    <Phone>String</Phone>
  </UserProfile>
</UpdateUserResponse>