# Phone Numberings ## Modelo ``` { "id": "string", "prefix": "string", "phoneType": "MOBILE/LANDLINE", "operator": { "id": "string: id de la marca con ext_ si es externo para evitar ids duplicados", "name": "string", "external": boolean }, "network-host": "string", "status": "ACTIVE/FREE/ONGOING" } ``` ## Datos de prueba 668712312 --> el rango de numeración no pertenece a ningún operador 668612312 --> parlem 667612312 --> vodafone 661612312 --> orange 606434875 --> movistar 633647614 --> yoigo 633647713 --> llamaya ## Casos de prueba en front llamaya y 633647851 -> no activo masmovil y 633647851 -> Ya activo (El telefono se está portando a llamaya pero aún no está activo) llamaya y 667612312 -> GT MOBILE llamaya y 633647859 -> XPHERA MOVILES llamaya y 633647710 -> Numero ya pertenece a la marca llamaya y 668712312 -> El rango de numeración no pertenece a ningún operador masmovil y 633647710 -> VACIO HIJOS DE PUTAAAAAA ## Lógica en front: ``` Si status == ACTIVE y operator.name == org error: Ya pertenece a la marca --> mensaje de error sino Si status == ACTIVE mostrar operator.name --> se muestra el operador y se le permite continuar Si status == IDLE error: El rango de numeración no pertenece a ningún operador --> se le permite elegir la marca a mano Si status == ONGOING error: Ya existe una portabilidad en vuelo sobre este teléfono --> no valida el teléfono ``` ## Casos ### Teléfono activo en operador externo /org/llamaya/phone-numberings/667612312 ``` { "id": "667612312", "prefix": "+34", "phoneType": "MOBILE", "operator": { "id": "ext_003", "name": "GT MOBILE", "external": true }, "network-host": "", "status": "ACTIVE" } ``` ### Teléfono Activo en Operador Interno /org/llamaya/phone-numberings/633647713 - Hace el flujo normal y el front descubre que es la misma marca que para la que se intenta hacer la portabilidad. - el socket me devuelve Ya activo se está haciendo la portabilidad desde la marca en la que se llama. Tengo que rellenar los datos de la marca que me llama en currentOperator. ``` { "id": "633647713", "prefix": "+34", "phoneType": "MOBILE", "operator": { "id": "6", "name": "llamaya", "external": false }, "status": "ACTIVE", "networkHost": "ORANGE", } ``` ### Telefono libre: numeración no asignada a ningún operador /org/llamaya/phone-numberings/668712312 ``` { "id": "666555444", "prefix": "+34", "phoneType": "MOBILE", "operator": { "id": "", "name": "", "network-host": "", "external": false }, "status": "IDLE" } ``` ### Teléfono portandose a una marca del grupo ``` { "id": "633647851", "prefix": "+34", "phoneType": "MOBILE", "operator": { "id": "", "name": "", "network-host": "", "external": true }, "status": "ONGOING" } ``` ### Portabilidad entre marcas /org/llamaya/phone-numberings/633647851 /org/llamaya/phone-numberings/633647577 - el socket me devuelve No activo se está haciendo la portabilidad a alguna marca del grupo, pero no puedo saber a cuál. ``` { "id": "666555444", "prefix": "+34", "phoneType": "MOBILE", "currentOperator": { "id": "15", "name": "yoigo", "network-host": "YOIGO", "external": false }, "destinationOperator": { "id": "2", "name": "masmovil", "network-host": "YOIGO", "external": false } "status": "ONGOING" } ``` ### Portabilidad entre marcas con red diferente ``` { "id": "666555444", "prefix": "+34", "phoneType": "MOBILE", "currentOperator": { "id": "2", "name": "masmovil", "network-host": "ORANGE", "external": false }, "destinationOperator": { "id": "2", "name": "masmovil", "network-host": "YOIGO", "external": false } "status": "ONGOING" } ``` ### Telefono fijo ``` { "id": "910232345", "prefix": "+34", "phoneType": "LANDLINE", "currentOperator": { "id": "", "name": "", "network-host": "", "external": false }, "destinationOperator": { "id": "", "name": "", "network-host": "", "external": false }, "status": "ACTIVE" } ```