Billiecart API

<back to all web services

AssignRolesRequest

Requires Authentication
Requires the role:manager
The following routes are available for this service:
POST/users/{Id}/roles/assign
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class AssignRolesRequest extends PostOperationUnTenanted<AssignRolesResponse>
    {
        public String id = null;
        public ArrayList<String> roles = null;
        
        public String getId() { return id; }
        public AssignRolesRequest setId(String value) { this.id = value; return this; }
        public ArrayList<String> getRoles() { return roles; }
        public AssignRolesRequest setRoles(ArrayList<String> value) { this.roles = value; return this; }
    }

    public static class PostOperationUnTenanted<TResponse> implements IPost
    {
        
    }

    public static class AssignRolesResponse
    {
        public ResponseStatus responseStatus = null;
        public UserAccount userAccount = null;
        
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public AssignRolesResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
        public UserAccount getUserAccount() { return userAccount; }
        public AssignRolesResponse setUserAccount(UserAccount value) { this.userAccount = value; return this; }
    }

    public static class UserAccount implements IIdentifiableResource
    {
        public UserAccountName name = null;
        public String displayName = null;
        public String email = null;
        public ArrayList<String> roles = null;
        public AccountStatus status = null;
        public String defaultOrganisationId = null;
        public String id = null;
        
        public UserAccountName getName() { return name; }
        public UserAccount setName(UserAccountName value) { this.name = value; return this; }
        public String getDisplayName() { return displayName; }
        public UserAccount setDisplayName(String value) { this.displayName = value; return this; }
        public String getEmail() { return email; }
        public UserAccount setEmail(String value) { this.email = value; return this; }
        public ArrayList<String> getRoles() { return roles; }
        public UserAccount setRoles(ArrayList<String> value) { this.roles = value; return this; }
        public AccountStatus getStatus() { return status; }
        public UserAccount setStatus(AccountStatus value) { this.status = value; return this; }
        public String getDefaultOrganisationId() { return defaultOrganisationId; }
        public UserAccount setDefaultOrganisationId(String value) { this.defaultOrganisationId = value; return this; }
        public String getId() { return id; }
        public UserAccount setId(String value) { this.id = value; return this; }
    }

    public static class UserAccountName
    {
        public String firstName = null;
        public String lastName = null;
        
        public String getFirstName() { return firstName; }
        public UserAccountName setFirstName(String value) { this.firstName = value; return this; }
        public String getLastName() { return lastName; }
        public UserAccountName setLastName(String value) { this.lastName = value; return this; }
    }

    public static enum AccountStatus
    {
        Shadowed,
        Registered;
    }

}

Java AssignRolesRequest DTOs

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

HTTP + JSV

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

POST /users/{Id}/roles/assign HTTP/1.1 
Host: staging-api.billiecart.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	roles: 
	[
		String
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	userAccount: 
	{
		name: 
		{
			firstName: String,
			lastName: String
		},
		displayName: String,
		email: String,
		roles: 
		[
			String
		],
		status: Shadowed,
		defaultOrganisationId: String,
		id: String
	}
}