Saltar al contenido principal

Bundles

Ver en Git


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 invalid que tiene un array de los client_ids que son inválidos, para que el front le pueda mostrar al chabon.

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)
}