chore(repo): reinitialize repository
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"inbox/internal/domain/humantask"
|
||||
"inbox/internal/domain/lane"
|
||||
"inbox/internal/domain/message"
|
||||
"inbox/internal/domain/topic"
|
||||
"inbox/internal/domain/workflow"
|
||||
)
|
||||
|
||||
func filterMessagesByKnownTopics(items []message.Record, known map[string]topic.Record) map[string][]message.Record {
|
||||
out := make(map[string][]message.Record)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
out[item.TopicID] = append(out[item.TopicID], item)
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func filterRunsByKnownTopics(items []workflow.Run, known map[string]topic.Record) map[string][]workflow.Run {
|
||||
out := make(map[string][]workflow.Run)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
out[item.TopicID] = append(out[item.TopicID], item)
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func groupLanesByKnownTopics(items []lane.Record, known map[string]topic.Record) map[string][]lane.Record {
|
||||
out := make(map[string][]lane.Record)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
out[item.TopicID] = append(out[item.TopicID], item)
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func groupHumanTasksByKnownTopics(items []humantask.Record, known map[string]topic.Record) map[string][]humantask.Record {
|
||||
out := make(map[string][]humantask.Record)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
out[item.TopicID] = append(out[item.TopicID], item)
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func groupPendingDeliveriesByTopicRole(items []message.PendingDelivery, known map[string]topic.Record) map[string]map[string]int {
|
||||
out := make(map[string]map[string]int)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
if out[item.TopicID] == nil {
|
||||
out[item.TopicID] = make(map[string]int)
|
||||
}
|
||||
out[item.TopicID][item.RoleName] += item.Count
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func groupPendingDeliveriesByRole(items []message.PendingDelivery, known map[string]topic.Record) map[string]int {
|
||||
out := make(map[string]int)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
out[item.RoleName] += item.Count
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func groupPendingHumanTasksByTopicRole(items []humantask.Record, known map[string]topic.Record) map[string]map[string]int {
|
||||
out := make(map[string]map[string]int)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
if out[item.TopicID] == nil {
|
||||
out[item.TopicID] = make(map[string]int)
|
||||
}
|
||||
out[item.TopicID][item.RoleName]++
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func groupPendingHumanTasksByRole(items []humantask.Record, known map[string]topic.Record) map[string]int {
|
||||
out := make(map[string]int)
|
||||
for _, item := range items {
|
||||
if _, ok := known[item.TopicID]; !ok {
|
||||
continue
|
||||
}
|
||||
out[item.RoleName]++
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func latestRunTime(item *workflow.Run) string {
|
||||
if item == nil {
|
||||
return ""
|
||||
}
|
||||
return latestString(item.CompletedAt, item.StartedAt)
|
||||
}
|
||||
|
||||
func latestString(values ...string) string {
|
||||
var best string
|
||||
for _, value := range values {
|
||||
if value > best {
|
||||
best = value
|
||||
}
|
||||
}
|
||||
return best
|
||||
}
|
||||
|
||||
func coalesce(value, fallback string) string {
|
||||
if value != "" {
|
||||
return value
|
||||
}
|
||||
return fallback
|
||||
}
|
||||
Reference in New Issue
Block a user