store: answer invalid_name and invalid_link once

This commit is contained in:
shum committed 2026-10-22 03:05:11 +00:00
1 parent db932005bf
commit 3d278c0b39
3 files changed
+8 -11

No files matched your search

@@ -25,6 +25,7 @@ module StoreService.Web.Http
notFound,
badRequest,
invalidName,
invalidLink,
codeConflict,
providerUnavailable,
rateLimited,
@@ -254,6 +255,9 @@ badRequest = jsonError status400 "bad_request"
invalidName :: Response
invalidName = jsonError status400 "invalid_name"
invalidLink :: Response
invalidLink = jsonError status400 "invalid_link"
codeConflict :: Response
codeConflict = jsonError status409 "code_conflict"
@@ -10,7 +10,7 @@ import qualified Data.Aeson as J
import qualified Data.Aeson.Types as JT
import Data.Text (Text)
import Data.Text.Encoding (decodeLatin1)
import Network.HTTP.Types (status200, status400, status409, status504)
import Network.HTTP.Types (status200, status409, status504)
import Network.Wai (Request, Response, ResponseReceived)
import Simplex.Messaging.SimplexName (LabelHash (..))
import StoreService.Names.Abi (bytes32FromHex, hex)
@@ -20,7 +20,7 @@ import StoreService.Names.Records (EditAnswer (..), EditRequest (..), Records, r
import StoreService.Names.Registration (channelRecordKey, contactRecordKey)
import StoreService.Names.Signatures (parseSignature)
import StoreService.Names.Store (RecordChange (..))
import StoreService.Web.Http (Respond, badRequest, jsonError, jsonResponse, maxBodyBytes, providerUnavailable, rateLimited, readBoundedBody)
import StoreService.Web.Http (Respond, badRequest, invalidLink, jsonError, jsonResponse, maxBodyBytes, providerUnavailable, rateLimited, readBoundedBody)
data EditInvalid = EIBadRequest | EIInvalidLink
deriving (Eq, Show)
@@ -64,6 +64,3 @@ editResponse = \case
EARefused -> badRequest
EAUnavailable -> providerUnavailable
EACapped seconds -> rateLimited seconds
invalidLink :: Response
invalidLink = jsonError status400 "invalid_link"
@@ -18,7 +18,7 @@ import Data.Text (Text)
import qualified Data.Text as T
import Data.Text.Encoding (decodeLatin1)
import Data.Time.Clock.POSIX (utcTimeToPOSIXSeconds)
import Network.HTTP.Types (status200, status400)
import Network.HTTP.Types (status200)
import Network.Wai (Request, Response, ResponseReceived, queryString)
import Simplex.Chat.Badges.Code (maxNameLength, minNameLength)
import Simplex.Messaging.Agent.Store.Common (DBStore, withTransaction)
@@ -33,7 +33,7 @@ import StoreService.Names.Contracts
import StoreService.Names.Links (LinkKind (..), linkKindOf)
import StoreService.Names.Profiles (Entity, Profiles, linkEntity, linkPreview)
import StoreService.Names.Store (isLabelRegistering)
import StoreService.Web.Http (Respond, badRequest, jsonError, jsonResponse, maxBodyBytes, providerUnavailable, readBoundedBody)
import StoreService.Web.Http (Respond, badRequest, invalidLink, invalidName, jsonResponse, maxBodyBytes, providerUnavailable, readBoundedBody)
import System.Timeout (timeout)
import Text.Read (readMaybe)
@@ -127,7 +127,3 @@ previewHandler ps req respond =
addressText :: Address -> Text
addressText = decodeLatin1 . strEncode
invalidName, invalidLink :: Response
invalidName = jsonError status400 "invalid_name"
invalidLink = jsonError status400 "invalid_link"