Minor store fixes
This commit is contained in:
@@ -28,5 +28,6 @@ func HandleError(err error, h ErrorHandler) error {
|
||||
|
||||
return errors.
|
||||
Store("store error").
|
||||
Apply(errors.StackSkip(1)).
|
||||
Wrap(err)
|
||||
}
|
||||
|
||||
@@ -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,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
|
||||
|
||||
|
||||
@@ -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())
|
||||
)
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user