Bundles
BUNDLES PARA DESARROLLADORES
/api/auradevs/bundles
POST
Crear un bundle. El developer puede crear un bundle SOLO con extensiones creadas por el y que tengan una versión en produccion. Si alguna de las extensiones no cumple estos requisitos, va a fallar la creación.
{
"type": "object",
"properties": {
"name": {"type": "string"},
"extensions": {"type": "array", "items": {"type": "string", "pattern": client_id_pattern}}
},
"required": ["name", "extensions"]
}
respuesta:
- code: 0, "info": "bundle created", "bundle": bundle
- bundle tiene un objeto como los que vienen en el get, para que el front lo pueda mostrar sin tener que hacer el get despues de crear.
Errores:
- code: 1, info: missing parameters
- no encontré el json del body
- code: 2, "some of the target extensions cannot be added to a bundle"
- alguna o todas las extensiones indicadas no cumplen los requisotos. En el json de respuesta hay un campo
invalidque tiene un array de los client_ids que son inválidos, para que el front le pueda mostrar al chabon.
- alguna o todas las extensiones indicadas no cumplen los requisotos. En el json de respuesta hay un campo
GET
respuesta:
{
"code": 0,
"bundles": bundles
}
donde bundles es un array de objetos cada uno como:
{
uuid: uuid del bundle,
name: nombre del bundle,
f_ini: fecha YYYY-MM-DD de creación,
extensions: [
{
client_id: client_id de la extension
valid: bool, indica si la app es valida (puede pasar que el dev cree un bundle y despues elimine una app. La idea seria o mostrar un warning o ponerla en gris o algo.
}
...
]
}
DELETE
en la url poner el uuid del bundle a eliminar ?uuid=<UUID>
Errores:
- code: 1, "bundle not found"
- el bundle indicado no existe o ya fue borrado
respuesta:
- "code": 0, "info": "bundle deleted", "uuid": bundle_uuid
BUNDLES PARA USUARIOS
/api/mktplace/bundles
GET
Es para mostrar el modal. Enviar el uuid en la URL:
?uuid=<UUID_BUNDLE>
Errores:
- code: 1, "bundle not found"
- el bundle indicado no existe o ya fue borrado
respuesta:
{
"code": 0,
"bundle": {
uuid: UUID DEL BUNDLE,
name: NOMBRE DEL BUNDLE,
extensions: [
{
'app': nombre extension,
'client_id': client_id de la extension,
'desc', descripcion de la extension (es el json con los locale),
'logo', logo svg,
'subdomain', subdominio del espacio (si es que la extension esta limitada a uno),
'valid', bool (indica si el user lo puede instalar o no, para indicarle que no se puede instalar),
'fun', array de funcionalidades (strings), como cuando le pegas a claimset
}
... (van a venir tantos objetos como extensiones)
]
}
}
POST
Es para instalar el bundle. Enviar el uuid en la URL:
?uuid=<UUID_BUNDLE>
Errores:
- code: 1, "bundle not found"
- el bundle indicado no existe o ya fue borrado
Respuesta:
{
"code": 0,
"info": "bundle extensions were authorized"
"authorized: [] (array de client_ids de las apps que se instalaron)
"not_authorized: [] (array de client_ids de las apps que **NO** se instalaron)
}