From 23103c3bcc83b20906efb62fd86fe9acc4ab120e Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Fri, 8 Aug 2025 15:31:14 +0530 Subject: [PATCH] Handle claimed domain error --- server/pkg/repo/remotestore/repository.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/server/pkg/repo/remotestore/repository.go b/server/pkg/repo/remotestore/repository.go index d9dd50ac4d..681942365c 100644 --- a/server/pkg/repo/remotestore/repository.go +++ b/server/pkg/repo/remotestore/repository.go @@ -3,6 +3,9 @@ package remotestore import ( "context" "database/sql" + "errors" + "github.com/ente-io/museum/ente" + "github.com/lib/pq" "github.com/ente-io/stacktrace" ) @@ -21,6 +24,17 @@ func (r *Repository) InsertOrUpdate(ctx context.Context, userID int64, key strin key, // $2 key_name value, // $3 key_value ) + + if err != nil { + // Check for unique violation (PostgreSQL error code 23505) + var pgErr *pq.Error + if errors.As(err, &pgErr) && pgErr.Code == "23505" { + if pgErr.Constraint == "remote_store_custom_domain_unique_idx" { + return ente.NewConflictError("custom domain already exists for another user") + } + } + return stacktrace.Propagate(err, "failed to insert/update") + } return stacktrace.Propagate(err, "failed to insert/update") }