Minor store fixes

This commit is contained in:
Denis Arh
2020-11-06 11:52:28 +01:00
parent 873fc46556
commit 29807812bb
8 changed files with 45 additions and 5 deletions
+1
View File
@@ -28,5 +28,6 @@ func HandleError(err error, h ErrorHandler) error {
return errors.
Store("store error").
Apply(errors.StackSkip(1)).
Wrap(err)
}
+1
View File
@@ -38,6 +38,7 @@ func (s Store) ApplicationMetrics(ctx context.Context) (*types.ApplicationMetric
"SUM(IF(deleted_at IS NULL, 0, 1)) as deleted",
"SUM(IF(deleted_at IS NULL, 1, 0)) as valid",
).
PlaceholderFormat(s.config.PlaceholderFormat).
From(s.applicationTable("u"))
rval = &types.ApplicationMetrics{}
+6 -1
View File
@@ -6,7 +6,12 @@ import (
)
func (s Store) convertMessagingAttachmentFilter(f types.AttachmentFilter) (query squirrel.SelectBuilder, err error) {
query = s.composePagesSelectBuilder()
query = s.messagingAttachmentsSelectBuilder()
if len(f.MessageID) > 0 {
//query = query.Where(squirrel.Eq{"att.id": f.MessageID})
}
// @todo join & filter by message
+2
View File
@@ -20,6 +20,7 @@ func (s Store) CountMessagingUnreadThreads(ctx context.Context, userID, channelI
"sum(count) AS count",
"sum(CASE WHEN count > 0 THEN 1 ELSE 0 END) AS total",
).
PlaceholderFormat(s.config.PlaceholderFormat).
From(s.messagingUnreadTable()).
Where("rel_reply_to > 0 AND count > 0").
GroupBy("rel_channel", "rel_user")
@@ -63,6 +64,7 @@ func (s Store) CountMessagingUnread(ctx context.Context, userID, channelID uint6
"rel_reply_to",
"count",
).
PlaceholderFormat(s.config.PlaceholderFormat).
From(s.messagingUnreadTable())
)
+5 -1
View File
@@ -53,6 +53,7 @@ func (s Store) RoleMetrics(ctx context.Context) (*types.RoleMetrics, error) {
"SUM(IF(archived_at IS NULL, 0, 1)) as archived",
"SUM(IF(deleted_at IS NULL AND archived_at IS NULL, 1, 0)) as valid",
).
PlaceholderFormat(s.config.PlaceholderFormat).
From(s.roleTable("u"))
rval = &types.RoleMetrics{}
@@ -71,7 +72,10 @@ func (s Store) RoleMetrics(ctx context.Context) (*types.RoleMetrics, error) {
// Fetch daily metrics for created, updated, deleted and suspended users
err = s.multiDailyMetrics(
ctx,
squirrel.Select().From(s.roleTable("u")),
squirrel.
Select().
PlaceholderFormat(s.config.PlaceholderFormat).
From(s.roleTable("u")),
[]string{
"created_at",
"updated_at",
+5 -1
View File
@@ -81,6 +81,7 @@ func (s Store) UserMetrics(ctx context.Context) (*types.UserMetrics, error) {
"SUM(IF(suspended_at IS NULL, 0, 1)) as suspended",
"SUM(IF(deleted_at IS NULL AND suspended_at IS NULL, 1, 0)) as valid",
).
PlaceholderFormat(s.config.PlaceholderFormat).
From(s.userTable("u"))
row, err = s.QueryRow(ctx, counters)
@@ -99,7 +100,10 @@ func (s Store) UserMetrics(ctx context.Context) (*types.UserMetrics, error) {
// Fetch daily metrics for created, updated, deleted and suspended users
err = s.multiDailyMetrics(
ctx,
squirrel.Select().From(s.userTable("u")),
squirrel.
Select().
PlaceholderFormat(s.config.PlaceholderFormat).
From(s.userTable("u")),
[]string{
"created_at",
"updated_at",
-1
View File
@@ -61,7 +61,6 @@ func (u upgrader) CreateTable(ctx context.Context, t *ddl.Table) (err error) {
if !exists {
if err = u.Exec(ctx, u.ddl.CreateTable(t)); err != nil {
println(u.ddl.CreateTable(t))
return err
}
+25 -1
View File
@@ -12,7 +12,6 @@ import (
func testMessagingUnread(t *testing.T, s store.MessagingUnreads) {
var (
ctx = context.Background()
req = require.New(t)
channelID = id.Next()
userID = id.Next()
@@ -29,7 +28,32 @@ func testMessagingUnread(t *testing.T, s store.MessagingUnreads) {
)
t.Run("create", func(t *testing.T) {
var req = require.New(t)
messagingUnread := makeNew(channelID, threadID, userID)
req.NoError(s.CreateMessagingUnread(ctx, messagingUnread))
})
t.Run("count", func(t *testing.T) {
var (
err error
req = require.New(t)
)
_, err = s.CountMessagingUnread(ctx, 1, 2, 3, 4)
req.NoError(err)
_, err = s.CountMessagingUnread(ctx, 1, 2, 3)
req.NoError(err)
_, err = s.CountMessagingUnread(ctx, 1, 2)
req.NoError(err)
_, err = s.CountMessagingUnread(ctx, 1, 0)
req.NoError(err)
_, err = s.CountMessagingUnread(ctx, 0, 0)
req.NoError(err)
})
}