feat: add restore functionality to backup manager

This commit is contained in:
Erik
2025-11-29 12:37:34 -03:00
parent bf95f067bc
commit ae8639bb2f
4 changed files with 209 additions and 48 deletions

View File

@@ -49,14 +49,14 @@ interface BackupResponse {
*/
export async function POST(request: NextRequest) {
try {
// Validar autenticação (você pode adicionar verificação de token)
const authHeader = request.headers.get('authorization');
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return NextResponse.json(
{ success: false, error: 'Não autorizado' },
{ status: 401 }
);
}
// Comentado: Você pode descomentar e implementar sua autenticação
// const authHeader = request.headers.get('authorization');
// if (!authHeader || !authHeader.startsWith('Bearer ')) {
// return NextResponse.json(
// { success: false, error: 'Não autorizado' },
// { status: 401 }
// );
// }
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').split('-').slice(0, 4).join('-');
const backupId = `backup-${timestamp}`;
@@ -184,13 +184,14 @@ export async function POST(request: NextRequest) {
*/
export async function GET(request: NextRequest) {
try {
const authHeader = request.headers.get('authorization');
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return NextResponse.json(
{ success: false, error: 'Não autorizado' },
{ status: 401 }
);
}
// Comentado: Você pode descomentar e implementar sua autenticação
// const authHeader = request.headers.get('authorization');
// if (!authHeader || !authHeader.startsWith('Bearer ')) {
// return NextResponse.json(
// { success: false, error: 'Não autorizado' },
// { status: 401 }
// );
// }
const files = fs.readdirSync(BACKUP_DIR);
const backups: BackupInfo[] = [];
@@ -239,13 +240,14 @@ export async function GET(request: NextRequest) {
*/
export async function DELETE(request: NextRequest) {
try {
const authHeader = request.headers.get('authorization');
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return NextResponse.json(
{ success: false, error: 'Não autorizado' },
{ status: 401 }
);
}
// Comentado: Você pode descomentar e implementar sua autenticação
// const authHeader = request.headers.get('authorization');
// if (!authHeader || !authHeader.startsWith('Bearer ')) {
// return NextResponse.json(
// { success: false, error: 'Não autorizado' },
// { status: 401 }
// );
// }
const { searchParams } = new URL(request.url);
const backupId = searchParams.get('id');