@@ -18,6 +18,7 @@ import Data.Binary (Binary)
18import Data.Coerce (coerce)
18import Data.Coerce (coerce)
19import Data.Data
19import Data.Data
20import Data.Hashable (Hashable)
20import Data.Hashable (Hashable)
21+import Data.Int (Int64)
21import Data.OpenApi
22import Data.OpenApi
22import Data.String
23import Data.String
23import Data.Text as T
24import Data.Text as T
@@ -44,6 +45,9 @@ import Flat as F
44#ifdef USE_STORE
45#ifdef USE_STORE
45import qualified Data.Store
46import qualified Data.Store
49+import Rel8 (DBType(..))
48newtype Id t = Id { unId :: UUID }
52newtype Id t = Id { unId :: UUID }
49 deriving stock Data
53 deriving stock Data
@@ -53,6 +57,9 @@ newtype Id t = Id { unId :: UUID }
53#ifdef USE_POSTGRES
57#ifdef USE_POSTGRES
54 , PG.ToField, PG.FromField
58 , PG.ToField, PG.FromField
57 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema
64 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema
58 , ToParamSchema, FromHttpApiData, ToHttpApiData )
65 , ToParamSchema, FromHttpApiData, ToHttpApiData )
@@ -133,7 +140,7 @@ type family Ambiguous (a :: k) :: j where
133 Ambiguous x = x
140 Ambiguous x = x
135----------------- IntId
142----------------- IntId
136−newtype IntId t = IntId { unIntId :: Integer }
143+newtype IntId t = IntId { unIntId :: Int64 }
137 deriving stock Data
144 deriving stock Data
138 deriving newtype
145 deriving newtype
139 ( Eq, Ord, Binary
146 ( Eq, Ord, Binary
@@ -150,6 +157,9 @@ newtype IntId t = IntId { unIntId :: Integer }
150#ifdef USE_STORE
157#ifdef USE_STORE
151 , Data.Store.Store
158 , Data.Store.Store
154 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema
164 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema
155 , ToParamSchema, FromHttpApiData, ToHttpApiData, PathPiece, Arbitrary
165 , ToParamSchema, FromHttpApiData, ToHttpApiData, PathPiece, Arbitrary
@@ -160,7 +170,7 @@ type role IntId nominal
160makePrisms ''IntId
170makePrisms ''IntId
162mkIntId :: forall s. Integer -> IntId s
172mkIntId :: forall s. Integer -> IntId s
163−mkIntId = coerce
173+mkIntId = fromInteger
164{-# INLINE mkIntId #-}
174{-# INLINE mkIntId #-}
166instance KnownSymbol s => Show (IntId s) where
176instance KnownSymbol s => Show (IntId s) where
@@ -199,6 +209,9 @@ newtype Name t = Name { unName :: Text }
199#ifdef USE_STORE
209#ifdef USE_STORE
200 , Data.Store.Store
210 , Data.Store.Store
203 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema
216 , FromJSON, ToJSON, NFData, Hashable, FromJSONKey, ToJSONKey, ToSchema
204 , ToParamSchema, FromHttpApiData, ToHttpApiData, PathPiece
217 , ToParamSchema, FromHttpApiData, ToHttpApiData, PathPiece