github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/sys/invite/provide.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/istructsmem" 9 "github.com/voedger/voedger/pkg/itokens" 10 "github.com/voedger/voedger/pkg/sys/smtp" 11 coreutils "github.com/voedger/voedger/pkg/utils" 12 "github.com/voedger/voedger/pkg/utils/federation" 13 ) 14 15 func Provide(cfg *istructsmem.AppConfigType, timeFunc coreutils.TimeFunc, 16 federation federation.IFederation, itokens itokens.ITokens, smtpCfg smtp.Cfg) { 17 provideCmdInitiateInvitationByEMail(cfg, timeFunc) 18 provideCmdInitiateJoinWorkspace(cfg, timeFunc) 19 provideCmdInitiateUpdateInviteRoles(cfg, timeFunc) 20 provideCmdInitiateCancelAcceptedInvite(cfg, timeFunc) 21 provideCmdInitiateLeaveWorkspace(cfg, timeFunc) 22 provideCmdCancelSentInvite(cfg, timeFunc) 23 provideCmdCreateJoinedWorkspace(cfg) 24 provideCmdUpdateJoinedWorkspaceRoles(cfg) 25 provideCmdDeactivateJoinedWorkspace(cfg) 26 cfg.AddAsyncProjectors( 27 asyncProjectorApplyInvitation(timeFunc, federation, itokens, smtpCfg), 28 asyncProjectorApplyJoinWorkspace(timeFunc, federation, itokens), 29 asyncProjectorApplyUpdateInviteRoles(timeFunc, federation, itokens, smtpCfg), 30 asyncProjectorApplyCancelAcceptedInvite(timeFunc, federation, itokens), 31 asyncProjectorApplyLeaveWorkspace(timeFunc, federation, itokens), 32 ) 33 cfg.AddSyncProjectors( 34 syncProjectorInviteIndex(), 35 syncProjectorJoinedWorkspaceIndex(), 36 applyViewSubjectsIdx(), 37 ) 38 }