Tipos-de-usuarios-por-Espacio
Tipos de usuario por espacio
Intro
Para que los administradores de los espacios asignen a los usuarios el tipo de usuario, se definen cuotas de tipos de usuarios. Esto es, para cada espacio, una cantidad de cierto tipo de usuario disponible para asignar.
Una WorkspaceUserTypeQuota se define como:
workspace_id:intid del espaciouser_type_id:intid del tipo de usuariouser_type:strnombre del tipo de usuariooriginal_quota:intcantidad disponiblevalid_from:str YYYY/MM/DDfecha desde la cual tiene vigenciavalid_to:str YYYY/MM/DDfecha hasta la cual tiene vigenciaconsumed_quota:intcantidad asignada a usuariosavailable_quota:int= original_quota - consumed_quotausers:[int]sólo disponible cuando consulta el administrador, listado de ids de usuarios que tienen asignada tal cuota
Importante!
Hoy en día se dan de alta addons de usuarios a los espacios (por ejemplo 5 usuarios espacio Profesional al espacio X). Debido a que muchos espacios tienen sus propios tipos de usuarios con variantes, fue necesario desvincular los addons cargados al espacio de las cuotas de usuarios.
Funcionamiento
Las cuotas se definen en la tabla escritorios_cuota_tipo_usuario.
Si hay una cuota de tipo de usuario vigente duplicada para un mismo espacio, se considera la más reciente.
- CCSS da de alta las cuotas
- Los administradores de espacios verán el tipo de usuario en el listado de usuarios.
- En los espacios que no tengan cuota cargada, todo seguirá funcionando como de normal:
- Al invitar usuarios, se crean con el plan base definido en la tabla escritorios
- En los espacios que tengan cuota cargada:
- Los administradores verán un listado de las vigentes en el admin del espacio, con su consumo.
- Al invitar un usuario podrán elegir el tipo de usuario según las cuotas vigentes.
- Podrán editar el tipo de usuario de cada usuario según las cuotas vigentes.
- Se envía un mail semanal automático a soporte con las discrepancias que haya entre:
- cuotas cargadas
- addons cargados
- tipos de usuarios asignados
CCSS: manejo de cuotas
CCSS cuenta con apis para el manejo de cuotas de usuarios.
Listado de cuotas
GET /api/internal/workspace_admin/user_types ? workspace_id = XXX
Respuesta JSON con array de WorkspaceUserTypeQuota:
{
"data": [{...}, {...}]
}
Carga de cuotas
Si existe alguna vigente para el espacio con el mismo tipo de usuario, eliminará la cuota anterior con fecha de inicio de la nueva.
POST /api/internal/workspace_admin/user_types
Body JSON con WorkspaceUserTypeQuota:
{
"workspace_id": 1,
"user_type_id": 70,
"original_quota": 5,
"valid_from": "YYYY/MM/DD",
"valid_to": "YYYY/MM/DD"
}
Listado de tipos de usuario
GET /api/internal/user_types
Respuesta JSON con array de objetos:
{
"data": [{
"user_type_id": 5,
"user_type": "Profesional Full 1000"
}]
}
Baja/modificación de cuotas
Se modifica/elimina cuotas cambiando la fecha de validez. Se envía el objeto final.
PATCH /api/internal/workspace_admin/user_types
Body JSON con WorkspaceUserTypeQuota:
{
"workspace_id": 1,
"user_type_id": 70,
"original_quota": 5,
"valid_from": "YYYY/MM/DD",
"valid_to": "YYYY/MM/DD"
}
Administradores
Los administradores del espacio verán en el panel de admin las cuotas y su consumo. En caso que el espacio no tenga cuotas asignadas, no mostrar el panel.
Listado de usuarios
En el listado de usuarios ya existente, se agrega el tipo de usuario y su id.
GET /api/desktops
A cada objeto de usuario se agregan:
{
...,
"id_tipo_usuario": 5,
"tipo_usuario": "Profesional Full 1000"
}
Traducir. El FrontEnd ya dispone del diccionario con las traducciones.
Listado de cuotas
GET /api/workspaces/user_types
Respuesta JSON con array de WorkspaceUserTypeQuota:
{
"data": [{...}, {...}]
}
Invitación usuarios
EN caso que el espacio tenga cuotas, en la invitación de usuarios agregar el campo id_tipo_usuario
Es necesraio validar en FrontEnd la disponibilidad de tipos de usuarios.
Si el espacio no tiene cuotas, no enviar el parámetro porque fallará por falta de cuota.
POST /api/escritorio/usuario
Al Body JSON agregar:
{
....
"id_tipo_usuario": 5
}
Respuesta error en caso que no hay más cuota disponible:
{
"code": 6
}
Si la respuesta es HTTP 200, recargar el listado de cuotas.
Modificación usuarios
EN caso que el espacio tenga cuotas, en la modificación de usuarios agregar el campo id_tipo_usuario.
Es necesraio validar en FrontEnd la disponibilidad de tipos de usuarios.
Si el espacio no tiene cuotas, no enviar el parámetro porque fallará por falta de cuota.
PATCH /api/escritorio/usuario
Al Body JSON agregar:
{
....
"id_tipo_usuario": 5
}
Respuesta error en caso que no hay más cuota disponible:
{
"code": 6
}
Si la respuesta es HTTP 200, recargar el listado de cuotas.
Discrepancias
Una vez por semana se analizan las posibles discrepancias que pueda haber. Se enviará un mail a soporte en caso que un espacio tenga cuotas cargadas y:
- Haya usuarios con un tipo de usuario no respaldado por una cuota (sea por cantidad disponible o por no existir la cuota)
- La suma de cantidad de usuarios de addons que el espacio tenga cargados sea distinta a la suma de las cuotas vigentes.
- Ejemplo: si un espacio tiene addons por 5 Gestión y 5 Profesional, pero tiene 2 cuotas, una de 10 y otra de 5. No se comparan los tipos de usuario sino las cantidades