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  )