Como medida de seguridad, vamos a querer implementar un almacenamiento de ficheros al servicio externo de Google Drive, para que tengamos un mirror de los ficheros almacenados en nuestra aplicación.
Básicamente, el funcionamiento de las operaciones básicas que necesitaremos será el siguiente:
Crear fichero: espera un nombre y el propio fichero en sí (os.File). Te devuelve, entre otras cosas, el ID del archivo guardado (lo necesitaremos para el resto de operaciones).
Descargar fichero: dado un ID de fichero, lo descarga. Devuelve un io.ReadCloser.
Actualizar fichero: dado un ID de fichero y el propio fichero en sí, lo actualiza.
Borrar fichero: dado un ID de fichero, lo borra.
Condiciones de satisfacción
[x] Realizar una migración para añadir el campo del ID de fichero de Drive (gdrive_id char(44) not null) y actualizar el modelo y el DAO.
[x] Implementar los servicios anteriormente descritos, haciendo que se inicie sesión con el token OAuth que se utiliza en dicha librería.
[x] Integrar los anteriores servicios con los ya existentes.
[x] Añadir la opción de elegir entre gdrive o nuestro servicio local para el almacenamiento
Descripción
Como medida de seguridad, vamos a querer implementar un almacenamiento de ficheros al servicio externo de Google Drive, para que tengamos un mirror de los ficheros almacenados en nuestra aplicación.
Básicamente, el funcionamiento de las operaciones básicas que necesitaremos será el siguiente:
os.File
). Te devuelve, entre otras cosas, el ID del archivo guardado (lo necesitaremos para el resto de operaciones).io.ReadCloser
.Condiciones de satisfacción
gdrive_id char(44) not null
) y actualizar el modelo y el DAO.Referencias