se agrego drive correctamente
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
// src/drive/drive.controller.ts
|
||||
import {
|
||||
BadRequestException,
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
Get,
|
||||
Param,
|
||||
Post,
|
||||
Query,
|
||||
} from '@nestjs/common';
|
||||
import { DriveService } from './drive.service';
|
||||
import * as fs from 'fs';
|
||||
|
||||
@Controller('drive-test')
|
||||
export class DriveController {
|
||||
constructor(private readonly driveService: DriveService) { }
|
||||
|
||||
// ✅ Listar archivos/carpetas
|
||||
@Get('list')
|
||||
async list(@Query('pageToken') pageToken?: string) {
|
||||
return this.driveService.list(pageToken || '');
|
||||
}
|
||||
|
||||
// ✅ Crear carpeta dentro de CARPETA
|
||||
@Post('mkdir')
|
||||
async createFolder(@Body('name') name: string) {
|
||||
if (!name) {
|
||||
throw new BadRequestException('El nombre es obligatorio');
|
||||
}
|
||||
const folderId = await this.driveService.mkDir(name);
|
||||
return { folderId };
|
||||
}
|
||||
|
||||
// ✅ Obtener carpeta (buscar o crear)
|
||||
@Get('folder/:numeroCuenta')
|
||||
async getOrCreateFolder(
|
||||
@Param('numeroCuenta') numeroCuenta: string,
|
||||
) {
|
||||
const folderId = await this.driveService.folder(numeroCuenta);
|
||||
return { folderId };
|
||||
}
|
||||
|
||||
// ✅ Subir archivo (archivo dummy para pruebas)
|
||||
@Post('upload')
|
||||
async uploadFile(
|
||||
@Body('parent') parent: string,
|
||||
) {
|
||||
if (!parent) {
|
||||
throw new BadRequestException('Parent es obligatorio');
|
||||
}
|
||||
|
||||
// Archivo temporal para prueba
|
||||
const tempPath = './temp-test.txt';
|
||||
fs.writeFileSync(tempPath, 'Archivo de prueba DriveService');
|
||||
|
||||
const fileId = await this.driveService.uploadFile(
|
||||
tempPath,
|
||||
'test-drive.txt',
|
||||
'text/plain',
|
||||
parent,
|
||||
);
|
||||
|
||||
return { fileId };
|
||||
}
|
||||
|
||||
// ✅ Mover archivo (update)
|
||||
@Post('update')
|
||||
async updateFile(
|
||||
@Body('fileId') fileId: string,
|
||||
@Body('addParents') addParents: string,
|
||||
@Body('removeParents') removeParents: string,
|
||||
) {
|
||||
if (!fileId || !addParents || !removeParents) {
|
||||
throw new BadRequestException('Datos incompletos');
|
||||
}
|
||||
|
||||
return this.driveService.update(fileId, addParents, removeParents);
|
||||
}
|
||||
|
||||
// ✅ Eliminar archivo
|
||||
@Delete('delete/:fileId')
|
||||
async deleteFile(@Param('fileId') fileId: string) {
|
||||
await this.driveService.deleteFile(fileId);
|
||||
return { message: 'Archivo eliminado correctamente' };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user