gohorsejobs/backend/cmd/debug_s3/main.go
NANDO9322 ddc2f5dd03 feat: atualiza fluxo de cadastro de candidatos com persistência completa de dados e máscara de telefone
Frontend:
- Implementar máscara de entrada de telefone para números BR ((XX) XXXXX-XXXX).
- Atualizar formulário de cadastro para enviar dados completos do perfil do candidato (endereço, formação, habilidades, etc.).
- Corrigir problemas de idioma misto na página de Detalhes da Vaga e adicionar traduções faltantes.

Backend:
- Atualizar modelo de Usuário, Entidade e DTOs para incluir campos de perfil (Data de Nascimento, Endereço, Formação, etc.).
- Atualizar UserRepository para persistir e recuperar os dados estendidos do usuário no PostgreSQL.
- Atualizar RegisterCandidateUseCase para mapear campos de entrada para a entidade Usuário.
2026-01-06 18:19:47 -03:00

77 lines
2.3 KiB
Go

package main
import (
"context"
"fmt"
"strings"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/credentials"
"github.com/aws/aws-sdk-go-v2/service/s3"
)
func main() {
// Hardcoded values for debugging to avoid .env loading issues
endpoint := "https://objectstore.nyc1.civo.com"
accessKey := "0UZ69TH03Q292DMTB82B"
secretKey := "JJ5XXZYvoWdnqBCNP5oREjACyrXeH6EgSqeSybT7"
bucket := "rede5/ghorsejobs-dev"
region := "nyc1"
fmt.Printf("Loaded Env:\nEndpoint: %s\nAccess: %s\nSecret: %s\nBucket: %s\nRegion: %s\n\n",
endpoint, accessKey, secretKey, bucket, region)
// Test 1: Configured values
fmt.Println("--- TEST 1: Configured Values ---")
testS3(endpoint, accessKey, secretKey, bucket, region)
// Test 2: Force us-east-1
fmt.Println("\n--- TEST 2: Force us-east-1 ---")
testS3(endpoint, accessKey, secretKey, bucket, "us-east-1")
// Test 3: Split bucket (if contains slash)
if strings.Contains(bucket, "/") {
parts := strings.SplitN(bucket, "/", 2)
realBucket := parts[0]
// keyPrefix := parts[1] // Not used for list, but good to know
fmt.Printf("\n--- TEST 3: Bucket base '%s' (Region: %s) ---\n", realBucket, region)
testS3(endpoint, accessKey, secretKey, realBucket, region)
fmt.Printf("\n--- TEST 4: Bucket base '%s' (Region: us-east-1) ---\n", realBucket)
testS3(endpoint, accessKey, secretKey, realBucket, "us-east-1")
}
}
func testS3(endpoint, access, secret, bucket, region string) {
cfg, err := config.LoadDefaultConfig(context.TODO(),
config.WithRegion(region),
config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(access, secret, "")),
)
if err != nil {
fmt.Printf("Error loading config: %v\n", err)
return
}
client := s3.NewFromConfig(cfg, func(o *s3.Options) {
o.BaseEndpoint = aws.String(endpoint)
o.UsePathStyle = true
o.Region = region
})
// Try List Objects
fmt.Printf("Attempting ListObjectsV2 on bucket '%s'...\n", bucket)
out, err := client.ListObjectsV2(context.TODO(), &s3.ListObjectsV2Input{
Bucket: aws.String(bucket),
MaxKeys: aws.Int32(1),
})
if err != nil {
fmt.Printf("FAILED: %v\n", err)
} else {
fmt.Printf("SUCCESS! Found %d objects.\n", len(out.Contents))
if len(out.Contents) > 0 {
fmt.Printf("Sample object: %s\n", *out.Contents[0].Key)
}
}
}