github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/sys/invite/consts.go (about) 1 /* 2 * Copyright (c) 2023-present unTill Pro, Ltd. 3 */ 4 5 package invite 6 7 import ( 8 "github.com/voedger/voedger/pkg/appdef" 9 ) 10 11 // TODO improvements 12 // 1. Do all numeric constants start from 1 and set type for it 13 // 2. Add QName validation in RecordStorage GetBatch method 14 // 3. Add projector names via appstructs for validation 15 var ( 16 qNameCmdInitiateInvitationByEMail = appdef.NewQName(appdef.SysPackage, "InitiateInvitationByEMail") 17 qNameCmdInitiateJoinWorkspace = appdef.NewQName(appdef.SysPackage, "InitiateJoinWorkspace") 18 qNameCmdInitiateUpdateInviteRoles = appdef.NewQName(appdef.SysPackage, "InitiateUpdateInviteRoles") 19 qNameCmdInitiateCancelAcceptedInvite = appdef.NewQName(appdef.SysPackage, "InitiateCancelAcceptedInvite") 20 qNameCmdCreateJoinedWorkspace = appdef.NewQName(appdef.SysPackage, "CreateJoinedWorkspace") 21 qNameCmdUpdateJoinedWorkspaceRoles = appdef.NewQName(appdef.SysPackage, "UpdateJoinedWorkspaceRoles") 22 qNameCmdDeactivateJoinedWorkspace = appdef.NewQName(appdef.SysPackage, "DeactivateJoinedWorkspace") 23 qNameCmdInitiateLeaveWorkspace = appdef.NewQName(appdef.SysPackage, "InitiateLeaveWorkspace") 24 qNameCmdCancelSentInvite = appdef.NewQName(appdef.SysPackage, "CancelSentInvite") 25 qNameCDocInvite = appdef.NewQName(appdef.SysPackage, "Invite") 26 qNameViewInviteIndex = appdef.NewQName(appdef.SysPackage, "InviteIndexView") 27 qNameProjectorInviteIndex = appdef.NewQName(appdef.SysPackage, "ProjectorInviteIndex") 28 QNameViewJoinedWorkspaceIndex = appdef.NewQName(appdef.SysPackage, "JoinedWorkspaceIndexView") 29 QNameProjectorJoinedWorkspaceIndex = appdef.NewQName(appdef.SysPackage, "ProjectorJoinedWorkspaceIndex") 30 qNameAPApplyCancelAcceptedInvite = appdef.NewQName(appdef.SysPackage, "ApplyCancelAcceptedInvite") 31 qNameAPApplyInvitation = appdef.NewQName(appdef.SysPackage, "ApplyInvitation") 32 qNameAPApplyJoinWorkspace = appdef.NewQName(appdef.SysPackage, "ApplyJoinWorkspace") 33 qNameAPApplyLeaveWorkspace = appdef.NewQName(appdef.SysPackage, "ApplyLeaveWorkspace") 34 qNameAPApplyUpdateInviteRoles = appdef.NewQName(appdef.SysPackage, "ApplyUpdateInviteRoles") 35 QNameCDocJoinedWorkspace = appdef.NewQName(appdef.SysPackage, "JoinedWorkspace") 36 QNameCDocSubject = appdef.NewQName(appdef.SysPackage, "Subject") 37 QNameViewSubjectsIdx = appdef.NewQName(appdef.SysPackage, "ViewSubjectsIdx") 38 QNameApplyViewSubjectsIdx = appdef.NewQName(appdef.SysPackage, "ApplyViewSubjectsIdx") 39 ) 40 41 const ( 42 field_Email = "Email" 43 Field_Roles = "Roles" 44 field_ExpireDatetime = "ExpireDatetime" 45 field_InviteID = "InviteID" 46 field_VerificationCode = "VerificationCode" 47 field_EmailTemplate = "EmailTemplate" 48 field_EmailSubject = "EmailSubject" 49 Field_Login = "Login" 50 Field_InvitingWorkspaceWSID = "InvitingWorkspaceWSID" 51 field_InviteeProfileWSID = "InviteeProfileWSID" 52 field_State = "State" 53 field_Created = "Created" 54 field_Updated = "Updated" 55 field_SubjectID = "SubjectID" 56 field_Dummy = "Dummy" 57 field_JoinedWorkspaceID = "JoinedWorkspaceID" 58 Field_SubjectKind = "SubjectKind" 59 Field_ProfileWSID = "ProfileWSID" 60 Field_SubjectID = "SubjectID" 61 Field_LoginHash = "LoginHash" 62 field_ActualLogin = "ActualLogin" 63 ) 64 65 type State int32 66 67 const ( 68 State_Null int32 = iota 69 State_ToBeInvited 70 State_Invited 71 State_ToBeJoined 72 State_Joined 73 State_ToUpdateRoles 74 State_ToBeCancelled 75 State_Cancelled 76 State_ToBeLeft 77 State_Left 78 State_FakeLast 79 ) 80 81 const ( 82 value_Dummy_One = int32(17) 83 value_Dummy_Two = int32(56) 84 ) 85 86 const ( 87 EmailTemplatePlaceholder_VerificationCode = "${VerificationCode}" 88 EmailTemplatePlaceholder_InviteID = "${InviteID}" 89 EmailTemplatePlaceholder_WSID = "${WSID}" 90 EmailTemplatePlaceholder_Roles = "${Roles}" 91 EmailTemplatePlaceholder_WSName = "${WSName}" 92 EmailTemplatePlaceholder_Email = "${Email}" 93 ) 94 95 var ( 96 inviteValidStates = map[appdef.QName]map[int32]bool{ 97 qNameCmdInitiateInvitationByEMail: { 98 State_Cancelled: true, 99 State_Left: true, 100 State_Invited: true, 101 }, 102 qNameCmdInitiateJoinWorkspace: { 103 State_Invited: true, 104 }, 105 qNameCmdInitiateUpdateInviteRoles: { 106 State_Joined: true, 107 }, 108 qNameCmdInitiateCancelAcceptedInvite: { 109 State_Joined: true, 110 }, 111 qNameCmdInitiateLeaveWorkspace: { 112 State_Joined: true, 113 }, 114 qNameCmdCancelSentInvite: { 115 State_Invited: true, 116 }, 117 } 118 reInviteAllowedForState = map[int32]bool{ 119 State_Cancelled: true, 120 State_Left: true, 121 } 122 ) 123 124 const ( 125 base = 10 126 )