Misiones ======== Subida de archivos ------------------ Fotos y videos ^^^^^^^^^^^^^^ Después de terminada la misión en cualquiera de los tipos, el software hace un barrido de los archivos provenientes de la cámara (Videos y Fotos). Estos archivos pudieron ser creados automáticamente por el tipo de ruta (polígono) o pudieron ser creados por el usuario. La compilación de los archivos se crea dentro de *zip* que será subido a un bucket de AWS (mission-files-from-device) con los permisos de solo escritura para mantener la seguridad. Dentro del bucket el *zip* se alojará dentro de la carpeta **{id_device}/media**, donde *id_device* es el *id* del dispositivo proveniente de ThingsBoard, además de tener la siguiente notación: **{tipo_camara}_{tipo_vuelo}-{id_vuelo}.zip**. Después de ser subido el *zip*, los procesos consecuentes serán manejados por AWS de la siguiente manera: * Hay un trigger en el bucket de subida, el cual lanza una función lambda que se encargará de: * Hacer *unzip* de los archivos. * Mover archivos a las carpetas de los vuelos haciendo distinción entre videos y fotos. El lugar a donde se subirá depende de el *id* del dispositivo y el vuelo realizado, el path es el siguiente: * **{id_device}/vuelos/{tipo_vuelo}-{id_vuelo}/{id_vuelo}-{índice_foto}.jpg** * **{id_device}/media/{id_vuelo}/{id_vuelo}-{índice_foto}.mp4** * Hacer la compresión de las fotos para mostrarlas como thumbnail. * **{id_device}/minified/{tipo_vuelo}-{id_vuelo}/{id_vuelo}-{índice_foto}.jpg** * Si el tipo de ruta es de polígono, se mandarán las fotos a ser procesadas para despues obtener los resultados y ser mostrados.