github.com/alloyzeus/go-azfl@v0.0.0-20231220071816-9740126a2d07/azcore/entity_creation.go (about) 1 package azcore 2 3 type EntityCreationOutput[ 4 IDNumT EntityIDNum, 5 IDT EntityID[IDNumT], 6 RevisionNumberT EntityRevisionNumber, 7 DeletionInfoT EntityDeletionInfo, 8 InstanceInfoT EntityInstanceInfo[ 9 RevisionNumberT, DeletionInfoT], 10 ] struct { 11 InstanceID IDT 12 InitialState InstanceInfoT 13 } 14 15 // EntityCreationInfo holds information about the creation of an entity. 16 type EntityCreationInfo[ 17 SessionIDNumT SessionIDNum, SessionIDT SessionID[SessionIDNumT], 18 TerminalIDNumT TerminalIDNum, TerminalIDT TerminalID[TerminalIDNumT], 19 UserIDNumT UserIDNum, UserIDT UserID[UserIDNumT], 20 SessionSubjectT SessionSubject[ 21 TerminalIDNumT, TerminalIDT, 22 UserIDNumT, UserIDT], 23 SessionT Session[ 24 SessionIDNumT, SessionIDT, 25 TerminalIDNumT, TerminalIDT, 26 UserIDNumT, UserIDT, 27 SessionSubjectT, SessionT], 28 ] interface { 29 OperationInfo[ 30 SessionIDNumT, SessionIDT, TerminalIDNumT, TerminalIDT, 31 UserIDNumT, UserIDT, 32 SessionSubjectT, 33 SessionT] 34 } 35 36 // EntityCreationEvent is the abstraction for all entity creation events. 37 type EntityCreationEvent[ 38 SessionIDNumT SessionIDNum, SessionIDT SessionID[SessionIDNumT], 39 TerminalIDNumT TerminalIDNum, TerminalIDT TerminalID[TerminalIDNumT], 40 UserIDNumT UserIDNum, UserIDT UserID[UserIDNumT], 41 SessionSubjectT SessionSubject[ 42 TerminalIDNumT, TerminalIDT, 43 UserIDNumT, UserIDT], 44 SessionT Session[ 45 SessionIDNumT, SessionIDT, 46 TerminalIDNumT, TerminalIDT, 47 UserIDNumT, UserIDT, 48 SessionSubjectT, SessionT], 49 EntityCreationInfoT EntityCreationInfo[ 50 SessionIDNumT, SessionIDT, TerminalIDNumT, TerminalIDT, 51 UserIDNumT, UserIDT, SessionSubjectT, SessionT], 52 ] interface { 53 AZEntityCreationEvent() 54 55 CreationInfo() EntityCreationInfoT 56 } 57 58 // EntityCreationInputContext is the abstraction for all entity creation 59 // call input contexts. 60 type EntityCreationInputContext[ 61 SessionIDNumT SessionIDNum, SessionIDT SessionID[SessionIDNumT], 62 TerminalIDNumT TerminalIDNum, TerminalIDT TerminalID[TerminalIDNumT], 63 UserIDNumT UserIDNum, UserIDT UserID[UserIDNumT], 64 SessionSubjectT SessionSubject[ 65 TerminalIDNumT, TerminalIDT, 66 UserIDNumT, UserIDT], 67 SessionT Session[ 68 SessionIDNumT, SessionIDT, 69 TerminalIDNumT, TerminalIDT, 70 UserIDNumT, UserIDT, 71 SessionSubjectT, SessionT], 72 ServiceMethodIdempotencyKeyT ServiceMethodIdempotencyKey, 73 ] interface { 74 ServiceMethodCallInputContext[ 75 SessionIDNumT, SessionIDT, 76 TerminalIDNumT, TerminalIDT, 77 UserIDNumT, UserIDT, 78 SessionSubjectT, 79 SessionT, ServiceMethodIdempotencyKeyT] 80 81 AZEntityCreationInputContext() 82 } 83 84 // EntityCreationOutputContext is the abstraction for all entity creation 85 // call output contexts. 86 type EntityCreationOutputContext interface { 87 ServiceMethodCallOutputContext 88 89 AZEntityCreationOutputContext() 90 }