submissions: fix operations CountSince (#99)

Reviewed-on: StrafesNET/maps-service#99
Co-authored-by: Quaternions <krakow20@gmail.com>
Co-committed-by: Quaternions <krakow20@gmail.com>
This commit is contained in:
2025-04-05 19:41:42 +00:00
committed by Quaternions
parent 5d259e20f2
commit d53f61fb5b
4 changed files with 8 additions and 5 deletions

View File

@@ -3,6 +3,8 @@ package datastore
import (
"context"
"errors"
"time"
"git.itzana.me/strafesnet/maps-service/pkg/model"
)
@@ -45,7 +47,7 @@ type Operations interface {
Create(ctx context.Context, smap model.Operation) (model.Operation, error)
Update(ctx context.Context, id int32, values OptionalMap) error
Delete(ctx context.Context, id int32) error
CountSince(ctx context.Context, owner int64, since int64) (int64, error)
CountSince(ctx context.Context, owner int64, since time.Time) (int64, error)
}
type Submissions interface {

View File

@@ -3,6 +3,7 @@ package gormstore
import (
"context"
"errors"
"time"
"git.itzana.me/strafesnet/maps-service/pkg/datastore"
"git.itzana.me/strafesnet/maps-service/pkg/model"
@@ -54,9 +55,9 @@ func (env *Operations) Delete(ctx context.Context, id int32) error {
return nil
}
func (env *Operations) CountSince(ctx context.Context, owner int64, since int64) (int64, error) {
func (env *Operations) CountSince(ctx context.Context, owner int64, since time.Time) (int64, error) {
var count int64
if err := env.db.Where("owner = ? AND created_at > ?",owner,since).Count(&count).Error; err != nil {
if err := env.db.Model(&model.Operation{}).Where("owner = ? AND created_at > ?",owner,since).Count(&count).Error; err != nil {
return count, err
}

View File

@@ -84,7 +84,7 @@ func (svc *Service) CreateMapfix(ctx context.Context, request *api.MapfixTrigger
{
count, err := svc.DB.Operations().CountSince(ctx,
int64(userId),
time.Now().Add(-CreateMapfixRecencyWindow).Unix(),
time.Now().Add(-CreateMapfixRecencyWindow),
)
if err != nil {
return nil, err

View File

@@ -75,7 +75,7 @@ func (svc *Service) CreateSubmission(ctx context.Context, request *api.Submissio
{
count, err := svc.DB.Operations().CountSince(ctx,
int64(userId),
time.Now().Add(-CreateSubmissionRecencyWindow).Unix(),
time.Now().Add(-CreateSubmissionRecencyWindow),
)
if err != nil {
return nil, err