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  }