1 module Databrary.Model.Activity.Types 2 ( ActivityTarget(..) 3 , Activity(..) 4 ) where 5 6 import qualified Data.ByteString as BS 7 8 import Databrary.Model.Audit.Types 9 import Databrary.Model.Id.Types 10 import Databrary.Model.Release.Types 11 import Databrary.Model.Party.Types 12 import Databrary.Model.Authorize.Types 13 import Databrary.Model.Volume.Types 14 import Databrary.Model.VolumeAccess.Types 15 import Databrary.Model.Container.Types 16 import Databrary.Model.Segment 17 import Databrary.Model.Slot.Types 18 -- import Databrary.Model.Record.Types 19 -- import Databrary.Model.RecordSlot.Types 20 import Databrary.Model.Asset.Types 21 22 data ActivityTarget 23 = ActivityParty { activityPartyRow :: !PartyRow } 24 | ActivityAccount { activityAccountId :: !(Id Party) 25 , activityAccountEmail :: !BS.ByteString 26 , activityAccountPassword :: !(Maybe BS.ByteString) 27 } 28 | ActivityAuthorize { activityAuthorize :: !Authorize } 29 | ActivityVolume { activityVolumeRow :: !VolumeRow } 30 | ActivityAccess { activityAccess :: !VolumeAccess } 31 | ActivityContainer { activityContainer :: !ContainerRow } 32 | ActivityRelease { activitySlotId :: !SlotId 33 , activityRelease :: !Release 34 } 35 -- | ActivityRecord { activityRecordRow :: !RecordRow } 36 -- | ActivityRecordSlot { activityRecordSlot :: !RecordSlot } 37 | ActivityAsset { activityAssetRow :: !AssetRow } 38 | ActivityAssetSlot { activityAssetId :: !(Id Asset) 39 , activitySlotId :: !SlotId } 40 | ActivityAssetAndSlot { activityAssetRow :: !AssetRow 41 , activitySlotId :: !SlotId } 42 | ActivityExcerpt { activityAssetId :: !(Id Asset) 43 , activitySegment :: !Segment 44 , activityExcerptRelease :: !(Maybe Release) 45 } 46 47 data Activity = Activity 48 { activityAudit :: !Audit 49 , activityTarget :: !ActivityTarget 50 , activityPrev :: Maybe ActivityTarget 51 , activityReplace :: Maybe Asset 52 , activityTranscode :: Maybe Asset 53 } 54