PUT | /users | Update my information | Updates 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. |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports BokaMera.API.ServiceModel.Enums
Namespace Global
Namespace BokaMera.API.ServiceModel.Dtos
Public Partial Class AdminProfile
Public Overridable Property CompanyId As Guid
Public Overridable Property Id As Guid
Public Overridable Property Firstname As String
Public Overridable Property Lastname As String
Public Overridable Property Email As String
Public Overridable Property WorkerId As String
Public Overridable Property Phone As String
End Class
Public Partial Class UpdateAdminProfile
Public Overridable Property Firstname As String
Public Overridable Property Lastname As String
Public Overridable Property Phone As String
Public Overridable Property Email As String
End Class
Public Partial Class UpdateCustomerProfile
Public Overridable Property Firstname As String
Public Overridable Property Lastname As String
Public Overridable Property Phone As String
Public Overridable Property Email As String
End Class
<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 Partial Class UpdateUser
'''<Summary>
'''The user id for your profile.
'''</Summary>
<ApiMember(Description:="The user id for your profile.")>
Public Overridable Property UserId As Nullable(Of Guid)
Public Overridable Property NewEmail As String
Public Overridable Property UserProfile As UpdateCustomerProfile
Public Overridable Property AdminProfile As UpdateAdminProfile
'''<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)>
Public Overridable Property Realm As KeyCloakRealm
End Class
Public Partial Class UpdateUserResponse
Public Overridable Property ResponseStatus As Object
'''<Summary>
'''The user id for your profile.
'''</Summary>
<ApiMember(Description:="The user id for your profile.", IsRequired:=true)>
Public Overridable Property UserId As Nullable(Of Guid)
Public Overridable Property UserProfile As UserProfileResponse
Public Overridable Property AdminProfile As AdminProfile
Public Overridable Property IsSentConfirmationUpdateEmail As Nullable(Of Boolean)
End Class
Public Partial Class UserProfileResponse
Public Overridable Property Id As Guid
Public Overridable Property Firstname As String
Public Overridable Property Lastname As String
Public Overridable Property Phone As String
Public Overridable Property Email As String
End Class
End Namespace
Namespace BokaMera.API.ServiceModel.Enums
Public Enum KeyCloakRealm
BookMore = 1
BookMoreAdmin = 2
SuperAdmin = 3
End Enum
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=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>