on df60608 help sign in
project-m36/src/lib/ProjectM36/Server/RemoteCallTypes.hs
104 lines 4.1 kB history raw
1{-# LANGUAGE DeriveAnyClass, DeriveGeneric, DerivingVia, DerivingStrategies, DeriveGeneric, CPP #-}
2module ProjectM36.Server.RemoteCallTypes where
3import ProjectM36.Base
4import ProjectM36.IsomorphicSchema
5import ProjectM36.TransactionGraph
6import ProjectM36.DataFrame
7import ProjectM36.TransGraphRelationalExpression
8import ProjectM36.Session
9import ProjectM36.Serialise.DataFrame ()
10import ProjectM36.Serialise.IsomorphicSchema ()
11import ProjectM36.Server.Types
12import GHC.Generics
13import Codec.Winery
15#define RPCData(typeName) deriving Generic \
16 deriving Serialise via WineryVariant typeName
18{-# ANN module ("HLint: ignore Use newtype instead of data" :: String) #-}
19-- | The initial login message. The argument should be the process id of the initiating client. This ProcessId will receive notification callbacks.
20data Login = Login DatabaseName
21 RPCData(Login)
23data Logout = Logout
24 RPCData(Logout)
26data ExecuteRelationalExpr = ExecuteRelationalExpr SessionId RelationalExpr
27 RPCData(ExecuteRelationalExpr)
29data ExecuteDataFrameExpr = ExecuteDataFrameExpr SessionId DataFrameExpr
30 RPCData(ExecuteDataFrameExpr)
32data ExecuteDatabaseContextExpr = ExecuteDatabaseContextExpr SessionId DatabaseContextExpr
33 RPCData(ExecuteDatabaseContextExpr)
35data ExecuteDatabaseContextIOExpr = ExecuteDatabaseContextIOExpr SessionId DatabaseContextIOExpr
36 RPCData(ExecuteDatabaseContextIOExpr)
38data ExecuteGraphExpr = ExecuteGraphExpr SessionId TransactionGraphOperator
39 RPCData(ExecuteGraphExpr)
41data ExecuteTransGraphRelationalExpr = ExecuteTransGraphRelationalExpr SessionId TransGraphRelationalExpr
42 RPCData(ExecuteTransGraphRelationalExpr)
44data ExecuteHeadName = ExecuteHeadName SessionId
45 RPCData(ExecuteHeadName)
47data ExecuteTypeForRelationalExpr = ExecuteTypeForRelationalExpr SessionId RelationalExpr
48 RPCData(ExecuteTypeForRelationalExpr)
50data ExecuteSchemaExpr = ExecuteSchemaExpr SessionId SchemaExpr RPCData(ExecuteSchemaExpr)
52data ExecuteSetCurrentSchema = ExecuteSetCurrentSchema SessionId SchemaName
53 RPCData(ExecuteSetCurrentSchema)
55data RetrieveInclusionDependencies = RetrieveInclusionDependencies SessionId
56 RPCData(RetrieveInclusionDependencies)
58data RetrievePlanForDatabaseContextExpr = RetrievePlanForDatabaseContextExpr SessionId DatabaseContextExpr
59 RPCData(RetrievePlanForDatabaseContextExpr)
61data RetrieveTransactionGraph = RetrieveTransactionGraph SessionId
62 RPCData(RetrieveTransactionGraph)
64data RetrieveHeadTransactionId = RetrieveHeadTransactionId SessionId
65 RPCData(RetrieveHeadTransactionId)
67data CreateSessionAtCommit = CreateSessionAtCommit TransactionId
68 RPCData(CreateSessionAtCommit)
70data CreateSessionAtHead = CreateSessionAtHead HeadName
71 RPCData(CreateSessionAtHead)
73data CloseSession = CloseSession SessionId
74 RPCData(CloseSession)
76data RetrieveAtomTypesAsRelation = RetrieveAtomTypesAsRelation SessionId
77 RPCData(RetrieveAtomTypesAsRelation)
79data RetrieveRelationVariableSummary = RetrieveRelationVariableSummary SessionId
80 RPCData(RetrieveRelationVariableSummary)
82data RetrieveAtomFunctionSummary = RetrieveAtomFunctionSummary SessionId
83 RPCData(RetrieveAtomFunctionSummary)
85data RetrieveDatabaseContextFunctionSummary = RetrieveDatabaseContextFunctionSummary SessionId
86 RPCData(RetrieveDatabaseContextFunctionSummary)
88data RetrieveCurrentSchemaName = RetrieveCurrentSchemaName SessionId
89 RPCData(RetrieveCurrentSchemaName)
91data TestTimeout = TestTimeout SessionId
92 RPCData(TestTimeout)
94data RetrieveSessionIsDirty = RetrieveSessionIsDirty SessionId
95 RPCData(RetrieveSessionIsDirty)
97data ExecuteAutoMergeToHead = ExecuteAutoMergeToHead SessionId MergeStrategy HeadName
98 RPCData(ExecuteAutoMergeToHead)
100data RetrieveTypeConstructorMapping = RetrieveTypeConstructorMapping SessionId
101 RPCData(RetrieveTypeConstructorMapping)
103data ExecuteValidateMerkleHashes = ExecuteValidateMerkleHashes SessionId
104 RPCData(ExecuteValidateMerkleHashes)