Increase and decrease the team metrics counter with events
This commit is contained in:
parent
dfbb3fe6f4
commit
c3de561c29
|
@ -194,3 +194,25 @@ type TeamMemberAddedEvent struct {
|
|||
func (t *TeamMemberAddedEvent) TopicName() string {
|
||||
return "team.member.added"
|
||||
}
|
||||
|
||||
// TeamCreatedEvent represents a TeamCreatedEvent event
|
||||
type TeamCreatedEvent struct {
|
||||
Team *Team
|
||||
Doer *user.User
|
||||
}
|
||||
|
||||
// TopicName defines the name for TeamCreatedEvent
|
||||
func (t *TeamCreatedEvent) TopicName() string {
|
||||
return "team.created"
|
||||
}
|
||||
|
||||
// TeamDeletedEvent represents a TeamDeletedEvent event
|
||||
type TeamDeletedEvent struct {
|
||||
Team *Team
|
||||
Doer *user.User
|
||||
}
|
||||
|
||||
// TopicName defines the name for TeamDeletedEvent
|
||||
func (t *TeamDeletedEvent) TopicName() string {
|
||||
return "team.deleted"
|
||||
}
|
||||
|
|
|
@ -29,6 +29,8 @@ func RegisterListeners() {
|
|||
events.RegisterListener((&NamespaceDeletedEvent{}).TopicName(), &DecreaseNamespaceCounter{})
|
||||
events.RegisterListener((&TaskCreatedEvent{}).TopicName(), &IncreaseTaskCounter{})
|
||||
events.RegisterListener((&TaskDeletedEvent{}).TopicName(), &DecreaseTaskCounter{})
|
||||
events.RegisterListener((&TeamDeletedEvent{}).TopicName(), &DecreaseTeamCounter{})
|
||||
events.RegisterListener((&TeamCreatedEvent{}).TopicName(), &IncreaseTeamCounter{})
|
||||
}
|
||||
|
||||
//////
|
||||
|
@ -123,3 +125,36 @@ func (s *DecreaseNamespaceCounter) Handle(payload message.Payload) (err error) {
|
|||
metrics.UpdateCount(-1, metrics.NamespaceCountKey)
|
||||
return nil
|
||||
}
|
||||
|
||||
///////
|
||||
// Team Events
|
||||
|
||||
// IncreaseTeamCounter represents a listener
|
||||
type IncreaseTeamCounter struct {
|
||||
}
|
||||
|
||||
// Name defines the name for the IncreaseTeamCounter listener
|
||||
func (s *IncreaseTeamCounter) Name() string {
|
||||
return "team.counter.increase"
|
||||
}
|
||||
|
||||
// Hanlde is executed when the event IncreaseTeamCounter listens on is fired
|
||||
func (s *IncreaseTeamCounter) Handle(payload message.Payload) (err error) {
|
||||
metrics.UpdateCount(1, metrics.TeamCountKey)
|
||||
return nil
|
||||
}
|
||||
|
||||
// DecreaseTeamCounter represents a listener
|
||||
type DecreaseTeamCounter struct {
|
||||
}
|
||||
|
||||
// Name defines the name for the DecreaseTeamCounter listener
|
||||
func (s *DecreaseTeamCounter) Name() string {
|
||||
return "team.counter.decrease"
|
||||
}
|
||||
|
||||
// Hanlde is executed when the event DecreaseTeamCounter listens on is fired
|
||||
func (s *DecreaseTeamCounter) Handle(payload message.Payload) (err error) {
|
||||
metrics.UpdateCount(-1, metrics.TeamCountKey)
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"code.vikunja.io/api/pkg/events"
|
||||
"time"
|
||||
|
||||
"xorm.io/xorm"
|
||||
|
||||
"code.vikunja.io/api/pkg/metrics"
|
||||
"code.vikunja.io/api/pkg/user"
|
||||
"code.vikunja.io/web"
|
||||
"xorm.io/builder"
|
||||
|
@ -270,8 +270,10 @@ func (t *Team) Create(s *xorm.Session, a web.Auth) (err error) {
|
|||
return err
|
||||
}
|
||||
|
||||
metrics.UpdateCount(1, metrics.TeamCountKey)
|
||||
return
|
||||
return events.Publish(&TeamCreatedEvent{
|
||||
Team: t,
|
||||
Doer: doer,
|
||||
})
|
||||
}
|
||||
|
||||
// Delete deletes a team
|
||||
|
@ -311,8 +313,14 @@ func (t *Team) Delete(s *xorm.Session, a web.Auth) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
metrics.UpdateCount(-1, metrics.TeamCountKey)
|
||||
return
|
||||
doer, err := user.GetFromAuth(a)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return events.Publish(&TeamDeletedEvent{
|
||||
Team: t,
|
||||
Doer: doer,
|
||||
})
|
||||
}
|
||||
|
||||
// Update is the handler to create a team
|
||||
|
|
Loading…
Reference in New Issue