Created
August 23, 2017 07:35
-
-
Save saurabhnanda/7866caf670c8af884fe7286fe28020d7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-} | |
module AutoGenerated.Classes.CreatedAt where | |
import Control.Lens | |
class HasCreatedAt s a | s -> a where createdAt :: Lens' s a | |
-- Every database column has an individual `HasX` typeclass file to ensure that all lenses implement | |
-- the same typeclass and can be used with any database model/record |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TemplateHaskell, DeriveGeneric, MultiParamTypeClasses, FunctionalDependencies #-} | |
{-# OPTIONS_GHC -fno-warn-name-shadowing #-} | |
module AutoGenerated.Models.Job | |
( | |
module AutoGenerated.Models.Job, module AutoGenerated.PrimaryKeys.ClientId, module AutoGenerated.PrimaryKeys.JobId, module AutoGenerated.PrimaryKeys.UserId | |
, module AutoGenerated.Classes.Attempts, module AutoGenerated.Classes.ClientId, module AutoGenerated.Classes.CreatedAt, module AutoGenerated.Classes.Id, module AutoGenerated.Classes.LastError, module AutoGenerated.Classes.LockedAt, module AutoGenerated.Classes.LockedBy, module AutoGenerated.Classes.Payload, module AutoGenerated.Classes.RunAt, module AutoGenerated.Classes.Status, module AutoGenerated.Classes.UpdatedAt, module AutoGenerated.Classes.UserId | |
) | |
where | |
import GHC.Generics | |
import AutoGenerated.Classes.Attempts | |
import AutoGenerated.Classes.ClientId | |
import AutoGenerated.Classes.CreatedAt | |
import AutoGenerated.Classes.Id | |
import AutoGenerated.Classes.LastError | |
import AutoGenerated.Classes.LockedAt | |
import AutoGenerated.Classes.LockedBy | |
import AutoGenerated.Classes.Payload | |
import AutoGenerated.Classes.RunAt | |
import AutoGenerated.Classes.Status | |
import AutoGenerated.Classes.UpdatedAt | |
import AutoGenerated.Classes.UserId | |
import Prelude hiding (id) | |
import AutoGenerated.PrimaryKeys.ClientId | |
import Data.Time | |
import AutoGenerated.PrimaryKeys.JobId | |
import Data.Aeson | |
import Foundation.Types.Time | |
import Data.Text | |
import AutoGenerated.PrimaryKeys.UserId | |
import Opaleye | |
data JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy = JobPoly {_jobId :: id, _jobCreatedAt :: createdAt, _jobUpdatedAt :: updatedAt, _jobClientId :: clientId, _jobUserId :: userId, _jobStatus :: status, _jobPayload :: payload, _jobLastError :: lastError, _jobAttempts :: attempts, _jobRunAt :: runAt, _jobLockedAt :: lockedAt, _jobLockedBy :: lockedBy} deriving (Eq, Show, Generic) | |
--makeLensesWith abbreviatedFields ''JobPoly | |
type Job = JobPoly (JobId) (UTCTime) (UTCTime) (ClientId) (UserId) (Text) (Value) (Maybe (Value)) (Integer) (ZonedTime) (Maybe (ZonedTime)) (Maybe (Text)) | |
type JobPGR = JobPoly (Maybe (Column (PGInt4))) (Maybe (Column (PGTimestamptz))) (Maybe (Column (PGTimestamptz))) (Column (Nullable (PGInt4))) (Column (Nullable (PGInt4))) (Column (PGText)) (Column (PGJsonb)) (Column (Nullable (PGJsonb))) (Maybe (Column (PGInt4))) (Maybe (Column (PGTimestamptz))) (Column (Nullable (PGTimestamptz))) (Column (Nullable (PGText))) | |
instance HasId (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) id where | |
{-# INLINE id #-} | |
id fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly dragon createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) (fctor id) | |
instance HasCreatedAt (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) createdAt where | |
{-# INLINE createdAt #-} | |
createdAt fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id dragon updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) (fctor createdAt) | |
instance HasUpdatedAt (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) updatedAt where | |
{-# INLINE updatedAt #-} | |
updatedAt fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt dragon clientId userId status payload lastError attempts runAt lockedAt lockedBy) (fctor updatedAt) | |
instance HasClientId (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) clientId where | |
{-# INLINE clientId #-} | |
clientId fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt dragon userId status payload lastError attempts runAt lockedAt lockedBy) (fctor clientId) | |
instance HasUserId (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) userId where | |
{-# INLINE userId #-} | |
userId fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId dragon status payload lastError attempts runAt lockedAt lockedBy) (fctor userId) | |
instance HasStatus (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) status where | |
{-# INLINE status #-} | |
status fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId userId dragon payload lastError attempts runAt lockedAt lockedBy) (fctor status) | |
instance HasPayload (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) payload where | |
{-# INLINE payload #-} | |
payload fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId userId status dragon lastError attempts runAt lockedAt lockedBy) (fctor payload) | |
instance HasLastError (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) lastError where | |
{-# INLINE lastError #-} | |
lastError fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId userId status payload dragon attempts runAt lockedAt lockedBy) (fctor lastError) | |
instance HasAttempts (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) attempts where | |
{-# INLINE attempts #-} | |
attempts fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId userId status payload lastError dragon runAt lockedAt lockedBy) (fctor attempts) | |
instance HasRunAt (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) runAt where | |
{-# INLINE runAt #-} | |
runAt fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId userId status payload lastError attempts dragon lockedAt lockedBy) (fctor runAt) | |
instance HasLockedAt (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) lockedAt where | |
{-# INLINE lockedAt #-} | |
lockedAt fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt dragon lockedBy) (fctor lockedAt) | |
instance HasLockedBy (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) lockedBy where | |
{-# INLINE lockedBy #-} | |
lockedBy fctor (JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt lockedBy) = fmap (\ dragon -> JobPoly id createdAt updatedAt clientId userId status payload lastError attempts runAt lockedAt dragon) (fctor lockedBy) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TemplateHaskell, DeriveGeneric, MultiParamTypeClasses, FunctionalDependencies #-} | |
module AutoGenerated.PrimaryKeys.JobId (JobId) where | |
import Foundation.Types.PrimaryKey | |
data Job | |
type JobId = PK Job |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TemplateHaskell, DeriveGeneric, MultiParamTypeClasses, FunctionalDependencies #-} | |
module AutoGenerated.PrimaryKeys.UserId (UserId) where | |
import Foundation.Types.PrimaryKey | |
data User | |
type UserId = PK User |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment