fix: reduce (#635)

* fix: management reduce optimization

* fix: reduce optimization

* fix: reduce optimization

* fix: merge master
This commit is contained in:
Fabi
2020-08-26 13:01:37 +02:00
committed by GitHub
parent 87aa97b9c7
commit 4af38b37a6
29 changed files with 184 additions and 63 deletions

View File

@@ -148,12 +148,8 @@ func (u *User) fillLoginNamesOnOrgUsers(event *models.Event) error {
}
for _, user := range users {
user.SetLoginNames(policy, org.Domains)
err := u.view.PutUser(user, event.Sequence)
if err != nil {
return err
}
}
return nil
return u.view.PutUsers(users, event.Sequence)
}
func (u *User) fillPreferredLoginNamesOnOrgUsers(event *models.Event) error {
@@ -174,12 +170,8 @@ func (u *User) fillPreferredLoginNamesOnOrgUsers(event *models.Event) error {
}
for _, user := range users {
user.PreferredLoginName = user.GenerateLoginName(org.GetPrimaryDomain().Domain, policy.UserLoginMustBeDomain)
err := u.view.PutUser(user, 0)
if err != nil {
return err
}
}
return nil
return u.view.PutUsers(users, 0)
}
func (u *User) OnError(event *models.Event, err error) error {

View File

@@ -124,11 +124,8 @@ func (u *UserGrant) processUser(event *models.Event) (err error) {
}
for _, grant := range grants {
u.fillUserData(grant, user)
err = u.view.PutUserGrant(grant, event.Sequence)
if err != nil {
return err
}
}
return u.view.PutUserGrants(grants, event.Sequence)
default:
return u.view.ProcessedUserGrantSequence(event.Sequence)
}
@@ -148,8 +145,8 @@ func (u *UserGrant) processProject(event *models.Event) (err error) {
}
for _, grant := range grants {
u.fillProjectData(grant, project)
return u.view.PutUserGrant(grant, event.Sequence)
}
return u.view.PutUserGrants(grants, event.Sequence)
case proj_es_model.ProjectMemberAdded, proj_es_model.ProjectMemberChanged, proj_es_model.ProjectMemberRemoved:
member := new(proj_es_model.ProjectMember)
member.SetData(event)

View File

@@ -74,11 +74,12 @@ func (u *UserSession) Reduce(event *models.Event) (err error) {
return u.view.ProcessedUserSessionSequence(event.Sequence)
}
for _, session := range sessions {
if err := u.updateSession(session, event); err != nil {
session.AppendEvent(event)
if err := u.fillUserInfo(session, event.AggregateID); err != nil {
return err
}
}
return nil
return u.view.PutUserSessions(sessions, event.Sequence)
case es_model.UserRemoved:
return u.view.DeleteUserSessions(event.AggregateID, event.Sequence)
default:

View File

@@ -55,6 +55,14 @@ func (v *View) PutUser(user *model.UserView, sequence uint64) error {
return v.ProcessedUserSequence(sequence)
}
func (v *View) PutUsers(users []*model.UserView, sequence uint64) error {
err := view.PutUsers(v.Db, userTable, users...)
if err != nil {
return err
}
return v.ProcessedUserSequence(sequence)
}
func (v *View) DeleteUser(userID string, eventSequence uint64) error {
err := view.DeleteUser(v.Db, userTable, userID)
if err != nil {

View File

@@ -43,6 +43,14 @@ func (v *View) PutUserGrant(grant *model.UserGrantView, sequence uint64) error {
return v.ProcessedUserGrantSequence(sequence)
}
func (v *View) PutUserGrants(grants []*model.UserGrantView, sequence uint64) error {
err := view.PutUserGrants(v.Db, userGrantTable, grants...)
if err != nil {
return err
}
return v.ProcessedUserGrantSequence(sequence)
}
func (v *View) DeleteUserGrant(grantID string, eventSequence uint64) error {
err := view.DeleteUserGrant(v.Db, userGrantTable, grantID)
if err != nil {

View File

@@ -30,6 +30,14 @@ func (v *View) PutUserSession(userSession *model.UserSessionView) error {
return v.ProcessedUserSessionSequence(userSession.Sequence)
}
func (v *View) PutUserSessions(userSession []*model.UserSessionView, sequence uint64) error {
err := view.PutUserSessions(v.Db, userSessionTable, userSession...)
if err != nil {
return err
}
return v.ProcessedUserSessionSequence(sequence)
}
func (v *View) DeleteUserSessions(userID string, eventSequence uint64) error {
err := view.DeleteUserSessions(v.Db, userSessionTable, userID)
if err != nil {