{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# OPTIONS_GHC -fno-warn-ambiguous-fields #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module WikiMusic.Beam.Artist where
import Data.Map qualified as Map
import Data.UUID qualified as UUID
import Database.Beam
import Optics
import Relude
import WikiMusic.Beam.Util
import WikiMusic.Model.Artist
import WikiMusic.Protolude
data ArtistT f = Artist'
{ forall (f :: * -> *). ArtistT f -> C f Text
identifier :: C f Text,
forall (f :: * -> *). ArtistT f -> C f Text
displayName :: C f Text,
forall (f :: * -> *). ArtistT f -> C f Text
createdBy :: C f Text,
forall (f :: * -> *). ArtistT f -> C f Int64
visibilityStatus :: C f Int64,
forall (f :: * -> *). ArtistT f -> C f (Maybe Text)
approvedBy :: C f (Maybe Text),
forall (f :: * -> *). ArtistT f -> C f UTCTime
createdAt :: C f UTCTime,
forall (f :: * -> *). ArtistT f -> C f (Maybe UTCTime)
lastEditedAt :: C f (Maybe UTCTime),
forall (f :: * -> *). ArtistT f -> C f Int64
viewCount :: C f Int64,
forall (f :: * -> *). ArtistT f -> C f (Maybe Text)
description :: C f (Maybe Text)
}
deriving ((forall x. ArtistT f -> Rep (ArtistT f) x)
-> (forall x. Rep (ArtistT f) x -> ArtistT f)
-> Generic (ArtistT f)
forall x. Rep (ArtistT f) x -> ArtistT f
forall x. ArtistT f -> Rep (ArtistT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x. Rep (ArtistT f) x -> ArtistT f
forall (f :: * -> *) x. ArtistT f -> Rep (ArtistT f) x
$cfrom :: forall (f :: * -> *) x. ArtistT f -> Rep (ArtistT f) x
from :: forall x. ArtistT f -> Rep (ArtistT f) x
$cto :: forall (f :: * -> *) x. Rep (ArtistT f) x -> ArtistT f
to :: forall x. Rep (ArtistT f) x -> ArtistT f
Generic, TableSkeleton ArtistT
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistT f -> ArtistT g -> m (ArtistT h))
-> TableSkeleton ArtistT -> Beamable ArtistT
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistT f -> ArtistT g -> m (ArtistT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistT f -> ArtistT g -> m (ArtistT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistT f -> ArtistT g -> m (ArtistT h)
$ctblSkeleton :: TableSkeleton ArtistT
tblSkeleton :: TableSkeleton ArtistT
Beamable)
makeFieldLabelsNoPrefix ''ArtistT
type Artist' = ArtistT Identity
instance Table ArtistT where
data PrimaryKey ArtistT f = ArtistId (Columnar f Text) deriving ((forall x. PrimaryKey ArtistT f -> Rep (PrimaryKey ArtistT f) x)
-> (forall x. Rep (PrimaryKey ArtistT f) x -> PrimaryKey ArtistT f)
-> Generic (PrimaryKey ArtistT f)
forall x. Rep (PrimaryKey ArtistT f) x -> PrimaryKey ArtistT f
forall x. PrimaryKey ArtistT f -> Rep (PrimaryKey ArtistT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (PrimaryKey ArtistT f) x -> PrimaryKey ArtistT f
forall (f :: * -> *) x.
PrimaryKey ArtistT f -> Rep (PrimaryKey ArtistT f) x
$cfrom :: forall (f :: * -> *) x.
PrimaryKey ArtistT f -> Rep (PrimaryKey ArtistT f) x
from :: forall x. PrimaryKey ArtistT f -> Rep (PrimaryKey ArtistT f) x
$cto :: forall (f :: * -> *) x.
Rep (PrimaryKey ArtistT f) x -> PrimaryKey ArtistT f
to :: forall x. Rep (PrimaryKey ArtistT f) x -> PrimaryKey ArtistT f
Generic, TableSkeleton (PrimaryKey ArtistT)
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistT f
-> PrimaryKey ArtistT g
-> m (PrimaryKey ArtistT h))
-> TableSkeleton (PrimaryKey ArtistT)
-> Beamable (PrimaryKey ArtistT)
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistT f
-> PrimaryKey ArtistT g
-> m (PrimaryKey ArtistT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistT f
-> PrimaryKey ArtistT g
-> m (PrimaryKey ArtistT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistT f
-> PrimaryKey ArtistT g
-> m (PrimaryKey ArtistT h)
$ctblSkeleton :: TableSkeleton (PrimaryKey ArtistT)
tblSkeleton :: TableSkeleton (PrimaryKey ArtistT)
Beamable)
primaryKey :: forall (column :: * -> *).
ArtistT column -> PrimaryKey ArtistT column
primaryKey = Columnar column Text -> PrimaryKey ArtistT column
forall (f :: * -> *). Columnar f Text -> PrimaryKey ArtistT f
ArtistId (Columnar column Text -> PrimaryKey ArtistT column)
-> (ArtistT column -> Columnar column Text)
-> ArtistT column
-> PrimaryKey ArtistT column
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ArtistT column
-> Optic' A_Lens NoIx (ArtistT column) (Columnar column Text)
-> Columnar column Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx (ArtistT column) (Columnar column Text)
#identifier)
fromArtistPk :: PrimaryKey ArtistT f -> Columnar f Text
fromArtistPk :: forall (f :: * -> *). PrimaryKey ArtistT f -> Columnar f Text
fromArtistPk (ArtistId Columnar f Text
i) = Columnar f Text
i
toArtist :: Artist' -> ExternalSources -> (UUID, Artist)
toArtist :: Artist' -> ExternalSources -> (UUID, Artist)
toArtist Artist'
x ExternalSources
ex =
( Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ Artist'
x Artist' -> Optic' A_Lens NoIx Artist' Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' Text
#identifier,
Artist
{ $sel:identifier:Artist :: UUID
identifier = Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ Artist'
x Artist' -> Optic' A_Lens NoIx Artist' Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' Text
#identifier,
$sel:displayName:Artist :: Text
displayName = Artist'
x Artist' -> Optic' A_Lens NoIx Artist' Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' Text
#displayName,
$sel:createdBy:Artist :: UUID
createdBy = Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ Artist'
x Artist' -> Optic' A_Lens NoIx Artist' Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' Text
#createdBy,
$sel:visibilityStatus:Artist :: Int
visibilityStatus = Int64 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int64 -> Int) -> Int64 -> Int
forall a b. (a -> b) -> a -> b
$ Artist'
x Artist' -> Optic' A_Lens NoIx Artist' Int64 -> Int64
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' Int64
#visibilityStatus,
$sel:approvedBy:Artist :: Maybe UUID
approvedBy = (Text -> UUID) -> Maybe Text -> Maybe UUID
forall a b. (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (Text -> UUID
textToUUID) (Artist'
x Artist' -> Optic' A_Lens NoIx Artist' (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' (Maybe Text)
#approvedBy),
$sel:createdAt:Artist :: UTCTime
createdAt = Artist'
x Artist' -> Optic' A_Lens NoIx Artist' UTCTime -> UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' UTCTime
#createdAt,
$sel:lastEditedAt:Artist :: Maybe UTCTime
lastEditedAt = Artist'
x Artist'
-> Optic' A_Lens NoIx Artist' (Maybe UTCTime) -> Maybe UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' (Maybe UTCTime)
#lastEditedAt,
$sel:viewCount:Artist :: Int
viewCount = Int64 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int64 -> Int) -> Int64 -> Int
forall a b. (a -> b) -> a -> b
$ Artist'
x Artist' -> Optic' A_Lens NoIx Artist' Int64 -> Int64
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' Int64
#viewCount,
$sel:description:Artist :: Maybe Text
description = Artist'
x Artist' -> Optic' A_Lens NoIx Artist' (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist' (Maybe Text)
#description,
$sel:artworks:Artist :: Map UUID ArtistArtwork
artworks = Map UUID ArtistArtwork
forall k a. Map k a
Map.empty,
$sel:comments:Artist :: [ThreadRender ArtistComment]
comments = [],
$sel:opinions:Artist :: Map UUID ArtistOpinion
opinions = Map UUID ArtistOpinion
forall k a. Map k a
Map.empty,
$sel:spotifyUrl:Artist :: Maybe Text
spotifyUrl = ExternalSources
ex ExternalSources
-> Optic' A_Lens NoIx ExternalSources (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ExternalSources (Maybe Text)
#spotifyUrl,
$sel:youtubeUrl:Artist :: Maybe Text
youtubeUrl = ExternalSources
ex ExternalSources
-> Optic' A_Lens NoIx ExternalSources (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ExternalSources (Maybe Text)
#youtubeUrl,
$sel:soundcloudUrl:Artist :: Maybe Text
soundcloudUrl = ExternalSources
ex ExternalSources
-> Optic' A_Lens NoIx ExternalSources (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ExternalSources (Maybe Text)
#soundcloudUrl,
$sel:wikipediaUrl:Artist :: Maybe Text
wikipediaUrl = ExternalSources
ex ExternalSources
-> Optic' A_Lens NoIx ExternalSources (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ExternalSources (Maybe Text)
#wikipediaUrl
}
)
toPersistenceArtist :: Artist -> Artist'
toPersistenceArtist :: Artist -> Artist'
toPersistenceArtist Artist
x =
Artist'
{ $sel:identifier:Artist' :: C Identity Text
identifier = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ Artist
x Artist -> Optic' A_Lens NoIx Artist UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist UUID
#identifier,
$sel:displayName:Artist' :: C Identity Text
displayName = Artist
x Artist -> Optic' A_Lens NoIx Artist Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist Text
#displayName,
$sel:createdBy:Artist' :: C Identity Text
createdBy = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ Artist
x Artist -> Optic' A_Lens NoIx Artist UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist UUID
#createdBy,
$sel:visibilityStatus:Artist' :: C Identity Int64
visibilityStatus = Int -> C Identity Int64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> C Identity Int64) -> Int -> C Identity Int64
forall a b. (a -> b) -> a -> b
$ Artist
x Artist -> Optic' A_Lens NoIx Artist Int -> Int
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist Int
#visibilityStatus,
$sel:approvedBy:Artist' :: C Identity (Maybe Text)
approvedBy = (UUID -> Text) -> Maybe UUID -> Maybe Text
forall a b. (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (UUID -> Text
UUID.toText) (Artist
x Artist -> Optic' A_Lens NoIx Artist (Maybe UUID) -> Maybe UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe UUID)
#approvedBy),
$sel:createdAt:Artist' :: C Identity UTCTime
createdAt = Artist
x Artist -> Optic' A_Lens NoIx Artist UTCTime -> UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist UTCTime
#createdAt,
$sel:lastEditedAt:Artist' :: C Identity (Maybe UTCTime)
lastEditedAt = Artist
x Artist
-> Optic' A_Lens NoIx Artist (Maybe UTCTime) -> Maybe UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe UTCTime)
#lastEditedAt,
$sel:viewCount:Artist' :: C Identity Int64
viewCount = Int -> C Identity Int64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> C Identity Int64) -> Int -> C Identity Int64
forall a b. (a -> b) -> a -> b
$ Artist
x Artist -> Optic' A_Lens NoIx Artist Int -> Int
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist Int
#viewCount,
$sel:description:Artist' :: C Identity (Maybe Text)
description = Artist
x Artist -> Optic' A_Lens NoIx Artist (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe Text)
#description
}
data f =
{ :: C f Text,
:: C f (Maybe Text),
:: PrimaryKey ArtistT f,
:: C f Text,
:: C f Int64,
:: C f Text,
:: C f (Maybe Text),
:: C f UTCTime,
:: C f (Maybe UTCTime)
}
deriving ((forall x. ArtistCommentT f -> Rep (ArtistCommentT f) x)
-> (forall x. Rep (ArtistCommentT f) x -> ArtistCommentT f)
-> Generic (ArtistCommentT f)
forall x. Rep (ArtistCommentT f) x -> ArtistCommentT f
forall x. ArtistCommentT f -> Rep (ArtistCommentT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (ArtistCommentT f) x -> ArtistCommentT f
forall (f :: * -> *) x.
ArtistCommentT f -> Rep (ArtistCommentT f) x
$cfrom :: forall (f :: * -> *) x.
ArtistCommentT f -> Rep (ArtistCommentT f) x
from :: forall x. ArtistCommentT f -> Rep (ArtistCommentT f) x
$cto :: forall (f :: * -> *) x.
Rep (ArtistCommentT f) x -> ArtistCommentT f
to :: forall x. Rep (ArtistCommentT f) x -> ArtistCommentT f
Generic, TableSkeleton ArtistCommentT
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistCommentT f -> ArtistCommentT g -> m (ArtistCommentT h))
-> TableSkeleton ArtistCommentT -> Beamable ArtistCommentT
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistCommentT f -> ArtistCommentT g -> m (ArtistCommentT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistCommentT f -> ArtistCommentT g -> m (ArtistCommentT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistCommentT f -> ArtistCommentT g -> m (ArtistCommentT h)
$ctblSkeleton :: TableSkeleton ArtistCommentT
tblSkeleton :: TableSkeleton ArtistCommentT
Beamable)
type = ArtistCommentT Identity
instance Table ArtistCommentT where
data PrimaryKey ArtistCommentT f = (Columnar f Text) deriving ((forall x.
PrimaryKey ArtistCommentT f -> Rep (PrimaryKey ArtistCommentT f) x)
-> (forall x.
Rep (PrimaryKey ArtistCommentT f) x -> PrimaryKey ArtistCommentT f)
-> Generic (PrimaryKey ArtistCommentT f)
forall x.
Rep (PrimaryKey ArtistCommentT f) x -> PrimaryKey ArtistCommentT f
forall x.
PrimaryKey ArtistCommentT f -> Rep (PrimaryKey ArtistCommentT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (PrimaryKey ArtistCommentT f) x -> PrimaryKey ArtistCommentT f
forall (f :: * -> *) x.
PrimaryKey ArtistCommentT f -> Rep (PrimaryKey ArtistCommentT f) x
$cfrom :: forall (f :: * -> *) x.
PrimaryKey ArtistCommentT f -> Rep (PrimaryKey ArtistCommentT f) x
from :: forall x.
PrimaryKey ArtistCommentT f -> Rep (PrimaryKey ArtistCommentT f) x
$cto :: forall (f :: * -> *) x.
Rep (PrimaryKey ArtistCommentT f) x -> PrimaryKey ArtistCommentT f
to :: forall x.
Rep (PrimaryKey ArtistCommentT f) x -> PrimaryKey ArtistCommentT f
Generic, TableSkeleton (PrimaryKey ArtistCommentT)
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistCommentT f
-> PrimaryKey ArtistCommentT g
-> m (PrimaryKey ArtistCommentT h))
-> TableSkeleton (PrimaryKey ArtistCommentT)
-> Beamable (PrimaryKey ArtistCommentT)
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistCommentT f
-> PrimaryKey ArtistCommentT g
-> m (PrimaryKey ArtistCommentT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistCommentT f
-> PrimaryKey ArtistCommentT g
-> m (PrimaryKey ArtistCommentT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistCommentT f
-> PrimaryKey ArtistCommentT g
-> m (PrimaryKey ArtistCommentT h)
$ctblSkeleton :: TableSkeleton (PrimaryKey ArtistCommentT)
tblSkeleton :: TableSkeleton (PrimaryKey ArtistCommentT)
Beamable)
primaryKey :: forall (column :: * -> *).
ArtistCommentT column -> PrimaryKey ArtistCommentT column
primaryKey = Columnar column Text -> PrimaryKey ArtistCommentT column
forall (f :: * -> *).
Columnar f Text -> PrimaryKey ArtistCommentT f
ArtistCommentId (Columnar column Text -> PrimaryKey ArtistCommentT column)
-> (ArtistCommentT column -> Columnar column Text)
-> ArtistCommentT column
-> PrimaryKey ArtistCommentT column
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ArtistCommentT column
-> Optic'
A_Lens NoIx (ArtistCommentT column) (Columnar column Text)
-> Columnar column Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx (ArtistCommentT column) (Columnar column Text)
#identifier)
makeFieldLabelsNoPrefix ''ArtistCommentT
toArtistComment :: ArtistComment' -> (UUID, ArtistComment)
ArtistComment'
x =
( Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ ArtistComment'
x ArtistComment' -> Optic' A_Lens NoIx ArtistComment' Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistComment' Text
#identifier,
ArtistComment
{ $sel:artistIdentifier:ArtistComment :: UUID
artistIdentifier = Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ PrimaryKey ArtistT Identity -> C Identity Text
forall (f :: * -> *). PrimaryKey ArtistT f -> Columnar f Text
fromArtistPk (PrimaryKey ArtistT Identity -> C Identity Text)
-> PrimaryKey ArtistT Identity -> C Identity Text
forall a b. (a -> b) -> a -> b
$ ArtistComment'
x ArtistComment'
-> Optic' A_Lens NoIx ArtistComment' (PrimaryKey ArtistT Identity)
-> PrimaryKey ArtistT Identity
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistComment' (PrimaryKey ArtistT Identity)
#artistIdentifier,
$sel:comment:ArtistComment :: Comment
comment = ArtistComment' -> Comment
forall {k1} {k2} {k3} {k4} {k5} {k6} {k7} {k8} {a} {s}.
(Is k1 A_Getter, Is k2 A_Getter, Is k3 A_Getter, Is k4 A_Getter,
Is k5 A_Getter, Is k6 A_Getter, Is k7 A_Getter, Is k8 A_Getter,
Integral a, LabelOptic "contents" k7 s s Text Text,
LabelOptic "identifier" k5 s s Text Text,
LabelOptic "createdBy" k6 s s Text Text,
LabelOptic "visibilityStatus" k3 s s a a,
LabelOptic "approvedBy" k2 s s (Maybe Text) (Maybe Text),
LabelOptic "createdAt" k8 s s UTCTime UTCTime,
LabelOptic "lastEditedAt" k1 s s (Maybe UTCTime) (Maybe UTCTime),
LabelOptic "parentIdentifier" k4 s s (Maybe Text) (Maybe Text)) =>
s -> Comment
fromPersistenceComment ArtistComment'
x
}
)
toPersistenceArtistComment :: ArtistComment -> ArtistComment'
ArtistComment
x =
ArtistComment'
{ $sel:identifier:ArtistComment' :: C Identity Text
identifier = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistComment
x ArtistComment -> Optic' A_Lens NoIx ArtistComment UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic A_Lens NoIx Comment Comment UUID UUID
-> Optic' A_Lens NoIx ArtistComment UUID
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment UUID UUID
#identifier,
$sel:parentIdentifier:ArtistComment' :: C Identity (Maybe Text)
parentIdentifier = (UUID -> Text) -> Maybe UUID -> Maybe Text
forall a b. (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap UUID -> Text
UUID.toText (ArtistComment
x ArtistComment
-> Optic' A_Lens NoIx ArtistComment (Maybe UUID) -> Maybe UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic A_Lens NoIx Comment Comment (Maybe UUID) (Maybe UUID)
-> Optic' A_Lens NoIx ArtistComment (Maybe UUID)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment (Maybe UUID) (Maybe UUID)
#parentIdentifier),
$sel:artistIdentifier:ArtistComment' :: PrimaryKey ArtistT Identity
artistIdentifier = Text -> PrimaryKey ArtistT Identity
C Identity Text -> PrimaryKey ArtistT Identity
forall (f :: * -> *). Columnar f Text -> PrimaryKey ArtistT f
ArtistId (Text -> PrimaryKey ArtistT Identity)
-> (UUID -> Text) -> UUID -> PrimaryKey ArtistT Identity
forall b c a. (b -> c) -> (a -> b) -> a -> c
. UUID -> Text
UUID.toText (UUID -> PrimaryKey ArtistT Identity)
-> UUID -> PrimaryKey ArtistT Identity
forall a b. (a -> b) -> a -> b
$ ArtistComment
x ArtistComment -> Optic' A_Lens NoIx ArtistComment UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistComment UUID
#artistIdentifier,
$sel:createdBy:ArtistComment' :: C Identity Text
createdBy = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistComment
x ArtistComment -> Optic' A_Lens NoIx ArtistComment UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic A_Lens NoIx Comment Comment UUID UUID
-> Optic' A_Lens NoIx ArtistComment UUID
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment UUID UUID
#createdBy,
$sel:visibilityStatus:ArtistComment' :: C Identity Int64
visibilityStatus = Int -> C Identity Int64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> C Identity Int64) -> Int -> C Identity Int64
forall a b. (a -> b) -> a -> b
$ ArtistComment
x ArtistComment -> Optic' A_Lens NoIx ArtistComment Int -> Int
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic A_Lens NoIx Comment Comment Int Int
-> Optic' A_Lens NoIx ArtistComment Int
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment Int Int
#visibilityStatus,
$sel:contents:ArtistComment' :: C Identity Text
contents = ArtistComment
x ArtistComment -> Optic' A_Lens NoIx ArtistComment Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic A_Lens NoIx Comment Comment Text Text
-> Optic' A_Lens NoIx ArtistComment Text
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment Text Text
#contents,
$sel:approvedBy:ArtistComment' :: C Identity (Maybe Text)
approvedBy = (UUID -> Text) -> Maybe UUID -> Maybe Text
forall a b. (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (UUID -> Text
UUID.toText) (ArtistComment
x ArtistComment
-> Optic' A_Lens NoIx ArtistComment (Maybe UUID) -> Maybe UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic A_Lens NoIx Comment Comment (Maybe UUID) (Maybe UUID)
-> Optic' A_Lens NoIx ArtistComment (Maybe UUID)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment (Maybe UUID) (Maybe UUID)
#approvedBy),
$sel:createdAt:ArtistComment' :: C Identity UTCTime
createdAt = ArtistComment
x ArtistComment
-> Optic' A_Lens NoIx ArtistComment UTCTime -> UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic A_Lens NoIx Comment Comment UTCTime UTCTime
-> Optic' A_Lens NoIx ArtistComment UTCTime
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment UTCTime UTCTime
#createdAt,
$sel:lastEditedAt:ArtistComment' :: C Identity (Maybe UTCTime)
lastEditedAt = ArtistComment
x ArtistComment
-> Optic' A_Lens NoIx ArtistComment (Maybe UTCTime)
-> Maybe UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
#comment Optic A_Lens NoIx ArtistComment ArtistComment Comment Comment
-> Optic
A_Lens NoIx Comment Comment (Maybe UTCTime) (Maybe UTCTime)
-> Optic' A_Lens NoIx ArtistComment (Maybe UTCTime)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Comment Comment (Maybe UTCTime) (Maybe UTCTime)
#lastEditedAt
}
data ArtistArtworkT f = ArtistArtwork'
{ forall (f :: * -> *). ArtistArtworkT f -> C f Text
identifier :: C f Text,
forall (f :: * -> *). ArtistArtworkT f -> PrimaryKey ArtistT f
artistIdentifier :: PrimaryKey ArtistT f,
forall (f :: * -> *). ArtistArtworkT f -> C f Text
createdBy :: C f Text,
forall (f :: * -> *). ArtistArtworkT f -> C f Int64
visibilityStatus :: C f Int64,
forall (f :: * -> *). ArtistArtworkT f -> C f (Maybe Text)
approvedBy :: C f (Maybe Text),
forall (f :: * -> *). ArtistArtworkT f -> C f Text
contentUrl :: C f Text,
forall (f :: * -> *). ArtistArtworkT f -> C f (Maybe Text)
contentCaption :: C f (Maybe Text),
forall (f :: * -> *). ArtistArtworkT f -> C f Int64
orderValue :: C f Int64,
forall (f :: * -> *). ArtistArtworkT f -> C f UTCTime
createdAt :: C f UTCTime,
forall (f :: * -> *). ArtistArtworkT f -> C f (Maybe UTCTime)
lastEditedAt :: C f (Maybe UTCTime)
}
deriving ((forall x. ArtistArtworkT f -> Rep (ArtistArtworkT f) x)
-> (forall x. Rep (ArtistArtworkT f) x -> ArtistArtworkT f)
-> Generic (ArtistArtworkT f)
forall x. Rep (ArtistArtworkT f) x -> ArtistArtworkT f
forall x. ArtistArtworkT f -> Rep (ArtistArtworkT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (ArtistArtworkT f) x -> ArtistArtworkT f
forall (f :: * -> *) x.
ArtistArtworkT f -> Rep (ArtistArtworkT f) x
$cfrom :: forall (f :: * -> *) x.
ArtistArtworkT f -> Rep (ArtistArtworkT f) x
from :: forall x. ArtistArtworkT f -> Rep (ArtistArtworkT f) x
$cto :: forall (f :: * -> *) x.
Rep (ArtistArtworkT f) x -> ArtistArtworkT f
to :: forall x. Rep (ArtistArtworkT f) x -> ArtistArtworkT f
Generic, TableSkeleton ArtistArtworkT
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistArtworkT f -> ArtistArtworkT g -> m (ArtistArtworkT h))
-> TableSkeleton ArtistArtworkT -> Beamable ArtistArtworkT
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistArtworkT f -> ArtistArtworkT g -> m (ArtistArtworkT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistArtworkT f -> ArtistArtworkT g -> m (ArtistArtworkT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistArtworkT f -> ArtistArtworkT g -> m (ArtistArtworkT h)
$ctblSkeleton :: TableSkeleton ArtistArtworkT
tblSkeleton :: TableSkeleton ArtistArtworkT
Beamable)
type ArtistArtwork' = ArtistArtworkT Identity
instance Table ArtistArtworkT where
data PrimaryKey ArtistArtworkT f = ArtistArtworkId (Columnar f Text) deriving ((forall x.
PrimaryKey ArtistArtworkT f -> Rep (PrimaryKey ArtistArtworkT f) x)
-> (forall x.
Rep (PrimaryKey ArtistArtworkT f) x -> PrimaryKey ArtistArtworkT f)
-> Generic (PrimaryKey ArtistArtworkT f)
forall x.
Rep (PrimaryKey ArtistArtworkT f) x -> PrimaryKey ArtistArtworkT f
forall x.
PrimaryKey ArtistArtworkT f -> Rep (PrimaryKey ArtistArtworkT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (PrimaryKey ArtistArtworkT f) x -> PrimaryKey ArtistArtworkT f
forall (f :: * -> *) x.
PrimaryKey ArtistArtworkT f -> Rep (PrimaryKey ArtistArtworkT f) x
$cfrom :: forall (f :: * -> *) x.
PrimaryKey ArtistArtworkT f -> Rep (PrimaryKey ArtistArtworkT f) x
from :: forall x.
PrimaryKey ArtistArtworkT f -> Rep (PrimaryKey ArtistArtworkT f) x
$cto :: forall (f :: * -> *) x.
Rep (PrimaryKey ArtistArtworkT f) x -> PrimaryKey ArtistArtworkT f
to :: forall x.
Rep (PrimaryKey ArtistArtworkT f) x -> PrimaryKey ArtistArtworkT f
Generic, TableSkeleton (PrimaryKey ArtistArtworkT)
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistArtworkT f
-> PrimaryKey ArtistArtworkT g
-> m (PrimaryKey ArtistArtworkT h))
-> TableSkeleton (PrimaryKey ArtistArtworkT)
-> Beamable (PrimaryKey ArtistArtworkT)
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistArtworkT f
-> PrimaryKey ArtistArtworkT g
-> m (PrimaryKey ArtistArtworkT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistArtworkT f
-> PrimaryKey ArtistArtworkT g
-> m (PrimaryKey ArtistArtworkT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistArtworkT f
-> PrimaryKey ArtistArtworkT g
-> m (PrimaryKey ArtistArtworkT h)
$ctblSkeleton :: TableSkeleton (PrimaryKey ArtistArtworkT)
tblSkeleton :: TableSkeleton (PrimaryKey ArtistArtworkT)
Beamable)
primaryKey :: forall (column :: * -> *).
ArtistArtworkT column -> PrimaryKey ArtistArtworkT column
primaryKey = Columnar column Text -> PrimaryKey ArtistArtworkT column
forall (f :: * -> *).
Columnar f Text -> PrimaryKey ArtistArtworkT f
ArtistArtworkId (Columnar column Text -> PrimaryKey ArtistArtworkT column)
-> (ArtistArtworkT column -> Columnar column Text)
-> ArtistArtworkT column
-> PrimaryKey ArtistArtworkT column
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ArtistArtworkT column
-> Optic'
A_Lens NoIx (ArtistArtworkT column) (Columnar column Text)
-> Columnar column Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx (ArtistArtworkT column) (Columnar column Text)
#identifier)
makeFieldLabelsNoPrefix ''ArtistArtworkT
toArtistArtwork :: ArtistArtwork' -> (UUID, ArtistArtwork)
toArtistArtwork :: ArtistArtwork' -> (UUID, ArtistArtwork)
toArtistArtwork ArtistArtwork'
x =
( Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ ArtistArtwork'
x ArtistArtwork' -> Optic' A_Lens NoIx ArtistArtwork' Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistArtwork' Text
#identifier,
ArtistArtwork
{ $sel:artistIdentifier:ArtistArtwork :: UUID
artistIdentifier = Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ PrimaryKey ArtistT Identity -> C Identity Text
forall (f :: * -> *). PrimaryKey ArtistT f -> Columnar f Text
fromArtistPk (PrimaryKey ArtistT Identity -> C Identity Text)
-> PrimaryKey ArtistT Identity -> C Identity Text
forall a b. (a -> b) -> a -> b
$ ArtistArtwork'
x ArtistArtwork'
-> Optic' A_Lens NoIx ArtistArtwork' (PrimaryKey ArtistT Identity)
-> PrimaryKey ArtistT Identity
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistArtwork' (PrimaryKey ArtistT Identity)
#artistIdentifier,
$sel:artwork:ArtistArtwork :: Artwork
artwork = ArtistArtwork' -> Artwork
forall {k1} {k2} {k3} {k4} {k5} {k6} {k7} {k8} {k9} {a1} {a2} {s}.
(Is k1 A_Getter, Is k2 A_Getter, Is k3 A_Getter, Is k4 A_Getter,
Is k5 A_Getter, Is k6 A_Getter, Is k7 A_Getter, Is k8 A_Getter,
Is k9 A_Getter, Integral a1, Integral a2,
LabelOptic "identifier" k5 s s Text Text,
LabelOptic "createdBy" k6 s s Text Text,
LabelOptic "visibilityStatus" k4 s s a2 a2,
LabelOptic "approvedBy" k7 s s (Maybe Text) (Maybe Text),
LabelOptic "contentUrl" k3 s s Text Text,
LabelOptic "contentCaption" k8 s s (Maybe Text) (Maybe Text),
LabelOptic "orderValue" k2 s s a1 a1,
LabelOptic "createdAt" k9 s s UTCTime UTCTime,
LabelOptic
"lastEditedAt" k1 s s (Maybe UTCTime) (Maybe UTCTime)) =>
s -> Artwork
fromPersistenceArtwork ArtistArtwork'
x
}
)
mkArtistArtworkP :: ArtistArtwork -> ArtistArtwork'
mkArtistArtworkP :: ArtistArtwork -> ArtistArtwork'
mkArtistArtworkP ArtistArtwork
x =
ArtistArtwork'
{ $sel:identifier:ArtistArtwork' :: C Identity Text
identifier = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistArtwork
x ArtistArtwork -> Optic' A_Lens NoIx ArtistArtwork UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork UUID UUID
-> Optic' A_Lens NoIx ArtistArtwork UUID
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork UUID UUID
#identifier,
$sel:artistIdentifier:ArtistArtwork' :: PrimaryKey ArtistT Identity
artistIdentifier = C Identity Text -> PrimaryKey ArtistT Identity
forall (f :: * -> *). Columnar f Text -> PrimaryKey ArtistT f
ArtistId (C Identity Text -> PrimaryKey ArtistT Identity)
-> C Identity Text -> PrimaryKey ArtistT Identity
forall a b. (a -> b) -> a -> b
$ UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistArtwork
x ArtistArtwork -> Optic' A_Lens NoIx ArtistArtwork UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistArtwork UUID
#artistIdentifier,
$sel:createdBy:ArtistArtwork' :: C Identity Text
createdBy = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistArtwork
x ArtistArtwork -> Optic' A_Lens NoIx ArtistArtwork UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork UUID UUID
-> Optic' A_Lens NoIx ArtistArtwork UUID
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork UUID UUID
#createdBy,
$sel:visibilityStatus:ArtistArtwork' :: C Identity Int64
visibilityStatus = Int -> C Identity Int64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> C Identity Int64) -> Int -> C Identity Int64
forall a b. (a -> b) -> a -> b
$ ArtistArtwork
x ArtistArtwork -> Optic' A_Lens NoIx ArtistArtwork Int -> Int
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork Int Int
-> Optic' A_Lens NoIx ArtistArtwork Int
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork Int Int
#visibilityStatus,
$sel:contentUrl:ArtistArtwork' :: C Identity Text
contentUrl = ArtistArtwork
x ArtistArtwork -> Optic' A_Lens NoIx ArtistArtwork Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork Text Text
-> Optic' A_Lens NoIx ArtistArtwork Text
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork Text Text
#contentUrl,
$sel:contentCaption:ArtistArtwork' :: C Identity (Maybe Text)
contentCaption = ArtistArtwork
x ArtistArtwork
-> Optic' A_Lens NoIx ArtistArtwork (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork (Maybe Text) (Maybe Text)
-> Optic' A_Lens NoIx ArtistArtwork (Maybe Text)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork (Maybe Text) (Maybe Text)
#contentCaption,
$sel:orderValue:ArtistArtwork' :: C Identity Int64
orderValue = Int -> C Identity Int64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> C Identity Int64) -> Int -> C Identity Int64
forall a b. (a -> b) -> a -> b
$ ArtistArtwork
x ArtistArtwork -> Optic' A_Lens NoIx ArtistArtwork Int -> Int
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork Int Int
-> Optic' A_Lens NoIx ArtistArtwork Int
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork Int Int
#orderValue,
$sel:approvedBy:ArtistArtwork' :: C Identity (Maybe Text)
approvedBy = (UUID -> Text) -> Maybe UUID -> Maybe Text
forall a b. (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (UUID -> Text
UUID.toText) (ArtistArtwork
x ArtistArtwork
-> Optic' A_Lens NoIx ArtistArtwork (Maybe UUID) -> Maybe UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork (Maybe UUID) (Maybe UUID)
-> Optic' A_Lens NoIx ArtistArtwork (Maybe UUID)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork (Maybe UUID) (Maybe UUID)
#approvedBy),
$sel:createdAt:ArtistArtwork' :: C Identity UTCTime
createdAt = ArtistArtwork
x ArtistArtwork
-> Optic' A_Lens NoIx ArtistArtwork UTCTime -> UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic A_Lens NoIx Artwork Artwork UTCTime UTCTime
-> Optic' A_Lens NoIx ArtistArtwork UTCTime
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork UTCTime UTCTime
#createdAt,
$sel:lastEditedAt:ArtistArtwork' :: C Identity (Maybe UTCTime)
lastEditedAt = ArtistArtwork
x ArtistArtwork
-> Optic' A_Lens NoIx ArtistArtwork (Maybe UTCTime)
-> Maybe UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
#artwork Optic A_Lens NoIx ArtistArtwork ArtistArtwork Artwork Artwork
-> Optic
A_Lens NoIx Artwork Artwork (Maybe UTCTime) (Maybe UTCTime)
-> Optic' A_Lens NoIx ArtistArtwork (Maybe UTCTime)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Artwork Artwork (Maybe UTCTime) (Maybe UTCTime)
#lastEditedAt
}
data ArtistOpinionT f = ArtistOpinion'
{ forall (f :: * -> *). ArtistOpinionT f -> C f Text
identifier :: C f Text,
forall (f :: * -> *). ArtistOpinionT f -> PrimaryKey ArtistT f
artistIdentifier :: PrimaryKey ArtistT f,
forall (f :: * -> *). ArtistOpinionT f -> C f Text
createdBy :: C f Text,
forall (f :: * -> *). ArtistOpinionT f -> C f Bool
isLike :: C f Bool,
forall (f :: * -> *). ArtistOpinionT f -> C f Bool
isDislike :: C f Bool,
forall (f :: * -> *). ArtistOpinionT f -> C f UTCTime
createdAt :: C f UTCTime,
forall (f :: * -> *). ArtistOpinionT f -> C f (Maybe UTCTime)
lastEditedAt :: C f (Maybe UTCTime)
}
deriving ((forall x. ArtistOpinionT f -> Rep (ArtistOpinionT f) x)
-> (forall x. Rep (ArtistOpinionT f) x -> ArtistOpinionT f)
-> Generic (ArtistOpinionT f)
forall x. Rep (ArtistOpinionT f) x -> ArtistOpinionT f
forall x. ArtistOpinionT f -> Rep (ArtistOpinionT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (ArtistOpinionT f) x -> ArtistOpinionT f
forall (f :: * -> *) x.
ArtistOpinionT f -> Rep (ArtistOpinionT f) x
$cfrom :: forall (f :: * -> *) x.
ArtistOpinionT f -> Rep (ArtistOpinionT f) x
from :: forall x. ArtistOpinionT f -> Rep (ArtistOpinionT f) x
$cto :: forall (f :: * -> *) x.
Rep (ArtistOpinionT f) x -> ArtistOpinionT f
to :: forall x. Rep (ArtistOpinionT f) x -> ArtistOpinionT f
Generic, TableSkeleton ArtistOpinionT
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistOpinionT f -> ArtistOpinionT g -> m (ArtistOpinionT h))
-> TableSkeleton ArtistOpinionT -> Beamable ArtistOpinionT
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistOpinionT f -> ArtistOpinionT g -> m (ArtistOpinionT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistOpinionT f -> ArtistOpinionT g -> m (ArtistOpinionT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistOpinionT f -> ArtistOpinionT g -> m (ArtistOpinionT h)
$ctblSkeleton :: TableSkeleton ArtistOpinionT
tblSkeleton :: TableSkeleton ArtistOpinionT
Beamable)
type ArtistOpinion' = ArtistOpinionT Identity
instance Table ArtistOpinionT where
data PrimaryKey ArtistOpinionT f = ArtistOpinionId (Columnar f Text) deriving ((forall x.
PrimaryKey ArtistOpinionT f -> Rep (PrimaryKey ArtistOpinionT f) x)
-> (forall x.
Rep (PrimaryKey ArtistOpinionT f) x -> PrimaryKey ArtistOpinionT f)
-> Generic (PrimaryKey ArtistOpinionT f)
forall x.
Rep (PrimaryKey ArtistOpinionT f) x -> PrimaryKey ArtistOpinionT f
forall x.
PrimaryKey ArtistOpinionT f -> Rep (PrimaryKey ArtistOpinionT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (PrimaryKey ArtistOpinionT f) x -> PrimaryKey ArtistOpinionT f
forall (f :: * -> *) x.
PrimaryKey ArtistOpinionT f -> Rep (PrimaryKey ArtistOpinionT f) x
$cfrom :: forall (f :: * -> *) x.
PrimaryKey ArtistOpinionT f -> Rep (PrimaryKey ArtistOpinionT f) x
from :: forall x.
PrimaryKey ArtistOpinionT f -> Rep (PrimaryKey ArtistOpinionT f) x
$cto :: forall (f :: * -> *) x.
Rep (PrimaryKey ArtistOpinionT f) x -> PrimaryKey ArtistOpinionT f
to :: forall x.
Rep (PrimaryKey ArtistOpinionT f) x -> PrimaryKey ArtistOpinionT f
Generic, TableSkeleton (PrimaryKey ArtistOpinionT)
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistOpinionT f
-> PrimaryKey ArtistOpinionT g
-> m (PrimaryKey ArtistOpinionT h))
-> TableSkeleton (PrimaryKey ArtistOpinionT)
-> Beamable (PrimaryKey ArtistOpinionT)
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistOpinionT f
-> PrimaryKey ArtistOpinionT g
-> m (PrimaryKey ArtistOpinionT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistOpinionT f
-> PrimaryKey ArtistOpinionT g
-> m (PrimaryKey ArtistOpinionT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistOpinionT f
-> PrimaryKey ArtistOpinionT g
-> m (PrimaryKey ArtistOpinionT h)
$ctblSkeleton :: TableSkeleton (PrimaryKey ArtistOpinionT)
tblSkeleton :: TableSkeleton (PrimaryKey ArtistOpinionT)
Beamable)
primaryKey :: forall (column :: * -> *).
ArtistOpinionT column -> PrimaryKey ArtistOpinionT column
primaryKey = Columnar column Text -> PrimaryKey ArtistOpinionT column
forall (f :: * -> *).
Columnar f Text -> PrimaryKey ArtistOpinionT f
ArtistOpinionId (Columnar column Text -> PrimaryKey ArtistOpinionT column)
-> (ArtistOpinionT column -> Columnar column Text)
-> ArtistOpinionT column
-> PrimaryKey ArtistOpinionT column
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ArtistOpinionT column
-> Optic'
A_Lens NoIx (ArtistOpinionT column) (Columnar column Text)
-> Columnar column Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx (ArtistOpinionT column) (Columnar column Text)
#identifier)
makeFieldLabelsNoPrefix ''ArtistOpinionT
toArtistOpinion :: ArtistOpinion' -> (UUID, ArtistOpinion)
toArtistOpinion :: ArtistOpinion' -> (UUID, ArtistOpinion)
toArtistOpinion ArtistOpinion'
x =
( Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ ArtistOpinion'
x ArtistOpinion' -> Optic' A_Lens NoIx ArtistOpinion' Text -> Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistOpinion' Text
#identifier,
ArtistOpinion
{ $sel:artistIdentifier:ArtistOpinion :: UUID
artistIdentifier = Text -> UUID
textToUUID (Text -> UUID) -> Text -> UUID
forall a b. (a -> b) -> a -> b
$ PrimaryKey ArtistT Identity -> C Identity Text
forall (f :: * -> *). PrimaryKey ArtistT f -> Columnar f Text
fromArtistPk (PrimaryKey ArtistT Identity -> C Identity Text)
-> PrimaryKey ArtistT Identity -> C Identity Text
forall a b. (a -> b) -> a -> b
$ ArtistOpinion'
x ArtistOpinion'
-> Optic' A_Lens NoIx ArtistOpinion' (PrimaryKey ArtistT Identity)
-> PrimaryKey ArtistT Identity
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistOpinion' (PrimaryKey ArtistT Identity)
#artistIdentifier,
$sel:opinion:ArtistOpinion :: Opinion
opinion = ArtistOpinion' -> Opinion
forall {k1} {k2} {k3} {k4} {k5} {k6} {s}.
(Is k1 A_Getter, Is k2 A_Getter, Is k3 A_Getter, Is k4 A_Getter,
Is k5 A_Getter, Is k6 A_Getter,
LabelOptic "identifier" k4 s s Text Text,
LabelOptic "createdBy" k3 s s Text Text,
LabelOptic "createdAt" k6 s s UTCTime UTCTime,
LabelOptic "lastEditedAt" k1 s s (Maybe UTCTime) (Maybe UTCTime),
LabelOptic "isLike" k5 s s Bool Bool,
LabelOptic "isDislike" k2 s s Bool Bool) =>
s -> Opinion
fromPersistenceOpinion ArtistOpinion'
x
}
)
data ArtistExternalSourcesT f = ArtistExternalSources'
{ forall (f :: * -> *). ArtistExternalSourcesT f -> C f Text
identifier :: C f Text,
forall (f :: * -> *).
ArtistExternalSourcesT f -> PrimaryKey ArtistT f
artistIdentifier :: PrimaryKey ArtistT f,
forall (f :: * -> *). ArtistExternalSourcesT f -> C f Text
createdBy :: C f Text,
forall (f :: * -> *). ArtistExternalSourcesT f -> C f (Maybe Text)
spotifyUrl :: C f (Maybe Text),
forall (f :: * -> *). ArtistExternalSourcesT f -> C f (Maybe Text)
youtubeUrl :: C f (Maybe Text),
forall (f :: * -> *). ArtistExternalSourcesT f -> C f (Maybe Text)
soundcloudUrl :: C f (Maybe Text),
forall (f :: * -> *). ArtistExternalSourcesT f -> C f (Maybe Text)
wikipediaUrl :: C f (Maybe Text),
forall (f :: * -> *). ArtistExternalSourcesT f -> C f UTCTime
createdAt :: C f UTCTime,
forall (f :: * -> *).
ArtistExternalSourcesT f -> C f (Maybe UTCTime)
lastEditedAt :: C f (Maybe UTCTime)
}
deriving ((forall x.
ArtistExternalSourcesT f -> Rep (ArtistExternalSourcesT f) x)
-> (forall x.
Rep (ArtistExternalSourcesT f) x -> ArtistExternalSourcesT f)
-> Generic (ArtistExternalSourcesT f)
forall x.
Rep (ArtistExternalSourcesT f) x -> ArtistExternalSourcesT f
forall x.
ArtistExternalSourcesT f -> Rep (ArtistExternalSourcesT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (ArtistExternalSourcesT f) x -> ArtistExternalSourcesT f
forall (f :: * -> *) x.
ArtistExternalSourcesT f -> Rep (ArtistExternalSourcesT f) x
$cfrom :: forall (f :: * -> *) x.
ArtistExternalSourcesT f -> Rep (ArtistExternalSourcesT f) x
from :: forall x.
ArtistExternalSourcesT f -> Rep (ArtistExternalSourcesT f) x
$cto :: forall (f :: * -> *) x.
Rep (ArtistExternalSourcesT f) x -> ArtistExternalSourcesT f
to :: forall x.
Rep (ArtistExternalSourcesT f) x -> ArtistExternalSourcesT f
Generic, TableSkeleton ArtistExternalSourcesT
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistExternalSourcesT f
-> ArtistExternalSourcesT g
-> m (ArtistExternalSourcesT h))
-> TableSkeleton ArtistExternalSourcesT
-> Beamable ArtistExternalSourcesT
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistExternalSourcesT f
-> ArtistExternalSourcesT g
-> m (ArtistExternalSourcesT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistExternalSourcesT f
-> ArtistExternalSourcesT g
-> m (ArtistExternalSourcesT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> ArtistExternalSourcesT f
-> ArtistExternalSourcesT g
-> m (ArtistExternalSourcesT h)
$ctblSkeleton :: TableSkeleton ArtistExternalSourcesT
tblSkeleton :: TableSkeleton ArtistExternalSourcesT
Beamable)
type ArtistExternalSources' = ArtistExternalSourcesT Identity
instance Table ArtistExternalSourcesT where
data PrimaryKey ArtistExternalSourcesT f = ArtistExternalSourcesId (Columnar f Text) deriving ((forall x.
PrimaryKey ArtistExternalSourcesT f
-> Rep (PrimaryKey ArtistExternalSourcesT f) x)
-> (forall x.
Rep (PrimaryKey ArtistExternalSourcesT f) x
-> PrimaryKey ArtistExternalSourcesT f)
-> Generic (PrimaryKey ArtistExternalSourcesT f)
forall x.
Rep (PrimaryKey ArtistExternalSourcesT f) x
-> PrimaryKey ArtistExternalSourcesT f
forall x.
PrimaryKey ArtistExternalSourcesT f
-> Rep (PrimaryKey ArtistExternalSourcesT f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (PrimaryKey ArtistExternalSourcesT f) x
-> PrimaryKey ArtistExternalSourcesT f
forall (f :: * -> *) x.
PrimaryKey ArtistExternalSourcesT f
-> Rep (PrimaryKey ArtistExternalSourcesT f) x
$cfrom :: forall (f :: * -> *) x.
PrimaryKey ArtistExternalSourcesT f
-> Rep (PrimaryKey ArtistExternalSourcesT f) x
from :: forall x.
PrimaryKey ArtistExternalSourcesT f
-> Rep (PrimaryKey ArtistExternalSourcesT f) x
$cto :: forall (f :: * -> *) x.
Rep (PrimaryKey ArtistExternalSourcesT f) x
-> PrimaryKey ArtistExternalSourcesT f
to :: forall x.
Rep (PrimaryKey ArtistExternalSourcesT f) x
-> PrimaryKey ArtistExternalSourcesT f
Generic, TableSkeleton (PrimaryKey ArtistExternalSourcesT)
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistExternalSourcesT f
-> PrimaryKey ArtistExternalSourcesT g
-> m (PrimaryKey ArtistExternalSourcesT h))
-> TableSkeleton (PrimaryKey ArtistExternalSourcesT)
-> Beamable (PrimaryKey ArtistExternalSourcesT)
forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistExternalSourcesT f
-> PrimaryKey ArtistExternalSourcesT g
-> m (PrimaryKey ArtistExternalSourcesT h)
forall (table :: (* -> *) -> *).
(forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> table f -> table g -> m (table h))
-> TableSkeleton table -> Beamable table
$czipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistExternalSourcesT f
-> PrimaryKey ArtistExternalSourcesT g
-> m (PrimaryKey ArtistExternalSourcesT h)
zipBeamFieldsM :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *) (h :: * -> *).
Applicative m =>
(forall a. Columnar' f a -> Columnar' g a -> m (Columnar' h a))
-> PrimaryKey ArtistExternalSourcesT f
-> PrimaryKey ArtistExternalSourcesT g
-> m (PrimaryKey ArtistExternalSourcesT h)
$ctblSkeleton :: TableSkeleton (PrimaryKey ArtistExternalSourcesT)
tblSkeleton :: TableSkeleton (PrimaryKey ArtistExternalSourcesT)
Beamable)
primaryKey :: forall (column :: * -> *).
ArtistExternalSourcesT column
-> PrimaryKey ArtistExternalSourcesT column
primaryKey = Columnar column Text -> PrimaryKey ArtistExternalSourcesT column
forall (f :: * -> *).
Columnar f Text -> PrimaryKey ArtistExternalSourcesT f
ArtistExternalSourcesId (Columnar column Text -> PrimaryKey ArtistExternalSourcesT column)
-> (ArtistExternalSourcesT column -> Columnar column Text)
-> ArtistExternalSourcesT column
-> PrimaryKey ArtistExternalSourcesT column
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ArtistExternalSourcesT column
-> Optic'
A_Lens NoIx (ArtistExternalSourcesT column) (Columnar column Text)
-> Columnar column Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic'
A_Lens NoIx (ArtistExternalSourcesT column) (Columnar column Text)
#identifier)
makeFieldLabelsNoPrefix ''ArtistExternalSourcesT
toPersistenceArtistExternalContents :: Artist -> UUID -> ArtistExternalSources'
toPersistenceArtistExternalContents :: Artist -> UUID -> ArtistExternalSources'
toPersistenceArtistExternalContents Artist
x UUID
newIdentifier =
ArtistExternalSources'
{ $sel:identifier:ArtistExternalSources' :: C Identity Text
identifier = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ UUID
newIdentifier,
$sel:artistIdentifier:ArtistExternalSources' :: PrimaryKey ArtistT Identity
artistIdentifier = C Identity Text -> PrimaryKey ArtistT Identity
forall (f :: * -> *). Columnar f Text -> PrimaryKey ArtistT f
ArtistId (C Identity Text -> PrimaryKey ArtistT Identity)
-> C Identity Text -> PrimaryKey ArtistT Identity
forall a b. (a -> b) -> a -> b
$ UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ Artist
x Artist -> Optic' A_Lens NoIx Artist UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist UUID
#identifier,
$sel:createdBy:ArtistExternalSources' :: C Identity Text
createdBy = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ Artist
x Artist -> Optic' A_Lens NoIx Artist UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist UUID
#createdBy,
$sel:spotifyUrl:ArtistExternalSources' :: C Identity (Maybe Text)
spotifyUrl = Artist
x Artist -> Optic' A_Lens NoIx Artist (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe Text)
#spotifyUrl,
$sel:youtubeUrl:ArtistExternalSources' :: C Identity (Maybe Text)
youtubeUrl = Artist
x Artist -> Optic' A_Lens NoIx Artist (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe Text)
#youtubeUrl,
$sel:soundcloudUrl:ArtistExternalSources' :: C Identity (Maybe Text)
soundcloudUrl = Artist
x Artist -> Optic' A_Lens NoIx Artist (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe Text)
#soundcloudUrl,
$sel:wikipediaUrl:ArtistExternalSources' :: C Identity (Maybe Text)
wikipediaUrl = Artist
x Artist -> Optic' A_Lens NoIx Artist (Maybe Text) -> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe Text)
#wikipediaUrl,
$sel:createdAt:ArtistExternalSources' :: C Identity UTCTime
createdAt = Artist
x Artist -> Optic' A_Lens NoIx Artist UTCTime -> UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist UTCTime
#createdAt,
$sel:lastEditedAt:ArtistExternalSources' :: C Identity (Maybe UTCTime)
lastEditedAt = Artist
x Artist
-> Optic' A_Lens NoIx Artist (Maybe UTCTime) -> Maybe UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx Artist (Maybe UTCTime)
#lastEditedAt
}
mkArtistExSourcesP :: ArtistExternalSources -> ArtistExternalSources'
mkArtistExSourcesP :: ArtistExternalSources -> ArtistExternalSources'
mkArtistExSourcesP ArtistExternalSources
x =
ArtistExternalSources'
{ $sel:identifier:ArtistExternalSources' :: C Identity Text
identifier = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources UUID
#identifier,
$sel:artistIdentifier:ArtistExternalSources' :: PrimaryKey ArtistT Identity
artistIdentifier = C Identity Text -> PrimaryKey ArtistT Identity
forall (f :: * -> *). Columnar f Text -> PrimaryKey ArtistT f
ArtistId (C Identity Text -> PrimaryKey ArtistT Identity)
-> C Identity Text -> PrimaryKey ArtistT Identity
forall a b. (a -> b) -> a -> b
$ UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources UUID
#artistIdentifier,
$sel:createdBy:ArtistExternalSources' :: C Identity Text
createdBy = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources UUID
#createdBy,
$sel:spotifyUrl:ArtistExternalSources' :: C Identity (Maybe Text)
spotifyUrl = ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
-> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
#spotifyUrl,
$sel:youtubeUrl:ArtistExternalSources' :: C Identity (Maybe Text)
youtubeUrl = ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
-> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
#youtubeUrl,
$sel:soundcloudUrl:ArtistExternalSources' :: C Identity (Maybe Text)
soundcloudUrl = ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
-> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
#soundcloudUrl,
$sel:wikipediaUrl:ArtistExternalSources' :: C Identity (Maybe Text)
wikipediaUrl = ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
-> Maybe Text
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources (Maybe Text)
#wikipediaUrl,
$sel:createdAt:ArtistExternalSources' :: C Identity UTCTime
createdAt = ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources UTCTime -> UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources UTCTime
#createdAt,
$sel:lastEditedAt:ArtistExternalSources' :: C Identity (Maybe UTCTime)
lastEditedAt = ArtistExternalSources
x ArtistExternalSources
-> Optic' A_Lens NoIx ArtistExternalSources (Maybe UTCTime)
-> Maybe UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistExternalSources (Maybe UTCTime)
#lastEditedAt
}
artistTModification :: ArtistT (FieldModification (TableField ArtistT))
artistTModification :: ArtistT (FieldModification (TableField ArtistT))
artistTModification =
ArtistT (FieldModification Any)
forall (f :: * -> *) (tbl :: (* -> *) -> *).
Beamable tbl =>
tbl (FieldModification f)
tableModification
{ identifier = "identifier",
displayName = "display_name",
createdBy = "created_by",
visibilityStatus = "visibility_status",
approvedBy = "approved_by",
createdAt = "created_at",
lastEditedAt = "last_edited_at",
viewCount = "views",
description = "description"
}
artistCommentTModification :: ArtistCommentT (FieldModification (TableField ArtistCommentT))
=
ArtistCommentT (FieldModification Any)
forall (f :: * -> *) (tbl :: (* -> *) -> *).
Beamable tbl =>
tbl (FieldModification f)
tableModification
{ identifier = "identifier",
artistIdentifier = ArtistId "artist_identifier",
parentIdentifier = "parent_identifier",
createdBy = "created_by",
visibilityStatus = "visibility_status",
contents = "contents",
approvedBy = "approved_by",
createdAt = "created_at",
lastEditedAt = "last_edited_at"
}
artistArtworkTModification :: ArtistArtworkT (FieldModification (TableField ArtistArtworkT))
artistArtworkTModification :: ArtistArtworkT (FieldModification (TableField ArtistArtworkT))
artistArtworkTModification =
ArtistArtworkT (FieldModification Any)
forall (f :: * -> *) (tbl :: (* -> *) -> *).
Beamable tbl =>
tbl (FieldModification f)
tableModification
{ identifier = "identifier",
artistIdentifier = ArtistId "artist_identifier",
createdBy = "created_by",
visibilityStatus = "visibility_status",
approvedBy = "approved_by",
contentUrl = "content_url",
contentCaption = "content_caption",
orderValue = "order_value",
createdAt = "created_at",
lastEditedAt = "last_edited_at"
}
artistOpinionTModification :: ArtistOpinionT (FieldModification (TableField ArtistOpinionT))
artistOpinionTModification :: ArtistOpinionT (FieldModification (TableField ArtistOpinionT))
artistOpinionTModification =
ArtistOpinionT (FieldModification Any)
forall (f :: * -> *) (tbl :: (* -> *) -> *).
Beamable tbl =>
tbl (FieldModification f)
tableModification
{ identifier = "identifier",
artistIdentifier = ArtistId "artist_identifier",
createdBy = "created_by",
isLike = "is_like",
isDislike = "is_dislike",
createdAt = "created_at",
lastEditedAt = "last_edited_at"
}
artistExternalSourcesTModification :: ArtistExternalSourcesT (FieldModification (TableField ArtistExternalSourcesT))
artistExternalSourcesTModification :: ArtistExternalSourcesT
(FieldModification (TableField ArtistExternalSourcesT))
artistExternalSourcesTModification =
ArtistExternalSourcesT (FieldModification Any)
forall (f :: * -> *) (tbl :: (* -> *) -> *).
Beamable tbl =>
tbl (FieldModification f)
tableModification
{ identifier = "identifier",
artistIdentifier = ArtistId "artist_identifier",
createdBy = "created_by",
spotifyUrl = "spotify_url",
youtubeUrl = "youtube_url",
soundcloudUrl = "soundcloud_url",
wikipediaUrl = "wikipedia_url",
createdAt = "created_at",
lastEditedAt = "last_edited_at"
}
mkArtistOpinionP :: ArtistOpinion -> ArtistOpinion'
mkArtistOpinionP :: ArtistOpinion -> ArtistOpinion'
mkArtistOpinionP ArtistOpinion
x =
ArtistOpinion'
{ $sel:identifier:ArtistOpinion' :: C Identity Text
identifier = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistOpinion
x ArtistOpinion -> Optic' A_Lens NoIx ArtistOpinion UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
#opinion Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
-> Optic A_Lens NoIx Opinion Opinion UUID UUID
-> Optic' A_Lens NoIx ArtistOpinion UUID
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Opinion Opinion UUID UUID
#identifier,
$sel:artistIdentifier:ArtistOpinion' :: PrimaryKey ArtistT Identity
artistIdentifier = C Identity Text -> PrimaryKey ArtistT Identity
forall (f :: * -> *). Columnar f Text -> PrimaryKey ArtistT f
ArtistId (C Identity Text -> PrimaryKey ArtistT Identity)
-> C Identity Text -> PrimaryKey ArtistT Identity
forall a b. (a -> b) -> a -> b
$ UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistOpinion
x ArtistOpinion -> Optic' A_Lens NoIx ArtistOpinion UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ArtistOpinion UUID
#artistIdentifier,
$sel:createdBy:ArtistOpinion' :: C Identity Text
createdBy = UUID -> Text
UUID.toText (UUID -> Text) -> UUID -> Text
forall a b. (a -> b) -> a -> b
$ ArtistOpinion
x ArtistOpinion -> Optic' A_Lens NoIx ArtistOpinion UUID -> UUID
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
#opinion Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
-> Optic A_Lens NoIx Opinion Opinion UUID UUID
-> Optic' A_Lens NoIx ArtistOpinion UUID
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Opinion Opinion UUID UUID
#createdBy,
$sel:isLike:ArtistOpinion' :: C Identity Bool
isLike = ArtistOpinion
x ArtistOpinion -> Optic' A_Lens NoIx ArtistOpinion Bool -> Bool
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
#opinion Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
-> Optic A_Lens NoIx Opinion Opinion Bool Bool
-> Optic' A_Lens NoIx ArtistOpinion Bool
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Opinion Opinion Bool Bool
#isLike,
$sel:isDislike:ArtistOpinion' :: C Identity Bool
isDislike = ArtistOpinion
x ArtistOpinion -> Optic' A_Lens NoIx ArtistOpinion Bool -> Bool
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
#opinion Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
-> Optic A_Lens NoIx Opinion Opinion Bool Bool
-> Optic' A_Lens NoIx ArtistOpinion Bool
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Opinion Opinion Bool Bool
#isDislike,
$sel:createdAt:ArtistOpinion' :: C Identity UTCTime
createdAt = ArtistOpinion
x ArtistOpinion
-> Optic' A_Lens NoIx ArtistOpinion UTCTime -> UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
#opinion Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
-> Optic A_Lens NoIx Opinion Opinion UTCTime UTCTime
-> Optic' A_Lens NoIx ArtistOpinion UTCTime
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Opinion Opinion UTCTime UTCTime
#createdAt,
$sel:lastEditedAt:ArtistOpinion' :: C Identity (Maybe UTCTime)
lastEditedAt = ArtistOpinion
x ArtistOpinion
-> Optic' A_Lens NoIx ArtistOpinion (Maybe UTCTime)
-> Maybe UTCTime
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
#opinion Optic A_Lens NoIx ArtistOpinion ArtistOpinion Opinion Opinion
-> Optic
A_Lens NoIx Opinion Opinion (Maybe UTCTime) (Maybe UTCTime)
-> Optic' A_Lens NoIx ArtistOpinion (Maybe UTCTime)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Opinion Opinion (Maybe UTCTime) (Maybe UTCTime)
#lastEditedAt
}