on 2af128d help sign in
project-m36/src/lib/ProjectM36/Server/RemoteCallTypes.hs
67 lines 3.3 kB history raw
1{-# LANGUAGE DeriveAnyClass, DeriveGeneric, DerivingVia #-}
2module ProjectM36.Server.RemoteCallTypes where
3import ProjectM36.Base
4import ProjectM36.Error
5import ProjectM36.Serialise.Error
6import Data.Map (Map)
7import ProjectM36.IsomorphicSchema
8import ProjectM36.TransactionGraph
9import ProjectM36.DataFrame
10import ProjectM36.TransGraphRelationalExpression
11import ProjectM36.Session
12import ProjectM36.Serialise.DataFrame
13import GHC.Generics
14import Data.Binary
15import Control.Distributed.Process (ProcessId)
16import Codec.Winery
17import Network.RPC.Curryer.Client
19data Request = Login |
20 Logout |
21 ExecuteRelationalExpr SessionId RelationalExpr |
22 ExecuteDataFrameExpr SessionId DataFrameExpr |
23 ExecuteDatabaseContextExpr SessionId DatabaseContextExpr |
24 ExecuteDatabaseContextIOExpr SessionId DatabaseContextIOExpr |
25 ExecuteGraphExpr SessionId TransactionGraphOperator |
26 ExecuteTransGraphRelationalExpr SessionId TransGraphRelationalExpr |
27 ExecuteHeadName SessionId |
28 ExecuteTypeForRelationalExpr SessionId RelationalExpr |
29 ExecuteSchemaExpr SessionId SchemaExpr |
30 ExecuteSetCurrentSchema SessionId SchemaName |
31 RetrieveInclusionDependencies SessionId |
32 RetrievePlanForDatabaseContextExpr SessionId DatabaseContextExpr |
33 RetrieveTransactionGraph SessionId |
34 RetrieveHeadTransactionId SessionId |
35 CreateSessionAtCommit TransactionId |
36 CreateSessionAtHead HeadName |
37 CloseSession SessionId |
38 RetrieveAtomTypesAsRelation SessionId |
39 RetrieveRelationVariableSummary SessionId |
40 RetrieveAtomFunctionSummary SessionId |
41 RetrieveDatabaseContextFunctionSummary SessionId |
42 RetrieveCurrentSchemaName SessionId |
43 TestTimeout SessionId |
44 RetrieveSessionIsDirty SessionId |
45 ExecuteAutoMergeToHead SessionId MergeStrategy HeadName |
46 RetrieveTypeConstructorMapping SessionId |
47 ExecuteValidateMerkleHashes SessionId
48 deriving (Generic)
49 deriving Serialise via WineryVariant Request
51data Response = RelationResp (Either RelationalError Relation) |
52 DataFrameResp (Either RelationalError DataFrame) |
53 EUnitResp (Either RelationalError ()) |
54 HeadNameResp (Either RelationalError HeadName) |
55 BoolResp Bool |
56 InclusionDependenciesMapResp (Map IncDepName InclusionDependency) |
57 GraphRefDatabaseContextExprResp (Either RelationalError GraphRefDatabaseContextExpr) |
58 TransactionIdResp (Either RelationalError TransactionId) |
59 SessionIdResp (Either RelationalError SessionId) |
60 UnitResp () |
61 SchemaNameResp (Either RelationalError SchemaName) |
62 EBoolResp (Either RelationalError Bool) |
63 TypeConstructorMappingResp (Either RelationalError TypeConstructorMapping)
64 deriving (Generic)
65 deriving Serialise via WineryVariant Response
67type RPCConnection = Connection Response