This service is prefixed by /internal/services/users/v1/

→ All the get list requests follows the pagination system provided by the framework.

Users and companies (only getters here because managed by console)

Objects formats

**UserObject**

{
	"id": uuid,
	"provider": "console",
	"provider_id": "string",

  "email": "string",
  "is_verified": boolean,
	"picture": "string",
  "first_name": "string",
  "last_name": "string",
  "created_at": timestamp,
  "deleted": boolean,
  "status": "🚣‍♀️ Swimming", //Single string for the status
  "last_activity": timestamp,

  //Below is only if this is myself

  "preference": {
	  "locale": "fr-FR",
    "timezone": minutesFromGMT,
  },

  "companies": [
    {
      "role": "owner" | "admin" | "member" | "guest",
      "status": "active" | "deactivated" | "invited",
      "company": {
        "id": "string", //Related to console "code"
        "name": "string",
        "logo": "string"
      }
    }
  ],

}
**CompanyObject**

{
  "id": "string", //Related to console "code"
  
  "name": "string",
  "logo": "string",

  "plan": {
    "id": "string",
    "name": "string",

		"billing": {
			"status": "error" | string,
	    "trial_end": number,
		},
  
    "limits": {
      "members": number,
      "guests": number,
      "storage": number,
			"twake.guests_feature": boolean, //True to enable it, false to not enable it
			"twake.message_history_limit": 90, //Delay in days
    }
  },
  
  "stats": {
    "created_at": timestamp,
    "total_members": number,
    "total_guests": number,
    //Will be completed with Twake specific stats
	}
	
	//If requested as a user
	"role": "owner" | "admin" | "member" | "guest",
	"status": "active" | "deactivated" | "invited",
}
**WorkspaceObject**

{
  "id": "uuid",
  "company_id": "string", //Related to console "code"
  "name": "string",
  "logo": "string",

  "default": boolean,
  "archived": boolean,

  "stats": {
    "created_at": timestamp,
    "total_members": number,
    //Will be completed with Twake specific stats
  },

  //If requested as a user
  "role": "admin" | "member",
}
**WorkspaceUserObject**

{
  "id": "uuid",
  "company_id": "string", //Related to console "code"
	"workspace_id": "string",
	"user_id": "string",
  "created_at": number, //Timestamp in ms
  "role": "admin" | "member",

	"user": {UserObject}
}