34 lines
664 B
Go
34 lines
664 B
Go
package model
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"spark-server/internal/module/user/entity"
|
|
"spark-server/internal/pkg/errs"
|
|
)
|
|
|
|
func (m *MemoryRepo) SetUserStatus(_ context.Context, userID int64, status entity.Status) error {
|
|
m.mu.Lock()
|
|
defer m.mu.Unlock()
|
|
u := m.byID[userID]
|
|
if u == nil {
|
|
return errs.ErrNotFound
|
|
}
|
|
u.Status = status
|
|
return nil
|
|
}
|
|
|
|
func (m *MemoryRepo) ExtendSendMutedUntil(_ context.Context, userID int64, until time.Time) error {
|
|
m.mu.Lock()
|
|
defer m.mu.Unlock()
|
|
u := m.byID[userID]
|
|
if u == nil {
|
|
return errs.ErrNotFound
|
|
}
|
|
if u.SendMutedUntil.IsZero() || until.After(u.SendMutedUntil) {
|
|
u.SendMutedUntil = until
|
|
}
|
|
return nil
|
|
}
|