rename admindb to roomdb

This commit is contained in:
Henry 2021-03-10 16:44:46 +01:00
parent 04824eeed7
commit 117cad48a7
63 changed files with 311 additions and 312 deletions

View File

@ -50,7 +50,7 @@ Once you are done with your changes run `go generate` in the changed packages to
## Tooling ## Tooling
### Mocks ### Mocks
[`counterfeiter`](https://github.com/maxbrunsfeld/counterfeiter) enables generating mocks for defined interfaces. To update the mocks, run `go generate` in package admindb. [`counterfeiter`](https://github.com/maxbrunsfeld/counterfeiter) enables generating mocks for defined interfaces. To update the mocks, run `go generate` in package roomdb.
* TODO: setup tool as dependency (no manual install) * TODO: setup tool as dependency (no manual install)
### Database schema ### Database schema

View File

@ -12,7 +12,7 @@ import (
_ "github.com/mattn/go-sqlite3" _ "github.com/mattn/go-sqlite3"
"golang.org/x/crypto/ssh/terminal" "golang.org/x/crypto/ssh/terminal"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
) )

View File

@ -29,7 +29,7 @@ import (
"github.com/unrolled/secure" "github.com/unrolled/secure"
"go.cryptoscope.co/muxrpc/v2/debug" "go.cryptoscope.co/muxrpc/v2/debug"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
"github.com/ssb-ngi-pointer/go-ssb-room/roomsrv" "github.com/ssb-ngi-pointer/go-ssb-room/roomsrv"
mksrv "github.com/ssb-ngi-pointer/go-ssb-room/roomsrv" mksrv "github.com/ssb-ngi-pointer/go-ssb-room/roomsrv"

View File

@ -1,14 +1,14 @@
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
// Package admindb implements all the persisted database needs of the room server. // Package roomdb implements all the persisted database needs of the room server.
// This includes authentication, allow/deny list managment, invite and alias creation and also the notice content for the CMS. // This includes authentication, allow/deny list managment, invite and alias creation and also the notice content for the CMS.
// //
// The interfaces defined here are implemented twice. Once in SQLite for production and once as mocks for testing, generated by counterfeiter (https://github.com/maxbrunsfeld/counterfeiter). // The interfaces defined here are implemented twice. Once in SQLite for production and once as mocks for testing, generated by counterfeiter (https://github.com/maxbrunsfeld/counterfeiter).
// //
// See the package documentation of admindb/sqlite for how to update it. // See the package documentation of roomdb/sqlite for how to update it.
// It's important not to use the types generated by sqlboiler (sqlite/models) in the argument and return values of the interfaces here. // It's important not to use the types generated by sqlboiler (sqlite/models) in the argument and return values of the interfaces here.
// This would leak details of the internal implementation of the admindb/sqlite package and we want to have full control over how these interfaces can be used. // This would leak details of the internal implementation of the roomdb/sqlite package and we want to have full control over how these interfaces can be used.
package admindb package roomdb
import ( import (
"context" "context"

View File

@ -4,7 +4,7 @@ package mockdb
import ( import (
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
type FakeAliasService struct { type FakeAliasService struct {
@ -34,4 +34,4 @@ func (fake *FakeAliasService) recordInvocation(key string, args []interface{}) {
fake.invocations[key] = append(fake.invocations[key], args) fake.invocations[key] = append(fake.invocations[key], args)
} }
var _ admindb.AliasService = new(FakeAliasService) var _ roomdb.AliasService = new(FakeAliasService)

View File

@ -5,7 +5,7 @@ import (
"context" "context"
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
) )
@ -22,18 +22,18 @@ type FakeAllowListService struct {
addReturnsOnCall map[int]struct { addReturnsOnCall map[int]struct {
result1 error result1 error
} }
GetByIDStub func(context.Context, int64) (admindb.ListEntry, error) GetByIDStub func(context.Context, int64) (roomdb.ListEntry, error)
getByIDMutex sync.RWMutex getByIDMutex sync.RWMutex
getByIDArgsForCall []struct { getByIDArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 int64 arg2 int64
} }
getByIDReturns struct { getByIDReturns struct {
result1 admindb.ListEntry result1 roomdb.ListEntry
result2 error result2 error
} }
getByIDReturnsOnCall map[int]struct { getByIDReturnsOnCall map[int]struct {
result1 admindb.ListEntry result1 roomdb.ListEntry
result2 error result2 error
} }
HasFeedStub func(context.Context, refs.FeedRef) bool HasFeedStub func(context.Context, refs.FeedRef) bool
@ -60,17 +60,17 @@ type FakeAllowListService struct {
hasIDReturnsOnCall map[int]struct { hasIDReturnsOnCall map[int]struct {
result1 bool result1 bool
} }
ListStub func(context.Context) (admindb.ListEntries, error) ListStub func(context.Context) (roomdb.ListEntries, error)
listMutex sync.RWMutex listMutex sync.RWMutex
listArgsForCall []struct { listArgsForCall []struct {
arg1 context.Context arg1 context.Context
} }
listReturns struct { listReturns struct {
result1 admindb.ListEntries result1 roomdb.ListEntries
result2 error result2 error
} }
listReturnsOnCall map[int]struct { listReturnsOnCall map[int]struct {
result1 admindb.ListEntries result1 roomdb.ListEntries
result2 error result2 error
} }
RemoveFeedStub func(context.Context, refs.FeedRef) error RemoveFeedStub func(context.Context, refs.FeedRef) error
@ -163,7 +163,7 @@ func (fake *FakeAllowListService) AddReturnsOnCall(i int, result1 error) {
}{result1} }{result1}
} }
func (fake *FakeAllowListService) GetByID(arg1 context.Context, arg2 int64) (admindb.ListEntry, error) { func (fake *FakeAllowListService) GetByID(arg1 context.Context, arg2 int64) (roomdb.ListEntry, error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)] ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)]
fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct { fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct {
@ -189,7 +189,7 @@ func (fake *FakeAllowListService) GetByIDCallCount() int {
return len(fake.getByIDArgsForCall) return len(fake.getByIDArgsForCall)
} }
func (fake *FakeAllowListService) GetByIDCalls(stub func(context.Context, int64) (admindb.ListEntry, error)) { func (fake *FakeAllowListService) GetByIDCalls(stub func(context.Context, int64) (roomdb.ListEntry, error)) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = stub fake.GetByIDStub = stub
@ -202,28 +202,28 @@ func (fake *FakeAllowListService) GetByIDArgsForCall(i int) (context.Context, in
return argsForCall.arg1, argsForCall.arg2 return argsForCall.arg1, argsForCall.arg2
} }
func (fake *FakeAllowListService) GetByIDReturns(result1 admindb.ListEntry, result2 error) { func (fake *FakeAllowListService) GetByIDReturns(result1 roomdb.ListEntry, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
fake.getByIDReturns = struct { fake.getByIDReturns = struct {
result1 admindb.ListEntry result1 roomdb.ListEntry
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeAllowListService) GetByIDReturnsOnCall(i int, result1 admindb.ListEntry, result2 error) { func (fake *FakeAllowListService) GetByIDReturnsOnCall(i int, result1 roomdb.ListEntry, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
if fake.getByIDReturnsOnCall == nil { if fake.getByIDReturnsOnCall == nil {
fake.getByIDReturnsOnCall = make(map[int]struct { fake.getByIDReturnsOnCall = make(map[int]struct {
result1 admindb.ListEntry result1 roomdb.ListEntry
result2 error result2 error
}) })
} }
fake.getByIDReturnsOnCall[i] = struct { fake.getByIDReturnsOnCall[i] = struct {
result1 admindb.ListEntry result1 roomdb.ListEntry
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
@ -352,7 +352,7 @@ func (fake *FakeAllowListService) HasIDReturnsOnCall(i int, result1 bool) {
}{result1} }{result1}
} }
func (fake *FakeAllowListService) List(arg1 context.Context) (admindb.ListEntries, error) { func (fake *FakeAllowListService) List(arg1 context.Context) (roomdb.ListEntries, error) {
fake.listMutex.Lock() fake.listMutex.Lock()
ret, specificReturn := fake.listReturnsOnCall[len(fake.listArgsForCall)] ret, specificReturn := fake.listReturnsOnCall[len(fake.listArgsForCall)]
fake.listArgsForCall = append(fake.listArgsForCall, struct { fake.listArgsForCall = append(fake.listArgsForCall, struct {
@ -377,7 +377,7 @@ func (fake *FakeAllowListService) ListCallCount() int {
return len(fake.listArgsForCall) return len(fake.listArgsForCall)
} }
func (fake *FakeAllowListService) ListCalls(stub func(context.Context) (admindb.ListEntries, error)) { func (fake *FakeAllowListService) ListCalls(stub func(context.Context) (roomdb.ListEntries, error)) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = stub fake.ListStub = stub
@ -390,28 +390,28 @@ func (fake *FakeAllowListService) ListArgsForCall(i int) context.Context {
return argsForCall.arg1 return argsForCall.arg1
} }
func (fake *FakeAllowListService) ListReturns(result1 admindb.ListEntries, result2 error) { func (fake *FakeAllowListService) ListReturns(result1 roomdb.ListEntries, result2 error) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = nil fake.ListStub = nil
fake.listReturns = struct { fake.listReturns = struct {
result1 admindb.ListEntries result1 roomdb.ListEntries
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeAllowListService) ListReturnsOnCall(i int, result1 admindb.ListEntries, result2 error) { func (fake *FakeAllowListService) ListReturnsOnCall(i int, result1 roomdb.ListEntries, result2 error) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = nil fake.ListStub = nil
if fake.listReturnsOnCall == nil { if fake.listReturnsOnCall == nil {
fake.listReturnsOnCall = make(map[int]struct { fake.listReturnsOnCall = make(map[int]struct {
result1 admindb.ListEntries result1 roomdb.ListEntries
result2 error result2 error
}) })
} }
fake.listReturnsOnCall[i] = struct { fake.listReturnsOnCall[i] = struct {
result1 admindb.ListEntries result1 roomdb.ListEntries
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
@ -576,4 +576,4 @@ func (fake *FakeAllowListService) recordInvocation(key string, args []interface{
fake.invocations[key] = append(fake.invocations[key], args) fake.invocations[key] = append(fake.invocations[key], args)
} }
var _ admindb.AllowListService = new(FakeAllowListService) var _ roomdb.AllowListService = new(FakeAllowListService)

View File

@ -4,7 +4,7 @@ package mockdb
import ( import (
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
type FakeAuthWithSSBService struct { type FakeAuthWithSSBService struct {
@ -34,4 +34,4 @@ func (fake *FakeAuthWithSSBService) recordInvocation(key string, args []interfac
fake.invocations[key] = append(fake.invocations[key], args) fake.invocations[key] = append(fake.invocations[key], args)
} }
var _ admindb.AuthWithSSBService = new(FakeAuthWithSSBService) var _ roomdb.AuthWithSSBService = new(FakeAuthWithSSBService)

View File

@ -5,7 +5,7 @@ import (
"context" "context"
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
type FakeAuthFallbackService struct { type FakeAuthFallbackService struct {
@ -38,18 +38,18 @@ type FakeAuthFallbackService struct {
result1 int64 result1 int64
result2 error result2 error
} }
GetByIDStub func(context.Context, int64) (*admindb.User, error) GetByIDStub func(context.Context, int64) (*roomdb.User, error)
getByIDMutex sync.RWMutex getByIDMutex sync.RWMutex
getByIDArgsForCall []struct { getByIDArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 int64 arg2 int64
} }
getByIDReturns struct { getByIDReturns struct {
result1 *admindb.User result1 *roomdb.User
result2 error result2 error
} }
getByIDReturnsOnCall map[int]struct { getByIDReturnsOnCall map[int]struct {
result1 *admindb.User result1 *roomdb.User
result2 error result2 error
} }
invocations map[string][][]interface{} invocations map[string][][]interface{}
@ -192,7 +192,7 @@ func (fake *FakeAuthFallbackService) CreateReturnsOnCall(i int, result1 int64, r
}{result1, result2} }{result1, result2}
} }
func (fake *FakeAuthFallbackService) GetByID(arg1 context.Context, arg2 int64) (*admindb.User, error) { func (fake *FakeAuthFallbackService) GetByID(arg1 context.Context, arg2 int64) (*roomdb.User, error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)] ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)]
fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct { fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct {
@ -218,7 +218,7 @@ func (fake *FakeAuthFallbackService) GetByIDCallCount() int {
return len(fake.getByIDArgsForCall) return len(fake.getByIDArgsForCall)
} }
func (fake *FakeAuthFallbackService) GetByIDCalls(stub func(context.Context, int64) (*admindb.User, error)) { func (fake *FakeAuthFallbackService) GetByIDCalls(stub func(context.Context, int64) (*roomdb.User, error)) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = stub fake.GetByIDStub = stub
@ -231,28 +231,28 @@ func (fake *FakeAuthFallbackService) GetByIDArgsForCall(i int) (context.Context,
return argsForCall.arg1, argsForCall.arg2 return argsForCall.arg1, argsForCall.arg2
} }
func (fake *FakeAuthFallbackService) GetByIDReturns(result1 *admindb.User, result2 error) { func (fake *FakeAuthFallbackService) GetByIDReturns(result1 *roomdb.User, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
fake.getByIDReturns = struct { fake.getByIDReturns = struct {
result1 *admindb.User result1 *roomdb.User
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeAuthFallbackService) GetByIDReturnsOnCall(i int, result1 *admindb.User, result2 error) { func (fake *FakeAuthFallbackService) GetByIDReturnsOnCall(i int, result1 *roomdb.User, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
if fake.getByIDReturnsOnCall == nil { if fake.getByIDReturnsOnCall == nil {
fake.getByIDReturnsOnCall = make(map[int]struct { fake.getByIDReturnsOnCall = make(map[int]struct {
result1 *admindb.User result1 *roomdb.User
result2 error result2 error
}) })
} }
fake.getByIDReturnsOnCall[i] = struct { fake.getByIDReturnsOnCall[i] = struct {
result1 *admindb.User result1 *roomdb.User
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
@ -285,4 +285,4 @@ func (fake *FakeAuthFallbackService) recordInvocation(key string, args []interfa
fake.invocations[key] = append(fake.invocations[key], args) fake.invocations[key] = append(fake.invocations[key], args)
} }
var _ admindb.AuthFallbackService = new(FakeAuthFallbackService) var _ roomdb.AuthFallbackService = new(FakeAuthFallbackService)

View File

@ -5,43 +5,43 @@ import (
"context" "context"
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
type FakePinnedNoticesService struct { type FakePinnedNoticesService struct {
GetStub func(context.Context, admindb.PinnedNoticeName, string) (*admindb.Notice, error) GetStub func(context.Context, roomdb.PinnedNoticeName, string) (*roomdb.Notice, error)
getMutex sync.RWMutex getMutex sync.RWMutex
getArgsForCall []struct { getArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 admindb.PinnedNoticeName arg2 roomdb.PinnedNoticeName
arg3 string arg3 string
} }
getReturns struct { getReturns struct {
result1 *admindb.Notice result1 *roomdb.Notice
result2 error result2 error
} }
getReturnsOnCall map[int]struct { getReturnsOnCall map[int]struct {
result1 *admindb.Notice result1 *roomdb.Notice
result2 error result2 error
} }
ListStub func(context.Context) (admindb.PinnedNotices, error) ListStub func(context.Context) (roomdb.PinnedNotices, error)
listMutex sync.RWMutex listMutex sync.RWMutex
listArgsForCall []struct { listArgsForCall []struct {
arg1 context.Context arg1 context.Context
} }
listReturns struct { listReturns struct {
result1 admindb.PinnedNotices result1 roomdb.PinnedNotices
result2 error result2 error
} }
listReturnsOnCall map[int]struct { listReturnsOnCall map[int]struct {
result1 admindb.PinnedNotices result1 roomdb.PinnedNotices
result2 error result2 error
} }
SetStub func(context.Context, admindb.PinnedNoticeName, int64) error SetStub func(context.Context, roomdb.PinnedNoticeName, int64) error
setMutex sync.RWMutex setMutex sync.RWMutex
setArgsForCall []struct { setArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 admindb.PinnedNoticeName arg2 roomdb.PinnedNoticeName
arg3 int64 arg3 int64
} }
setReturns struct { setReturns struct {
@ -54,12 +54,12 @@ type FakePinnedNoticesService struct {
invocationsMutex sync.RWMutex invocationsMutex sync.RWMutex
} }
func (fake *FakePinnedNoticesService) Get(arg1 context.Context, arg2 admindb.PinnedNoticeName, arg3 string) (*admindb.Notice, error) { func (fake *FakePinnedNoticesService) Get(arg1 context.Context, arg2 roomdb.PinnedNoticeName, arg3 string) (*roomdb.Notice, error) {
fake.getMutex.Lock() fake.getMutex.Lock()
ret, specificReturn := fake.getReturnsOnCall[len(fake.getArgsForCall)] ret, specificReturn := fake.getReturnsOnCall[len(fake.getArgsForCall)]
fake.getArgsForCall = append(fake.getArgsForCall, struct { fake.getArgsForCall = append(fake.getArgsForCall, struct {
arg1 context.Context arg1 context.Context
arg2 admindb.PinnedNoticeName arg2 roomdb.PinnedNoticeName
arg3 string arg3 string
}{arg1, arg2, arg3}) }{arg1, arg2, arg3})
stub := fake.GetStub stub := fake.GetStub
@ -81,46 +81,46 @@ func (fake *FakePinnedNoticesService) GetCallCount() int {
return len(fake.getArgsForCall) return len(fake.getArgsForCall)
} }
func (fake *FakePinnedNoticesService) GetCalls(stub func(context.Context, admindb.PinnedNoticeName, string) (*admindb.Notice, error)) { func (fake *FakePinnedNoticesService) GetCalls(stub func(context.Context, roomdb.PinnedNoticeName, string) (*roomdb.Notice, error)) {
fake.getMutex.Lock() fake.getMutex.Lock()
defer fake.getMutex.Unlock() defer fake.getMutex.Unlock()
fake.GetStub = stub fake.GetStub = stub
} }
func (fake *FakePinnedNoticesService) GetArgsForCall(i int) (context.Context, admindb.PinnedNoticeName, string) { func (fake *FakePinnedNoticesService) GetArgsForCall(i int) (context.Context, roomdb.PinnedNoticeName, string) {
fake.getMutex.RLock() fake.getMutex.RLock()
defer fake.getMutex.RUnlock() defer fake.getMutex.RUnlock()
argsForCall := fake.getArgsForCall[i] argsForCall := fake.getArgsForCall[i]
return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3 return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3
} }
func (fake *FakePinnedNoticesService) GetReturns(result1 *admindb.Notice, result2 error) { func (fake *FakePinnedNoticesService) GetReturns(result1 *roomdb.Notice, result2 error) {
fake.getMutex.Lock() fake.getMutex.Lock()
defer fake.getMutex.Unlock() defer fake.getMutex.Unlock()
fake.GetStub = nil fake.GetStub = nil
fake.getReturns = struct { fake.getReturns = struct {
result1 *admindb.Notice result1 *roomdb.Notice
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakePinnedNoticesService) GetReturnsOnCall(i int, result1 *admindb.Notice, result2 error) { func (fake *FakePinnedNoticesService) GetReturnsOnCall(i int, result1 *roomdb.Notice, result2 error) {
fake.getMutex.Lock() fake.getMutex.Lock()
defer fake.getMutex.Unlock() defer fake.getMutex.Unlock()
fake.GetStub = nil fake.GetStub = nil
if fake.getReturnsOnCall == nil { if fake.getReturnsOnCall == nil {
fake.getReturnsOnCall = make(map[int]struct { fake.getReturnsOnCall = make(map[int]struct {
result1 *admindb.Notice result1 *roomdb.Notice
result2 error result2 error
}) })
} }
fake.getReturnsOnCall[i] = struct { fake.getReturnsOnCall[i] = struct {
result1 *admindb.Notice result1 *roomdb.Notice
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakePinnedNoticesService) List(arg1 context.Context) (admindb.PinnedNotices, error) { func (fake *FakePinnedNoticesService) List(arg1 context.Context) (roomdb.PinnedNotices, error) {
fake.listMutex.Lock() fake.listMutex.Lock()
ret, specificReturn := fake.listReturnsOnCall[len(fake.listArgsForCall)] ret, specificReturn := fake.listReturnsOnCall[len(fake.listArgsForCall)]
fake.listArgsForCall = append(fake.listArgsForCall, struct { fake.listArgsForCall = append(fake.listArgsForCall, struct {
@ -145,7 +145,7 @@ func (fake *FakePinnedNoticesService) ListCallCount() int {
return len(fake.listArgsForCall) return len(fake.listArgsForCall)
} }
func (fake *FakePinnedNoticesService) ListCalls(stub func(context.Context) (admindb.PinnedNotices, error)) { func (fake *FakePinnedNoticesService) ListCalls(stub func(context.Context) (roomdb.PinnedNotices, error)) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = stub fake.ListStub = stub
@ -158,38 +158,38 @@ func (fake *FakePinnedNoticesService) ListArgsForCall(i int) context.Context {
return argsForCall.arg1 return argsForCall.arg1
} }
func (fake *FakePinnedNoticesService) ListReturns(result1 admindb.PinnedNotices, result2 error) { func (fake *FakePinnedNoticesService) ListReturns(result1 roomdb.PinnedNotices, result2 error) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = nil fake.ListStub = nil
fake.listReturns = struct { fake.listReturns = struct {
result1 admindb.PinnedNotices result1 roomdb.PinnedNotices
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakePinnedNoticesService) ListReturnsOnCall(i int, result1 admindb.PinnedNotices, result2 error) { func (fake *FakePinnedNoticesService) ListReturnsOnCall(i int, result1 roomdb.PinnedNotices, result2 error) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = nil fake.ListStub = nil
if fake.listReturnsOnCall == nil { if fake.listReturnsOnCall == nil {
fake.listReturnsOnCall = make(map[int]struct { fake.listReturnsOnCall = make(map[int]struct {
result1 admindb.PinnedNotices result1 roomdb.PinnedNotices
result2 error result2 error
}) })
} }
fake.listReturnsOnCall[i] = struct { fake.listReturnsOnCall[i] = struct {
result1 admindb.PinnedNotices result1 roomdb.PinnedNotices
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakePinnedNoticesService) Set(arg1 context.Context, arg2 admindb.PinnedNoticeName, arg3 int64) error { func (fake *FakePinnedNoticesService) Set(arg1 context.Context, arg2 roomdb.PinnedNoticeName, arg3 int64) error {
fake.setMutex.Lock() fake.setMutex.Lock()
ret, specificReturn := fake.setReturnsOnCall[len(fake.setArgsForCall)] ret, specificReturn := fake.setReturnsOnCall[len(fake.setArgsForCall)]
fake.setArgsForCall = append(fake.setArgsForCall, struct { fake.setArgsForCall = append(fake.setArgsForCall, struct {
arg1 context.Context arg1 context.Context
arg2 admindb.PinnedNoticeName arg2 roomdb.PinnedNoticeName
arg3 int64 arg3 int64
}{arg1, arg2, arg3}) }{arg1, arg2, arg3})
stub := fake.SetStub stub := fake.SetStub
@ -211,13 +211,13 @@ func (fake *FakePinnedNoticesService) SetCallCount() int {
return len(fake.setArgsForCall) return len(fake.setArgsForCall)
} }
func (fake *FakePinnedNoticesService) SetCalls(stub func(context.Context, admindb.PinnedNoticeName, int64) error) { func (fake *FakePinnedNoticesService) SetCalls(stub func(context.Context, roomdb.PinnedNoticeName, int64) error) {
fake.setMutex.Lock() fake.setMutex.Lock()
defer fake.setMutex.Unlock() defer fake.setMutex.Unlock()
fake.SetStub = stub fake.SetStub = stub
} }
func (fake *FakePinnedNoticesService) SetArgsForCall(i int) (context.Context, admindb.PinnedNoticeName, int64) { func (fake *FakePinnedNoticesService) SetArgsForCall(i int) (context.Context, roomdb.PinnedNoticeName, int64) {
fake.setMutex.RLock() fake.setMutex.RLock()
defer fake.setMutex.RUnlock() defer fake.setMutex.RUnlock()
argsForCall := fake.setArgsForCall[i] argsForCall := fake.setArgsForCall[i]
@ -275,4 +275,4 @@ func (fake *FakePinnedNoticesService) recordInvocation(key string, args []interf
fake.invocations[key] = append(fake.invocations[key], args) fake.invocations[key] = append(fake.invocations[key], args)
} }
var _ admindb.PinnedNoticesService = new(FakePinnedNoticesService) var _ roomdb.PinnedNoticesService = new(FakePinnedNoticesService)

View File

@ -5,12 +5,12 @@ import (
"context" "context"
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
) )
type FakeInviteService struct { type FakeInviteService struct {
ConsumeStub func(context.Context, string, refs.FeedRef) (admindb.Invite, error) ConsumeStub func(context.Context, string, refs.FeedRef) (roomdb.Invite, error)
consumeMutex sync.RWMutex consumeMutex sync.RWMutex
consumeArgsForCall []struct { consumeArgsForCall []struct {
arg1 context.Context arg1 context.Context
@ -18,11 +18,11 @@ type FakeInviteService struct {
arg3 refs.FeedRef arg3 refs.FeedRef
} }
consumeReturns struct { consumeReturns struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
} }
consumeReturnsOnCall map[int]struct { consumeReturnsOnCall map[int]struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
} }
CreateStub func(context.Context, int64, string) (string, error) CreateStub func(context.Context, int64, string) (string, error)
@ -40,45 +40,45 @@ type FakeInviteService struct {
result1 string result1 string
result2 error result2 error
} }
GetByIDStub func(context.Context, int64) (admindb.Invite, error) GetByIDStub func(context.Context, int64) (roomdb.Invite, error)
getByIDMutex sync.RWMutex getByIDMutex sync.RWMutex
getByIDArgsForCall []struct { getByIDArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 int64 arg2 int64
} }
getByIDReturns struct { getByIDReturns struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
} }
getByIDReturnsOnCall map[int]struct { getByIDReturnsOnCall map[int]struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
} }
GetByTokenStub func(context.Context, string) (admindb.Invite, error) GetByTokenStub func(context.Context, string) (roomdb.Invite, error)
getByTokenMutex sync.RWMutex getByTokenMutex sync.RWMutex
getByTokenArgsForCall []struct { getByTokenArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 string arg2 string
} }
getByTokenReturns struct { getByTokenReturns struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
} }
getByTokenReturnsOnCall map[int]struct { getByTokenReturnsOnCall map[int]struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
} }
ListStub func(context.Context) ([]admindb.Invite, error) ListStub func(context.Context) ([]roomdb.Invite, error)
listMutex sync.RWMutex listMutex sync.RWMutex
listArgsForCall []struct { listArgsForCall []struct {
arg1 context.Context arg1 context.Context
} }
listReturns struct { listReturns struct {
result1 []admindb.Invite result1 []roomdb.Invite
result2 error result2 error
} }
listReturnsOnCall map[int]struct { listReturnsOnCall map[int]struct {
result1 []admindb.Invite result1 []roomdb.Invite
result2 error result2 error
} }
RevokeStub func(context.Context, int64) error RevokeStub func(context.Context, int64) error
@ -97,7 +97,7 @@ type FakeInviteService struct {
invocationsMutex sync.RWMutex invocationsMutex sync.RWMutex
} }
func (fake *FakeInviteService) Consume(arg1 context.Context, arg2 string, arg3 refs.FeedRef) (admindb.Invite, error) { func (fake *FakeInviteService) Consume(arg1 context.Context, arg2 string, arg3 refs.FeedRef) (roomdb.Invite, error) {
fake.consumeMutex.Lock() fake.consumeMutex.Lock()
ret, specificReturn := fake.consumeReturnsOnCall[len(fake.consumeArgsForCall)] ret, specificReturn := fake.consumeReturnsOnCall[len(fake.consumeArgsForCall)]
fake.consumeArgsForCall = append(fake.consumeArgsForCall, struct { fake.consumeArgsForCall = append(fake.consumeArgsForCall, struct {
@ -124,7 +124,7 @@ func (fake *FakeInviteService) ConsumeCallCount() int {
return len(fake.consumeArgsForCall) return len(fake.consumeArgsForCall)
} }
func (fake *FakeInviteService) ConsumeCalls(stub func(context.Context, string, refs.FeedRef) (admindb.Invite, error)) { func (fake *FakeInviteService) ConsumeCalls(stub func(context.Context, string, refs.FeedRef) (roomdb.Invite, error)) {
fake.consumeMutex.Lock() fake.consumeMutex.Lock()
defer fake.consumeMutex.Unlock() defer fake.consumeMutex.Unlock()
fake.ConsumeStub = stub fake.ConsumeStub = stub
@ -137,28 +137,28 @@ func (fake *FakeInviteService) ConsumeArgsForCall(i int) (context.Context, strin
return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3 return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3
} }
func (fake *FakeInviteService) ConsumeReturns(result1 admindb.Invite, result2 error) { func (fake *FakeInviteService) ConsumeReturns(result1 roomdb.Invite, result2 error) {
fake.consumeMutex.Lock() fake.consumeMutex.Lock()
defer fake.consumeMutex.Unlock() defer fake.consumeMutex.Unlock()
fake.ConsumeStub = nil fake.ConsumeStub = nil
fake.consumeReturns = struct { fake.consumeReturns = struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeInviteService) ConsumeReturnsOnCall(i int, result1 admindb.Invite, result2 error) { func (fake *FakeInviteService) ConsumeReturnsOnCall(i int, result1 roomdb.Invite, result2 error) {
fake.consumeMutex.Lock() fake.consumeMutex.Lock()
defer fake.consumeMutex.Unlock() defer fake.consumeMutex.Unlock()
fake.ConsumeStub = nil fake.ConsumeStub = nil
if fake.consumeReturnsOnCall == nil { if fake.consumeReturnsOnCall == nil {
fake.consumeReturnsOnCall = make(map[int]struct { fake.consumeReturnsOnCall = make(map[int]struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}) })
} }
fake.consumeReturnsOnCall[i] = struct { fake.consumeReturnsOnCall[i] = struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
@ -229,7 +229,7 @@ func (fake *FakeInviteService) CreateReturnsOnCall(i int, result1 string, result
}{result1, result2} }{result1, result2}
} }
func (fake *FakeInviteService) GetByID(arg1 context.Context, arg2 int64) (admindb.Invite, error) { func (fake *FakeInviteService) GetByID(arg1 context.Context, arg2 int64) (roomdb.Invite, error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)] ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)]
fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct { fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct {
@ -255,7 +255,7 @@ func (fake *FakeInviteService) GetByIDCallCount() int {
return len(fake.getByIDArgsForCall) return len(fake.getByIDArgsForCall)
} }
func (fake *FakeInviteService) GetByIDCalls(stub func(context.Context, int64) (admindb.Invite, error)) { func (fake *FakeInviteService) GetByIDCalls(stub func(context.Context, int64) (roomdb.Invite, error)) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = stub fake.GetByIDStub = stub
@ -268,33 +268,33 @@ func (fake *FakeInviteService) GetByIDArgsForCall(i int) (context.Context, int64
return argsForCall.arg1, argsForCall.arg2 return argsForCall.arg1, argsForCall.arg2
} }
func (fake *FakeInviteService) GetByIDReturns(result1 admindb.Invite, result2 error) { func (fake *FakeInviteService) GetByIDReturns(result1 roomdb.Invite, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
fake.getByIDReturns = struct { fake.getByIDReturns = struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeInviteService) GetByIDReturnsOnCall(i int, result1 admindb.Invite, result2 error) { func (fake *FakeInviteService) GetByIDReturnsOnCall(i int, result1 roomdb.Invite, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
if fake.getByIDReturnsOnCall == nil { if fake.getByIDReturnsOnCall == nil {
fake.getByIDReturnsOnCall = make(map[int]struct { fake.getByIDReturnsOnCall = make(map[int]struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}) })
} }
fake.getByIDReturnsOnCall[i] = struct { fake.getByIDReturnsOnCall[i] = struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeInviteService) GetByToken(arg1 context.Context, arg2 string) (admindb.Invite, error) { func (fake *FakeInviteService) GetByToken(arg1 context.Context, arg2 string) (roomdb.Invite, error) {
fake.getByTokenMutex.Lock() fake.getByTokenMutex.Lock()
ret, specificReturn := fake.getByTokenReturnsOnCall[len(fake.getByTokenArgsForCall)] ret, specificReturn := fake.getByTokenReturnsOnCall[len(fake.getByTokenArgsForCall)]
fake.getByTokenArgsForCall = append(fake.getByTokenArgsForCall, struct { fake.getByTokenArgsForCall = append(fake.getByTokenArgsForCall, struct {
@ -320,7 +320,7 @@ func (fake *FakeInviteService) GetByTokenCallCount() int {
return len(fake.getByTokenArgsForCall) return len(fake.getByTokenArgsForCall)
} }
func (fake *FakeInviteService) GetByTokenCalls(stub func(context.Context, string) (admindb.Invite, error)) { func (fake *FakeInviteService) GetByTokenCalls(stub func(context.Context, string) (roomdb.Invite, error)) {
fake.getByTokenMutex.Lock() fake.getByTokenMutex.Lock()
defer fake.getByTokenMutex.Unlock() defer fake.getByTokenMutex.Unlock()
fake.GetByTokenStub = stub fake.GetByTokenStub = stub
@ -333,33 +333,33 @@ func (fake *FakeInviteService) GetByTokenArgsForCall(i int) (context.Context, st
return argsForCall.arg1, argsForCall.arg2 return argsForCall.arg1, argsForCall.arg2
} }
func (fake *FakeInviteService) GetByTokenReturns(result1 admindb.Invite, result2 error) { func (fake *FakeInviteService) GetByTokenReturns(result1 roomdb.Invite, result2 error) {
fake.getByTokenMutex.Lock() fake.getByTokenMutex.Lock()
defer fake.getByTokenMutex.Unlock() defer fake.getByTokenMutex.Unlock()
fake.GetByTokenStub = nil fake.GetByTokenStub = nil
fake.getByTokenReturns = struct { fake.getByTokenReturns = struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeInviteService) GetByTokenReturnsOnCall(i int, result1 admindb.Invite, result2 error) { func (fake *FakeInviteService) GetByTokenReturnsOnCall(i int, result1 roomdb.Invite, result2 error) {
fake.getByTokenMutex.Lock() fake.getByTokenMutex.Lock()
defer fake.getByTokenMutex.Unlock() defer fake.getByTokenMutex.Unlock()
fake.GetByTokenStub = nil fake.GetByTokenStub = nil
if fake.getByTokenReturnsOnCall == nil { if fake.getByTokenReturnsOnCall == nil {
fake.getByTokenReturnsOnCall = make(map[int]struct { fake.getByTokenReturnsOnCall = make(map[int]struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}) })
} }
fake.getByTokenReturnsOnCall[i] = struct { fake.getByTokenReturnsOnCall[i] = struct {
result1 admindb.Invite result1 roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeInviteService) List(arg1 context.Context) ([]admindb.Invite, error) { func (fake *FakeInviteService) List(arg1 context.Context) ([]roomdb.Invite, error) {
fake.listMutex.Lock() fake.listMutex.Lock()
ret, specificReturn := fake.listReturnsOnCall[len(fake.listArgsForCall)] ret, specificReturn := fake.listReturnsOnCall[len(fake.listArgsForCall)]
fake.listArgsForCall = append(fake.listArgsForCall, struct { fake.listArgsForCall = append(fake.listArgsForCall, struct {
@ -384,7 +384,7 @@ func (fake *FakeInviteService) ListCallCount() int {
return len(fake.listArgsForCall) return len(fake.listArgsForCall)
} }
func (fake *FakeInviteService) ListCalls(stub func(context.Context) ([]admindb.Invite, error)) { func (fake *FakeInviteService) ListCalls(stub func(context.Context) ([]roomdb.Invite, error)) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = stub fake.ListStub = stub
@ -397,28 +397,28 @@ func (fake *FakeInviteService) ListArgsForCall(i int) context.Context {
return argsForCall.arg1 return argsForCall.arg1
} }
func (fake *FakeInviteService) ListReturns(result1 []admindb.Invite, result2 error) { func (fake *FakeInviteService) ListReturns(result1 []roomdb.Invite, result2 error) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = nil fake.ListStub = nil
fake.listReturns = struct { fake.listReturns = struct {
result1 []admindb.Invite result1 []roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeInviteService) ListReturnsOnCall(i int, result1 []admindb.Invite, result2 error) { func (fake *FakeInviteService) ListReturnsOnCall(i int, result1 []roomdb.Invite, result2 error) {
fake.listMutex.Lock() fake.listMutex.Lock()
defer fake.listMutex.Unlock() defer fake.listMutex.Unlock()
fake.ListStub = nil fake.ListStub = nil
if fake.listReturnsOnCall == nil { if fake.listReturnsOnCall == nil {
fake.listReturnsOnCall = make(map[int]struct { fake.listReturnsOnCall = make(map[int]struct {
result1 []admindb.Invite result1 []roomdb.Invite
result2 error result2 error
}) })
} }
fake.listReturnsOnCall[i] = struct { fake.listReturnsOnCall[i] = struct {
result1 []admindb.Invite result1 []roomdb.Invite
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
@ -519,4 +519,4 @@ func (fake *FakeInviteService) recordInvocation(key string, args []interface{})
fake.invocations[key] = append(fake.invocations[key], args) fake.invocations[key] = append(fake.invocations[key], args)
} }
var _ admindb.InviteService = new(FakeInviteService) var _ roomdb.InviteService = new(FakeInviteService)

View File

@ -5,22 +5,22 @@ import (
"context" "context"
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
type FakeNoticesService struct { type FakeNoticesService struct {
GetByIDStub func(context.Context, int64) (admindb.Notice, error) GetByIDStub func(context.Context, int64) (roomdb.Notice, error)
getByIDMutex sync.RWMutex getByIDMutex sync.RWMutex
getByIDArgsForCall []struct { getByIDArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 int64 arg2 int64
} }
getByIDReturns struct { getByIDReturns struct {
result1 admindb.Notice result1 roomdb.Notice
result2 error result2 error
} }
getByIDReturnsOnCall map[int]struct { getByIDReturnsOnCall map[int]struct {
result1 admindb.Notice result1 roomdb.Notice
result2 error result2 error
} }
RemoveIDStub func(context.Context, int64) error RemoveIDStub func(context.Context, int64) error
@ -35,11 +35,11 @@ type FakeNoticesService struct {
removeIDReturnsOnCall map[int]struct { removeIDReturnsOnCall map[int]struct {
result1 error result1 error
} }
SaveStub func(context.Context, *admindb.Notice) error SaveStub func(context.Context, *roomdb.Notice) error
saveMutex sync.RWMutex saveMutex sync.RWMutex
saveArgsForCall []struct { saveArgsForCall []struct {
arg1 context.Context arg1 context.Context
arg2 *admindb.Notice arg2 *roomdb.Notice
} }
saveReturns struct { saveReturns struct {
result1 error result1 error
@ -51,7 +51,7 @@ type FakeNoticesService struct {
invocationsMutex sync.RWMutex invocationsMutex sync.RWMutex
} }
func (fake *FakeNoticesService) GetByID(arg1 context.Context, arg2 int64) (admindb.Notice, error) { func (fake *FakeNoticesService) GetByID(arg1 context.Context, arg2 int64) (roomdb.Notice, error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)] ret, specificReturn := fake.getByIDReturnsOnCall[len(fake.getByIDArgsForCall)]
fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct { fake.getByIDArgsForCall = append(fake.getByIDArgsForCall, struct {
@ -77,7 +77,7 @@ func (fake *FakeNoticesService) GetByIDCallCount() int {
return len(fake.getByIDArgsForCall) return len(fake.getByIDArgsForCall)
} }
func (fake *FakeNoticesService) GetByIDCalls(stub func(context.Context, int64) (admindb.Notice, error)) { func (fake *FakeNoticesService) GetByIDCalls(stub func(context.Context, int64) (roomdb.Notice, error)) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = stub fake.GetByIDStub = stub
@ -90,28 +90,28 @@ func (fake *FakeNoticesService) GetByIDArgsForCall(i int) (context.Context, int6
return argsForCall.arg1, argsForCall.arg2 return argsForCall.arg1, argsForCall.arg2
} }
func (fake *FakeNoticesService) GetByIDReturns(result1 admindb.Notice, result2 error) { func (fake *FakeNoticesService) GetByIDReturns(result1 roomdb.Notice, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
fake.getByIDReturns = struct { fake.getByIDReturns = struct {
result1 admindb.Notice result1 roomdb.Notice
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
func (fake *FakeNoticesService) GetByIDReturnsOnCall(i int, result1 admindb.Notice, result2 error) { func (fake *FakeNoticesService) GetByIDReturnsOnCall(i int, result1 roomdb.Notice, result2 error) {
fake.getByIDMutex.Lock() fake.getByIDMutex.Lock()
defer fake.getByIDMutex.Unlock() defer fake.getByIDMutex.Unlock()
fake.GetByIDStub = nil fake.GetByIDStub = nil
if fake.getByIDReturnsOnCall == nil { if fake.getByIDReturnsOnCall == nil {
fake.getByIDReturnsOnCall = make(map[int]struct { fake.getByIDReturnsOnCall = make(map[int]struct {
result1 admindb.Notice result1 roomdb.Notice
result2 error result2 error
}) })
} }
fake.getByIDReturnsOnCall[i] = struct { fake.getByIDReturnsOnCall[i] = struct {
result1 admindb.Notice result1 roomdb.Notice
result2 error result2 error
}{result1, result2} }{result1, result2}
} }
@ -178,12 +178,12 @@ func (fake *FakeNoticesService) RemoveIDReturnsOnCall(i int, result1 error) {
}{result1} }{result1}
} }
func (fake *FakeNoticesService) Save(arg1 context.Context, arg2 *admindb.Notice) error { func (fake *FakeNoticesService) Save(arg1 context.Context, arg2 *roomdb.Notice) error {
fake.saveMutex.Lock() fake.saveMutex.Lock()
ret, specificReturn := fake.saveReturnsOnCall[len(fake.saveArgsForCall)] ret, specificReturn := fake.saveReturnsOnCall[len(fake.saveArgsForCall)]
fake.saveArgsForCall = append(fake.saveArgsForCall, struct { fake.saveArgsForCall = append(fake.saveArgsForCall, struct {
arg1 context.Context arg1 context.Context
arg2 *admindb.Notice arg2 *roomdb.Notice
}{arg1, arg2}) }{arg1, arg2})
stub := fake.SaveStub stub := fake.SaveStub
fakeReturns := fake.saveReturns fakeReturns := fake.saveReturns
@ -204,13 +204,13 @@ func (fake *FakeNoticesService) SaveCallCount() int {
return len(fake.saveArgsForCall) return len(fake.saveArgsForCall)
} }
func (fake *FakeNoticesService) SaveCalls(stub func(context.Context, *admindb.Notice) error) { func (fake *FakeNoticesService) SaveCalls(stub func(context.Context, *roomdb.Notice) error) {
fake.saveMutex.Lock() fake.saveMutex.Lock()
defer fake.saveMutex.Unlock() defer fake.saveMutex.Unlock()
fake.SaveStub = stub fake.SaveStub = stub
} }
func (fake *FakeNoticesService) SaveArgsForCall(i int) (context.Context, *admindb.Notice) { func (fake *FakeNoticesService) SaveArgsForCall(i int) (context.Context, *roomdb.Notice) {
fake.saveMutex.RLock() fake.saveMutex.RLock()
defer fake.saveMutex.RUnlock() defer fake.saveMutex.RUnlock()
argsForCall := fake.saveArgsForCall[i] argsForCall := fake.saveArgsForCall[i]
@ -268,4 +268,4 @@ func (fake *FakeNoticesService) recordInvocation(key string, args []interface{})
fake.invocations[key] = append(fake.invocations[key], args) fake.invocations[key] = append(fake.invocations[key], args)
} }
var _ admindb.NoticesService = new(FakeNoticesService) var _ roomdb.NoticesService = new(FakeNoticesService)

View File

@ -5,11 +5,11 @@ package sqlite
import ( import (
"database/sql" "database/sql"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
// compiler assertion to ensure the struct fullfills the interface // compiler assertion to ensure the struct fullfills the interface
var _ admindb.AliasService = (*Aliases)(nil) var _ roomdb.AliasService = (*Aliases)(nil)
type Aliases struct { type Aliases struct {
db *sql.DB db *sql.DB

View File

@ -11,14 +11,14 @@ import (
"golang.org/x/crypto/bcrypt" "golang.org/x/crypto/bcrypt"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite/models" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite/models"
"github.com/volatiletech/sqlboiler/v4/queries/qm" "github.com/volatiletech/sqlboiler/v4/queries/qm"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
// compiler assertion to ensure the struct fullfills the interface // compiler assertion to ensure the struct fullfills the interface
var _ admindb.AuthFallbackService = (*AuthFallback)(nil) var _ roomdb.AuthFallbackService = (*AuthFallback)(nil)
type AuthFallback struct { type AuthFallback struct {
db *sql.DB db *sql.DB
@ -58,12 +58,12 @@ func (ah AuthFallback) Create(ctx context.Context, name string, password []byte)
return u.ID, nil return u.ID, nil
} }
func (ah AuthFallback) GetByID(ctx context.Context, uid int64) (*admindb.User, error) { func (ah AuthFallback) GetByID(ctx context.Context, uid int64) (*roomdb.User, error) {
modelU, err := models.FindAuthFallback(ctx, ah.db, uid) modelU, err := models.FindAuthFallback(ctx, ah.db, uid)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return &admindb.User{ return &roomdb.User{
ID: modelU.ID, ID: modelU.ID,
Name: modelU.Name, Name: modelU.Name,
}, nil }, nil

View File

@ -5,11 +5,11 @@ package sqlite
import ( import (
"database/sql" "database/sql"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
// compiler assertion to ensure the struct fullfills the interface // compiler assertion to ensure the struct fullfills the interface
var _ admindb.AuthWithSSBService = (*AuthWithSSB)(nil) var _ roomdb.AuthWithSSBService = (*AuthWithSSB)(nil)
type AuthWithSSB struct { type AuthWithSSB struct {
db *sql.DB db *sql.DB

View File

@ -13,15 +13,15 @@ import (
"github.com/volatiletech/sqlboiler/v4/boil" "github.com/volatiletech/sqlboiler/v4/boil"
"github.com/volatiletech/sqlboiler/v4/queries/qm" "github.com/volatiletech/sqlboiler/v4/queries/qm"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite/models" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite/models"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
) )
// compiler assertion to ensure the struct fullfills the interface // compiler assertion to ensure the struct fullfills the interface
var _ admindb.InviteService = (*Invites)(nil) var _ roomdb.InviteService = (*Invites)(nil)
// Invites implements the admindb.InviteService. // Invites implements the roomdb.InviteService.
// Tokens are stored as sha256 hashes on disk to protect against attackers gaining database read-access. // Tokens are stored as sha256 hashes on disk to protect against attackers gaining database read-access.
type Invites struct { type Invites struct {
db *sql.DB db *sql.DB
@ -85,8 +85,8 @@ func (i Invites) Create(ctx context.Context, createdBy int64, aliasSuggestion st
// Consume checks if the passed token is still valid. If it is it adds newMember to the members of the room and invalidates the token. // Consume checks if the passed token is still valid. If it is it adds newMember to the members of the room and invalidates the token.
// If the token isn't valid, it returns an error. // If the token isn't valid, it returns an error.
// Tokens need to be base64 URL encoded and when decoded be of tokenLength. // Tokens need to be base64 URL encoded and when decoded be of tokenLength.
func (i Invites) Consume(ctx context.Context, token string, newMember refs.FeedRef) (admindb.Invite, error) { func (i Invites) Consume(ctx context.Context, token string, newMember refs.FeedRef) (roomdb.Invite, error) {
var inv admindb.Invite var inv roomdb.Invite
hashedToken, err := getHashedToken(token) hashedToken, err := getHashedToken(token)
if err != nil { if err != nil {
@ -124,7 +124,7 @@ func (i Invites) Consume(ctx context.Context, token string, newMember refs.FeedR
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return inv, admindb.ErrNotFound return inv, roomdb.ErrNotFound
} }
return inv, err return inv, err
} }
@ -142,8 +142,8 @@ func deleteConsumedInvites(tx boil.ContextExecutor) error {
return nil return nil
} }
func (i Invites) GetByToken(ctx context.Context, token string) (admindb.Invite, error) { func (i Invites) GetByToken(ctx context.Context, token string) (roomdb.Invite, error) {
var inv admindb.Invite var inv roomdb.Invite
ht, err := getHashedToken(token) ht, err := getHashedToken(token)
if err != nil { if err != nil {
@ -156,7 +156,7 @@ func (i Invites) GetByToken(ctx context.Context, token string) (admindb.Invite,
).One(ctx, i.db) ).One(ctx, i.db)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return inv, admindb.ErrNotFound return inv, roomdb.ErrNotFound
} }
return inv, err return inv, err
} }
@ -169,8 +169,8 @@ func (i Invites) GetByToken(ctx context.Context, token string) (admindb.Invite,
return inv, nil return inv, nil
} }
func (i Invites) GetByID(ctx context.Context, id int64) (admindb.Invite, error) { func (i Invites) GetByID(ctx context.Context, id int64) (roomdb.Invite, error) {
var inv admindb.Invite var inv roomdb.Invite
entry, err := models.Invites( entry, err := models.Invites(
qm.Where("active = true AND id = ?", id), qm.Where("active = true AND id = ?", id),
@ -178,7 +178,7 @@ func (i Invites) GetByID(ctx context.Context, id int64) (admindb.Invite, error)
).One(ctx, i.db) ).One(ctx, i.db)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return inv, admindb.ErrNotFound return inv, roomdb.ErrNotFound
} }
return inv, err return inv, err
} }
@ -192,8 +192,8 @@ func (i Invites) GetByID(ctx context.Context, id int64) (admindb.Invite, error)
} }
// List returns a list of all the valid invites // List returns a list of all the valid invites
func (i Invites) List(ctx context.Context) ([]admindb.Invite, error) { func (i Invites) List(ctx context.Context) ([]roomdb.Invite, error) {
var invs []admindb.Invite var invs []roomdb.Invite
err := transact(i.db, func(tx *sql.Tx) error { err := transact(i.db, func(tx *sql.Tx) error {
entries, err := models.Invites( entries, err := models.Invites(
@ -204,9 +204,9 @@ func (i Invites) List(ctx context.Context) ([]admindb.Invite, error) {
return err return err
} }
invs = make([]admindb.Invite, len(entries)) invs = make([]roomdb.Invite, len(entries))
for i, e := range entries { for i, e := range entries {
var inv admindb.Invite var inv roomdb.Invite
inv.ID = e.ID inv.ID = e.ID
inv.AliasSuggestion = e.AliasSuggestion inv.AliasSuggestion = e.AliasSuggestion
inv.CreatedBy.ID = e.R.CreatedByAuthFallback.ID inv.CreatedBy.ID = e.R.CreatedByAuthFallback.ID
@ -232,7 +232,7 @@ func (i Invites) Revoke(ctx context.Context, id int64) error {
).One(ctx, tx) ).One(ctx, tx)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return admindb.ErrNotFound return roomdb.ErrNotFound
} }
return err return err
} }

View File

@ -9,8 +9,9 @@ import (
"path/filepath" "path/filepath"
"testing" "testing"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
) )

View File

@ -13,7 +13,7 @@ import (
"time" "time"
"github.com/friendsofgo/errors" "github.com/friendsofgo/errors"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/volatiletech/sqlboiler/v4/boil" "github.com/volatiletech/sqlboiler/v4/boil"
"github.com/volatiletech/sqlboiler/v4/queries" "github.com/volatiletech/sqlboiler/v4/queries"
"github.com/volatiletech/sqlboiler/v4/queries/qm" "github.com/volatiletech/sqlboiler/v4/queries/qm"
@ -24,7 +24,7 @@ import (
// AllowList is an object representing the database table. // AllowList is an object representing the database table.
type AllowList struct { type AllowList struct {
ID int64 `boil:"id" json:"id" toml:"id" yaml:"id"` ID int64 `boil:"id" json:"id" toml:"id" yaml:"id"`
PubKey admindb.DBFeedRef `boil:"pub_key" json:"pub_key" toml:"pub_key" yaml:"pub_key"` PubKey roomdb.DBFeedRef `boil:"pub_key" json:"pub_key" toml:"pub_key" yaml:"pub_key"`
R *allowListR `boil:"-" json:"-" toml:"-" yaml:"-"` R *allowListR `boil:"-" json:"-" toml:"-" yaml:"-"`
L allowListL `boil:"-" json:"-" toml:"-" yaml:"-"` L allowListL `boil:"-" json:"-" toml:"-" yaml:"-"`
@ -65,22 +65,22 @@ func (w whereHelperint64) NIN(slice []int64) qm.QueryMod {
type whereHelperadmindb_DBFeedRef struct{ field string } type whereHelperadmindb_DBFeedRef struct{ field string }
func (w whereHelperadmindb_DBFeedRef) EQ(x admindb.DBFeedRef) qm.QueryMod { func (w whereHelperadmindb_DBFeedRef) EQ(x roomdb.DBFeedRef) qm.QueryMod {
return qmhelper.Where(w.field, qmhelper.EQ, x) return qmhelper.Where(w.field, qmhelper.EQ, x)
} }
func (w whereHelperadmindb_DBFeedRef) NEQ(x admindb.DBFeedRef) qm.QueryMod { func (w whereHelperadmindb_DBFeedRef) NEQ(x roomdb.DBFeedRef) qm.QueryMod {
return qmhelper.Where(w.field, qmhelper.NEQ, x) return qmhelper.Where(w.field, qmhelper.NEQ, x)
} }
func (w whereHelperadmindb_DBFeedRef) LT(x admindb.DBFeedRef) qm.QueryMod { func (w whereHelperadmindb_DBFeedRef) LT(x roomdb.DBFeedRef) qm.QueryMod {
return qmhelper.Where(w.field, qmhelper.LT, x) return qmhelper.Where(w.field, qmhelper.LT, x)
} }
func (w whereHelperadmindb_DBFeedRef) LTE(x admindb.DBFeedRef) qm.QueryMod { func (w whereHelperadmindb_DBFeedRef) LTE(x roomdb.DBFeedRef) qm.QueryMod {
return qmhelper.Where(w.field, qmhelper.LTE, x) return qmhelper.Where(w.field, qmhelper.LTE, x)
} }
func (w whereHelperadmindb_DBFeedRef) GT(x admindb.DBFeedRef) qm.QueryMod { func (w whereHelperadmindb_DBFeedRef) GT(x roomdb.DBFeedRef) qm.QueryMod {
return qmhelper.Where(w.field, qmhelper.GT, x) return qmhelper.Where(w.field, qmhelper.GT, x)
} }
func (w whereHelperadmindb_DBFeedRef) GTE(x admindb.DBFeedRef) qm.QueryMod { func (w whereHelperadmindb_DBFeedRef) GTE(x roomdb.DBFeedRef) qm.QueryMod {
return qmhelper.Where(w.field, qmhelper.GTE, x) return qmhelper.Where(w.field, qmhelper.GTE, x)
} }

View File

@ -26,23 +26,23 @@ import (
migrate "github.com/rubenv/sql-migrate" migrate "github.com/rubenv/sql-migrate"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
) )
type Database struct { type Database struct {
db *sql.DB db *sql.DB
AuthWithSSB admindb.AuthWithSSBService AuthWithSSB roomdb.AuthWithSSBService
AuthFallback admindb.AuthFallbackService AuthFallback roomdb.AuthFallbackService
AllowList admindb.AllowListService AllowList roomdb.AllowListService
Aliases admindb.AliasService Aliases roomdb.AliasService
PinnedNotices admindb.PinnedNoticesService PinnedNotices roomdb.PinnedNoticesService
Notices admindb.NoticesService Notices roomdb.NoticesService
Invites admindb.InviteService Invites roomdb.InviteService
} }
// Open looks for a database file 'fname' // Open looks for a database file 'fname'

View File

@ -9,19 +9,19 @@ import (
"github.com/volatiletech/sqlboiler/v4/boil" "github.com/volatiletech/sqlboiler/v4/boil"
"github.com/volatiletech/sqlboiler/v4/queries/qm" "github.com/volatiletech/sqlboiler/v4/queries/qm"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite/models" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite/models"
) )
// compiler assertion to ensure the struct fullfills the interface // compiler assertion to ensure the struct fullfills the interface
var _ admindb.PinnedNoticesService = (*PinnedNotices)(nil) var _ roomdb.PinnedNoticesService = (*PinnedNotices)(nil)
type PinnedNotices struct { type PinnedNotices struct {
db *sql.DB db *sql.DB
} }
// List returns a sortable map of all the pinned notices // List returns a sortable map of all the pinned notices
func (pn PinnedNotices) List(ctx context.Context) (admindb.PinnedNotices, error) { func (pn PinnedNotices) List(ctx context.Context) (roomdb.PinnedNotices, error) {
// get all the pins and eager-load the related notices // get all the pins and eager-load the related notices
lst, err := models.Pins(qm.Load("Notices")).All(ctx, pn.db) lst, err := models.Pins(qm.Load("Notices")).All(ctx, pn.db)
@ -30,7 +30,7 @@ func (pn PinnedNotices) List(ctx context.Context) (admindb.PinnedNotices, error)
} }
// prepare a map for them // prepare a map for them
var pinnedMap = make(admindb.PinnedNotices, len(lst)) var pinnedMap = make(roomdb.PinnedNotices, len(lst))
for _, entry := range lst { for _, entry := range lst {
@ -40,17 +40,17 @@ func (pn PinnedNotices) List(ctx context.Context) (admindb.PinnedNotices, error)
continue continue
} }
name := admindb.PinnedNoticeName(entry.Name) name := roomdb.PinnedNoticeName(entry.Name)
// get the exisint map entry or create a new slice // get the exisint map entry or create a new slice
notices, has := pinnedMap[name] notices, has := pinnedMap[name]
if !has { if !has {
notices = make([]admindb.Notice, 0, noticeCount) notices = make([]roomdb.Notice, 0, noticeCount)
} }
// add all the related notice to the slice // add all the related notice to the slice
for _, n := range entry.R.Notices { for _, n := range entry.R.Notices {
relatedNotice := admindb.Notice{ relatedNotice := roomdb.Notice{
ID: n.ID, ID: n.ID,
Title: n.Title, Title: n.Title,
Content: n.Content, Content: n.Content,
@ -66,7 +66,7 @@ func (pn PinnedNotices) List(ctx context.Context) (admindb.PinnedNotices, error)
return pinnedMap, nil return pinnedMap, nil
} }
func (pn PinnedNotices) Get(ctx context.Context, name admindb.PinnedNoticeName, lang string) (*admindb.Notice, error) { func (pn PinnedNotices) Get(ctx context.Context, name roomdb.PinnedNoticeName, lang string) (*roomdb.Notice, error) {
p, err := models.Pins( p, err := models.Pins(
qm.Where("name = ?", name), qm.Where("name = ?", name),
qm.Load("Notices", qm.Where("language = ?", lang)), qm.Load("Notices", qm.Where("language = ?", lang)),
@ -81,7 +81,7 @@ func (pn PinnedNotices) Get(ctx context.Context, name admindb.PinnedNoticeName,
modelNotice := p.R.Notices[0] modelNotice := p.R.Notices[0]
return &admindb.Notice{ return &roomdb.Notice{
ID: modelNotice.ID, ID: modelNotice.ID,
Title: modelNotice.Title, Title: modelNotice.Title,
Content: modelNotice.Content, Content: modelNotice.Content,
@ -89,7 +89,7 @@ func (pn PinnedNotices) Get(ctx context.Context, name admindb.PinnedNoticeName,
}, nil }, nil
} }
func (pn PinnedNotices) Set(ctx context.Context, name admindb.PinnedNoticeName, noticeID int64) error { func (pn PinnedNotices) Set(ctx context.Context, name roomdb.PinnedNoticeName, noticeID int64) error {
if !name.Valid() { if !name.Valid() {
return fmt.Errorf("pinned notice: invalid notice name: %s", name) return fmt.Errorf("pinned notice: invalid notice name: %s", name)
} }
@ -113,19 +113,19 @@ func (pn PinnedNotices) Set(ctx context.Context, name admindb.PinnedNoticeName,
} }
// compiler assertion to ensure the struct fullfills the interface // compiler assertion to ensure the struct fullfills the interface
var _ admindb.NoticesService = (*Notices)(nil) var _ roomdb.NoticesService = (*Notices)(nil)
type Notices struct { type Notices struct {
db *sql.DB db *sql.DB
} }
func (n Notices) GetByID(ctx context.Context, id int64) (admindb.Notice, error) { func (n Notices) GetByID(ctx context.Context, id int64) (roomdb.Notice, error) {
var notice admindb.Notice var notice roomdb.Notice
dbEntry, err := models.FindNotice(ctx, n.db, id) dbEntry, err := models.FindNotice(ctx, n.db, id)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return notice, admindb.ErrNotFound return notice, roomdb.ErrNotFound
} }
return notice, err return notice, err
} }
@ -143,7 +143,7 @@ func (n Notices) RemoveID(ctx context.Context, id int64) error {
dbEntry, err := models.FindNotice(ctx, n.db, id) dbEntry, err := models.FindNotice(ctx, n.db, id)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return admindb.ErrNotFound return roomdb.ErrNotFound
} }
return err return err
} }
@ -156,7 +156,7 @@ func (n Notices) RemoveID(ctx context.Context, id int64) error {
return nil return nil
} }
func (n Notices) Save(ctx context.Context, p *admindb.Notice) error { func (n Notices) Save(ctx context.Context, p *roomdb.Notice) error {
if p.ID == 0 { if p.ID == 0 {
var newEntry models.Notice var newEntry models.Notice
newEntry.Title = p.Title newEntry.Title = p.Title
@ -178,7 +178,7 @@ func (n Notices) Save(ctx context.Context, p *admindb.Notice) error {
_, err := existing.Update(ctx, n.db, boil.Whitelist("title", "content", "language")) _, err := existing.Update(ctx, n.db, boil.Whitelist("title", "content", "language"))
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return admindb.ErrNotFound return roomdb.ErrNotFound
} }
return err return err
} }

View File

@ -8,7 +8,7 @@ import (
"path/filepath" "path/filepath"
"testing" "testing"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@ -33,16 +33,16 @@ func TestNoticesCRUD(t *testing.T) {
_, err = db.Notices.GetByID(ctx, 9999) _, err = db.Notices.GetByID(ctx, 9999)
r.Error(err) r.Error(err)
r.EqualError(err, admindb.ErrNotFound.Error()) r.EqualError(err, roomdb.ErrNotFound.Error())
err = db.Notices.RemoveID(ctx, 9999) err = db.Notices.RemoveID(ctx, 9999)
r.Error(err) r.Error(err)
r.EqualError(err, admindb.ErrNotFound.Error()) r.EqualError(err, roomdb.ErrNotFound.Error())
}) })
t.Run("new and update", func(t *testing.T) { t.Run("new and update", func(t *testing.T) {
r := require.New(t) r := require.New(t)
var n admindb.Notice var n roomdb.Notice
n.Title = fmt.Sprintf("Test notice %d", rand.Int()) n.Title = fmt.Sprintf("Test notice %d", rand.Int())
n.Content = `# This is **not** a test!` n.Content = `# This is **not** a test!`
@ -70,7 +70,7 @@ func TestNoticesCRUD(t *testing.T) {
_, err = db.Notices.GetByID(ctx, oldID) _, err = db.Notices.GetByID(ctx, oldID)
r.Error(err) r.Error(err)
r.EqualError(err, admindb.ErrNotFound.Error()) r.EqualError(err, roomdb.ErrNotFound.Error())
}) })
} }
@ -91,15 +91,15 @@ func TestPinnedNotices(t *testing.T) {
r.NoError(err) r.NoError(err)
type expectedNotices struct { type expectedNotices struct {
Name admindb.PinnedNoticeName Name roomdb.PinnedNoticeName
Count int Count int
} }
cases := []expectedNotices{ cases := []expectedNotices{
{admindb.NoticeDescription, 2}, {roomdb.NoticeDescription, 2},
{admindb.NoticeNews, 1}, {roomdb.NoticeNews, 1},
{admindb.NoticePrivacyPolicy, 2}, {roomdb.NoticePrivacyPolicy, 2},
{admindb.NoticeCodeOfConduct, 1}, {roomdb.NoticeCodeOfConduct, 1},
} }
for i, tcase := range cases { for i, tcase := range cases {
@ -110,14 +110,14 @@ func TestPinnedNotices(t *testing.T) {
}) })
t.Run("validity", func(t *testing.T) { t.Run("validity", func(t *testing.T) {
var empty admindb.Notice var empty roomdb.Notice
// no id // no id
err = db.PinnedNotices.Set(ctx, admindb.NoticeNews, empty.ID) err = db.PinnedNotices.Set(ctx, roomdb.NoticeNews, empty.ID)
r.Error(err) r.Error(err)
// not-null id // not-null id
empty.ID = 999 empty.ID = 999
err = db.PinnedNotices.Set(ctx, admindb.NoticeNews, empty.ID) err = db.PinnedNotices.Set(ctx, roomdb.NoticeNews, empty.ID)
r.Error(err) r.Error(err)
// invalid notice name // invalid notice name
@ -126,7 +126,7 @@ func TestPinnedNotices(t *testing.T) {
}) })
t.Run("add new localization", func(t *testing.T) { t.Run("add new localization", func(t *testing.T) {
var notice admindb.Notice var notice roomdb.Notice
notice.Title = "política de privacidad" notice.Title = "política de privacidad"
notice.Content = "solo una prueba" notice.Content = "solo una prueba"
notice.Language = "es" notice.Language = "es"
@ -136,11 +136,11 @@ func TestPinnedNotices(t *testing.T) {
r.NoError(err) r.NoError(err)
// set it // set it
err = db.PinnedNotices.Set(ctx, admindb.NoticePrivacyPolicy, notice.ID) err = db.PinnedNotices.Set(ctx, roomdb.NoticePrivacyPolicy, notice.ID)
r.NoError(err) r.NoError(err)
// retreive it // retreive it
ret, err := db.PinnedNotices.Get(ctx, admindb.NoticePrivacyPolicy, notice.Language) ret, err := db.PinnedNotices.Get(ctx, roomdb.NoticePrivacyPolicy, notice.Language)
r.NoError(err) r.NoError(err)
r.Equal(notice, *ret, "notices are not the same") r.Equal(notice, *ret, "notices are not the same")
@ -148,7 +148,7 @@ func TestPinnedNotices(t *testing.T) {
allTheNotices, err := db.PinnedNotices.List(ctx) allTheNotices, err := db.PinnedNotices.List(ctx)
r.NoError(err) r.NoError(err)
notices, has := allTheNotices[admindb.NoticePrivacyPolicy] notices, has := allTheNotices[roomdb.NoticePrivacyPolicy]
r.True(has) r.True(has)
r.Len(notices, 3) r.Len(notices, 3)

View File

@ -12,13 +12,13 @@ import (
"github.com/volatiletech/sqlboiler/v4/boil" "github.com/volatiletech/sqlboiler/v4/boil"
"github.com/volatiletech/sqlboiler/v4/queries/qm" "github.com/volatiletech/sqlboiler/v4/queries/qm"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite/models" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite/models"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
) )
// compiler assertion to ensure the struct fullfills the interface // compiler assertion to ensure the struct fullfills the interface
var _ admindb.AllowListService = (*AllowList)(nil) var _ roomdb.AllowListService = (*AllowList)(nil)
type AllowList struct { type AllowList struct {
db *sql.DB db *sql.DB
@ -46,7 +46,7 @@ func (l AllowList) add(ctx context.Context, tx *sql.Tx, a refs.FeedRef) error {
if err != nil { if err != nil {
var sqlErr sqlite3.Error var sqlErr sqlite3.Error
if errors.As(err, &sqlErr) && sqlErr.ExtendedCode == sqlite3.ErrConstraintUnique { if errors.As(err, &sqlErr) && sqlErr.ExtendedCode == sqlite3.ErrConstraintUnique {
return admindb.ErrAlreadyAdded{Ref: a} return roomdb.ErrAlreadyAdded{Ref: a}
} }
return fmt.Errorf("allow-list: failed to insert new entry %s: %w - type:%T", entry.PubKey, err, err) return fmt.Errorf("allow-list: failed to insert new entry %s: %w - type:%T", entry.PubKey, err, err)
@ -74,12 +74,12 @@ func (l AllowList) HasID(ctx context.Context, id int64) bool {
} }
// GetByID returns the entry if a feed with that ID is on the list. // GetByID returns the entry if a feed with that ID is on the list.
func (l AllowList) GetByID(ctx context.Context, id int64) (admindb.ListEntry, error) { func (l AllowList) GetByID(ctx context.Context, id int64) (roomdb.ListEntry, error) {
var le admindb.ListEntry var le roomdb.ListEntry
entry, err := models.FindAllowList(ctx, l.db, id) entry, err := models.FindAllowList(ctx, l.db, id)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return le, admindb.ErrNotFound return le, roomdb.ErrNotFound
} }
return le, err return le, err
} }
@ -91,16 +91,16 @@ func (l AllowList) GetByID(ctx context.Context, id int64) (admindb.ListEntry, er
} }
// List returns a list of all the feeds. // List returns a list of all the feeds.
func (l AllowList) List(ctx context.Context) (admindb.ListEntries, error) { func (l AllowList) List(ctx context.Context) (roomdb.ListEntries, error) {
all, err := models.AllowLists().All(ctx, l.db) all, err := models.AllowLists().All(ctx, l.db)
if err != nil { if err != nil {
return nil, err return nil, err
} }
var asRefs = make(admindb.ListEntries, len(all)) var asRefs = make(roomdb.ListEntries, len(all))
for i, allowed := range all { for i, allowed := range all {
asRefs[i] = admindb.ListEntry{ asRefs[i] = roomdb.ListEntry{
ID: allowed.ID, ID: allowed.ID,
PubKey: allowed.PubKey.FeedRef, PubKey: allowed.PubKey.FeedRef,
} }
@ -114,7 +114,7 @@ func (l AllowList) RemoveFeed(ctx context.Context, r refs.FeedRef) error {
entry, err := models.AllowLists(qm.Where("pub_key = ?", r.Ref())).One(ctx, l.db) entry, err := models.AllowLists(qm.Where("pub_key = ?", r.Ref())).One(ctx, l.db)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return admindb.ErrNotFound return roomdb.ErrNotFound
} }
return err return err
} }
@ -132,7 +132,7 @@ func (l AllowList) RemoveID(ctx context.Context, id int64) error {
entry, err := models.FindAllowList(ctx, l.db, id) entry, err := models.FindAllowList(ctx, l.db, id)
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return admindb.ErrNotFound return roomdb.ErrNotFound
} }
return err return err
} }

View File

@ -7,9 +7,9 @@ import (
"path/filepath" "path/filepath"
"testing" "testing"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite/models" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite/models"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
@ -124,7 +124,7 @@ func TestAllowListByID(t *testing.T) {
err = db.AllowList.RemoveID(ctx, 666) err = db.AllowList.RemoveID(ctx, 666)
r.Error(err) r.Error(err)
r.EqualError(err, admindb.ErrNotFound.Error()) r.EqualError(err, roomdb.ErrNotFound.Error())
err = db.AllowList.RemoveID(ctx, lst[0].ID) err = db.AllowList.RemoveID(ctx, lst[0].ID)
r.NoError(err) r.NoError(err)

View File

@ -13,7 +13,7 @@ blacklist = ["gorp_migrations"]
nullable = false nullable = false
[types.replace] [types.replace]
type = "admindb.DBFeedRef" type = "roomdb.DBFeedRef"
[types.imports] [types.imports]
third_party = ['"github.com/ssb-ngi-pointer/go-ssb-room/admindb"'] third_party = ['"github.com/ssb-ngi-pointer/go-ssb-room/roomdb"']

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
package admindb package roomdb
import ( import (
"database/sql/driver" "database/sql/driver"
@ -12,7 +12,7 @@ import (
) )
// ErrNotFound is returned by the admin db if an object couldn't be found. // ErrNotFound is returned by the admin db if an object couldn't be found.
var ErrNotFound = errors.New("admindb: object not found") var ErrNotFound = errors.New("roomdb: object not found")
// User holds all the information an authenticated user of the site has. // User holds all the information an authenticated user of the site has.
type User struct { type User struct {
@ -25,7 +25,7 @@ type ErrAlreadyAdded struct {
} }
func (aa ErrAlreadyAdded) Error() string { func (aa ErrAlreadyAdded) Error() string {
return fmt.Sprintf("admindb: the item (%s) is already on the list", aa.Ref.Ref()) return fmt.Sprintf("roomdb: the item (%s) is already on the list", aa.Ref.Ref())
} }
// Invite is a combination of an invite id, who created it and an (optional) alias suggestion. // Invite is a combination of an invite id, who created it and an (optional) alias suggestion.

View File

@ -12,10 +12,6 @@ import (
"path/filepath" "path/filepath"
"sync" "sync"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb"
"github.com/ssb-ngi-pointer/go-ssb-room/roomstate"
kitlog "github.com/go-kit/kit/log" kitlog "github.com/go-kit/kit/log"
"github.com/go-kit/kit/log/level" "github.com/go-kit/kit/log/level"
"go.cryptoscope.co/netwrap" "go.cryptoscope.co/netwrap"
@ -25,6 +21,8 @@ import (
"github.com/ssb-ngi-pointer/go-ssb-room/internal/maybemuxrpc" "github.com/ssb-ngi-pointer/go-ssb-room/internal/maybemuxrpc"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/network" "github.com/ssb-ngi-pointer/go-ssb-room/internal/network"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
"github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/roomstate"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
) )
@ -58,7 +56,7 @@ type Server struct {
public maybemuxrpc.PluginManager public maybemuxrpc.PluginManager
master maybemuxrpc.PluginManager master maybemuxrpc.PluginManager
authorizer admindb.AllowListService authorizer roomdb.AllowListService
StateManager *roomstate.Manager StateManager *roomstate.Manager
} }
@ -67,7 +65,7 @@ func (s Server) Whoami() refs.FeedRef {
return s.keyPair.Feed return s.keyPair.Feed
} }
func New(allow admindb.AllowListService, opts ...Option) (*Server, error) { func New(allow roomdb.AllowListService, opts ...Option) (*Server, error) {
var s Server var s Server
s.authorizer = allow s.authorizer = allow

View File

@ -18,7 +18,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"go.cryptoscope.co/muxrpc/v2/debug" "go.cryptoscope.co/muxrpc/v2/debug"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/sqlite" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/sqlite"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/maybemod/testutils" "github.com/ssb-ngi-pointer/go-ssb-room/internal/maybemod/testutils"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/network" "github.com/ssb-ngi-pointer/go-ssb-room/internal/network"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"

View File

@ -13,7 +13,7 @@ import (
"testing" "testing"
"time" "time"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/mockdb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/mockdb"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"

View File

@ -17,7 +17,7 @@ import (
"path/filepath" "path/filepath"
"testing" "testing"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"golang.org/x/sync/errgroup" "golang.org/x/sync/errgroup"
@ -86,7 +86,7 @@ func newSession(t *testing.T, appKey []byte) *testSession {
return ts return ts
} }
func (ts *testSession) startGoServer(al admindb.AllowListService, opts ...roomsrv.Option) *roomsrv.Server { func (ts *testSession) startGoServer(al roomdb.AllowListService, opts ...roomsrv.Option) *roomsrv.Server {
r := require.New(ts.t) r := require.New(ts.t)
// prepend defaults // prepend defaults

View File

@ -10,14 +10,14 @@ import (
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
"github.com/gorilla/csrf" "github.com/gorilla/csrf"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors" weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors"
) )
type allowListHandler struct { type allowListHandler struct {
r *render.Renderer r *render.Renderer
al admindb.AllowListService al roomdb.AllowListService
} }
const redirectToMembers = "/admin/members" const redirectToMembers = "/admin/members"
@ -45,7 +45,7 @@ func (h allowListHandler) add(w http.ResponseWriter, req *http.Request) {
err = h.al.Add(req.Context(), *newEntryParsed) err = h.al.Add(req.Context(), *newEntryParsed)
if err != nil { if err != nil {
code := http.StatusInternalServerError code := http.StatusInternalServerError
var aa admindb.ErrAlreadyAdded var aa roomdb.ErrAlreadyAdded
if errors.As(err, &aa) { if errors.As(err, &aa) {
code = http.StatusBadRequest code = http.StatusBadRequest
// TODO: localized error pages // TODO: localized error pages
@ -92,7 +92,7 @@ func (h allowListHandler) removeConfirm(rw http.ResponseWriter, req *http.Reques
entry, err := h.al.GetByID(req.Context(), id) entry, err := h.al.GetByID(req.Context(), id)
if err != nil { if err != nil {
if errors.Is(err, admindb.ErrNotFound) { if errors.Is(err, roomdb.ErrNotFound) {
http.Redirect(rw, req, redirectToMembers, http.StatusFound) http.Redirect(rw, req, redirectToMembers, http.StatusFound)
return nil, ErrRedirected return nil, ErrRedirected
} }
@ -125,7 +125,7 @@ func (h allowListHandler) remove(rw http.ResponseWriter, req *http.Request) {
status := http.StatusFound status := http.StatusFound
err = h.al.RemoveID(req.Context(), id) err = h.al.RemoveID(req.Context(), id)
if err != nil { if err != nil {
if !errors.Is(err, admindb.ErrNotFound) { if !errors.Is(err, roomdb.ErrNotFound) {
// TODO "flash" errors // TODO "flash" errors
h.r.Error(rw, req, http.StatusInternalServerError, err) h.r.Error(rw, req, http.StatusInternalServerError, err)
return return

View File

@ -12,7 +12,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/web" "github.com/ssb-ngi-pointer/go-ssb-room/web"
"github.com/ssb-ngi-pointer/go-ssb-room/web/router" "github.com/ssb-ngi-pointer/go-ssb-room/web/router"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
@ -111,7 +111,7 @@ func TestAllowList(t *testing.T) {
ts := newSession(t) ts := newSession(t)
a := assert.New(t) a := assert.New(t)
lst := admindb.ListEntries{ lst := roomdb.ListEntries{
{ID: 1, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte{0}, 32), Algo: "fake"}}, {ID: 1, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte{0}, 32), Algo: "fake"}},
{ID: 2, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte("1312"), 8), Algo: "test"}}, {ID: 2, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte("1312"), 8), Algo: "test"}},
{ID: 3, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte("acab"), 8), Algo: "true"}}, {ID: 3, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte("acab"), 8), Algo: "true"}},
@ -129,7 +129,7 @@ func TestAllowList(t *testing.T) {
a.EqualValues(html.Find("#theList li").Length(), 3) a.EqualValues(html.Find("#theList li").Length(), 3)
lst = admindb.ListEntries{ lst = roomdb.ListEntries{
{ID: 666, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte{1}, 32), Algo: "one"}}, {ID: 666, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte{1}, 32), Algo: "one"}},
} }
ts.AllowListDB.ListReturns(lst, nil) ts.AllowListDB.ListReturns(lst, nil)
@ -158,7 +158,7 @@ func TestAllowListRemoveConfirmation(t *testing.T) {
testKey, err := refs.ParseFeedRef("@x7iOLUcq3o+sjGeAnipvWeGzfuYgrXl8L4LYlxIhwDc=.ed25519") testKey, err := refs.ParseFeedRef("@x7iOLUcq3o+sjGeAnipvWeGzfuYgrXl8L4LYlxIhwDc=.ed25519")
a.NoError(err) a.NoError(err)
testEntry := admindb.ListEntry{ID: 666, PubKey: *testKey} testEntry := roomdb.ListEntry{ID: 666, PubKey: *testKey}
ts.AllowListDB.GetByIDReturns(testEntry, nil) ts.AllowListDB.GetByIDReturns(testEntry, nil)
urlTo := web.NewURLTo(ts.Router) urlTo := web.NewURLTo(ts.Router)
@ -213,7 +213,7 @@ func TestAllowListRemove(t *testing.T) {
a.EqualValues(666, theID) a.EqualValues(666, theID)
// now for unknown ID // now for unknown ID
ts.AllowListDB.RemoveIDReturns(admindb.ErrNotFound) ts.AllowListDB.RemoveIDReturns(roomdb.ErrNotFound)
addVals = url.Values{"id": []string{"667"}} addVals = url.Values{"id": []string{"667"}}
rec = ts.Client.PostForm(urlRemove.String(), addVals) rec = ts.Client.PostForm(urlRemove.String(), addVals)
a.Equal(http.StatusNotFound, rec.Code) a.Equal(http.StatusNotFound, rec.Code)

View File

@ -14,8 +14,8 @@ import (
"go.mindeco.de/http/tester" "go.mindeco.de/http/tester"
"go.mindeco.de/logging/logtest" "go.mindeco.de/logging/logtest"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/mockdb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/mockdb"
"github.com/ssb-ngi-pointer/go-ssb-room/roomstate" "github.com/ssb-ngi-pointer/go-ssb-room/roomstate"
"github.com/ssb-ngi-pointer/go-ssb-room/web" "github.com/ssb-ngi-pointer/go-ssb-room/web"
"github.com/ssb-ngi-pointer/go-ssb-room/web/router" "github.com/ssb-ngi-pointer/go-ssb-room/web/router"
@ -32,7 +32,7 @@ type testSession struct {
NoticeDB *mockdb.FakeNoticesService NoticeDB *mockdb.FakeNoticesService
InvitesDB *mockdb.FakeInviteService InvitesDB *mockdb.FakeInviteService
User *admindb.User User *roomdb.User
Domain string Domain string
@ -57,7 +57,7 @@ func newSession(t *testing.T) *testSession {
ts.Domain = randomString(10) ts.Domain = randomString(10)
// fake user // fake user
ts.User = &admindb.User{ ts.User = &roomdb.User{
ID: 1234, ID: 1234,
Name: "room mate", Name: "room mate",
} }
@ -76,7 +76,7 @@ func newSession(t *testing.T) *testSession {
testFuncs["current_page_is"] = func(routeName string) bool { testFuncs["current_page_is"] = func(routeName string) bool {
return true return true
} }
testFuncs["is_logged_in"] = func() *admindb.User { return nil } testFuncs["is_logged_in"] = func() *roomdb.User { return nil }
testFuncs["urlToNotice"] = func(name string) string { return "" } testFuncs["urlToNotice"] = func(name string) string { return "" }
r, err := render.New(web.Templates, r, err := render.New(web.Templates,

View File

@ -14,7 +14,7 @@ import (
"github.com/vcraescu/go-paginator/v2/view" "github.com/vcraescu/go-paginator/v2/view"
"go.mindeco.de/http/render" "go.mindeco.de/http/render"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/roomstate" "github.com/ssb-ngi-pointer/go-ssb-room/roomstate"
) )
@ -34,10 +34,10 @@ var HTMLTemplates = []string{
// Databases is an option struct that encapsualtes the required database services // Databases is an option struct that encapsualtes the required database services
type Databases struct { type Databases struct {
AllowList admindb.AllowListService AllowList roomdb.AllowListService
Invites admindb.InviteService Invites roomdb.InviteService
Notices admindb.NoticesService Notices roomdb.NoticesService
PinnedNotices admindb.PinnedNoticesService PinnedNotices roomdb.PinnedNoticesService
} }
// Handler supplies the elevated access pages to known users. // Handler supplies the elevated access pages to known users.

View File

@ -9,7 +9,7 @@ import (
"github.com/gorilla/csrf" "github.com/gorilla/csrf"
"go.mindeco.de/http/render" "go.mindeco.de/http/render"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/web" "github.com/ssb-ngi-pointer/go-ssb-room/web"
weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors" weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors"
"github.com/ssb-ngi-pointer/go-ssb-room/web/router" "github.com/ssb-ngi-pointer/go-ssb-room/web/router"
@ -19,7 +19,7 @@ import (
type invitesHandler struct { type invitesHandler struct {
r *render.Renderer r *render.Renderer
db admindb.InviteService db roomdb.InviteService
domainName string domainName string
} }
@ -88,7 +88,7 @@ func (h invitesHandler) revokeConfirm(rw http.ResponseWriter, req *http.Request)
invite, err := h.db.GetByID(req.Context(), id) invite, err := h.db.GetByID(req.Context(), id)
if err != nil { if err != nil {
if errors.Is(err, admindb.ErrNotFound) { if errors.Is(err, roomdb.ErrNotFound) {
return nil, weberrors.ErrNotFound{What: "invite"} return nil, weberrors.ErrNotFound{What: "invite"}
} }
return nil, err return nil, err
@ -122,7 +122,7 @@ func (h invitesHandler) revoke(rw http.ResponseWriter, req *http.Request) {
status := http.StatusFound status := http.StatusFound
err = h.db.Revoke(req.Context(), id) err = h.db.Revoke(req.Context(), id)
if err != nil { if err != nil {
if !errors.Is(err, admindb.ErrNotFound) { if !errors.Is(err, roomdb.ErrNotFound) {
// TODO "flash" errors // TODO "flash" errors
h.r.Error(rw, req, http.StatusInternalServerError, err) h.r.Error(rw, req, http.StatusInternalServerError, err)
return return

View File

@ -11,7 +11,7 @@ import (
"github.com/gorilla/csrf" "github.com/gorilla/csrf"
"github.com/russross/blackfriday/v2" "github.com/russross/blackfriday/v2"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors" weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors"
"go.mindeco.de/http/render" "go.mindeco.de/http/render"
) )
@ -19,14 +19,14 @@ import (
type noticeHandler struct { type noticeHandler struct {
r *render.Renderer r *render.Renderer
noticeDB admindb.NoticesService noticeDB roomdb.NoticesService
pinnedDB admindb.PinnedNoticesService pinnedDB roomdb.PinnedNoticesService
} }
func (nh noticeHandler) draftTranslation(rw http.ResponseWriter, req *http.Request) (interface{}, error) { func (nh noticeHandler) draftTranslation(rw http.ResponseWriter, req *http.Request) (interface{}, error) {
pinnedName := req.URL.Query().Get("name") pinnedName := req.URL.Query().Get("name")
if !admindb.PinnedNoticeName(pinnedName).Valid() { if !roomdb.PinnedNoticeName(pinnedName).Valid() {
return nil, weberrors.ErrBadRequest{Where: "pinnedName", Details: fmt.Errorf("invalid pinned notice name")} return nil, weberrors.ErrBadRequest{Where: "pinnedName", Details: fmt.Errorf("invalid pinned notice name")}
} }
@ -45,14 +45,14 @@ func (nh noticeHandler) addTranslation(rw http.ResponseWriter, req *http.Request
return return
} }
pinnedName := admindb.PinnedNoticeName(req.FormValue("name")) pinnedName := roomdb.PinnedNoticeName(req.FormValue("name"))
if !pinnedName.Valid() { if !pinnedName.Valid() {
err := weberrors.ErrBadRequest{Where: "name", Details: fmt.Errorf("invalid pinned notice name")} err := weberrors.ErrBadRequest{Where: "name", Details: fmt.Errorf("invalid pinned notice name")}
nh.r.Error(rw, req, http.StatusInternalServerError, err) nh.r.Error(rw, req, http.StatusInternalServerError, err)
return return
} }
var n admindb.Notice var n roomdb.Notice
n.Title = req.FormValue("title") n.Title = req.FormValue("title")
// TODO: validate languages properly // TODO: validate languages properly
@ -128,7 +128,7 @@ func (nh noticeHandler) save(rw http.ResponseWriter, req *http.Request) {
redirect = "/" redirect = "/"
} }
var n admindb.Notice var n roomdb.Notice
n.ID, err = strconv.ParseInt(req.FormValue("id"), 10, 64) n.ID, err = strconv.ParseInt(req.FormValue("id"), 10, 64)
if err != nil { if err != nil {
err = weberrors.ErrBadRequest{Where: "id", Details: err} err = weberrors.ErrBadRequest{Where: "id", Details: err}

View File

@ -19,7 +19,7 @@ import (
"go.mindeco.de/logging" "go.mindeco.de/logging"
"golang.org/x/crypto/ed25519" "golang.org/x/crypto/ed25519"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
"github.com/ssb-ngi-pointer/go-ssb-room/roomstate" "github.com/ssb-ngi-pointer/go-ssb-room/roomstate"
"github.com/ssb-ngi-pointer/go-ssb-room/web" "github.com/ssb-ngi-pointer/go-ssb-room/web"
@ -42,12 +42,12 @@ var HTMLTemplates = []string{
// Databases is an options stuct for the required databases of the web handlers // Databases is an options stuct for the required databases of the web handlers
type Databases struct { type Databases struct {
AuthWithSSB admindb.AuthWithSSBService AuthWithSSB roomdb.AuthWithSSBService
AuthFallback admindb.AuthFallbackService AuthFallback roomdb.AuthFallbackService
AllowList admindb.AllowListService AllowList roomdb.AllowListService
Invites admindb.InviteService Invites roomdb.InviteService
Notices admindb.NoticesService Notices roomdb.NoticesService
PinnedNotices admindb.PinnedNoticesService PinnedNotices roomdb.PinnedNoticesService
} }
// NetworkInfo encapsulates the domain name of the room, it's ssb/secret-handshake public key and the HTTP and MUXRPC TCP ports. // NetworkInfo encapsulates the domain name of the room, it's ssb/secret-handshake public key and the HTTP and MUXRPC TCP ports.
@ -106,7 +106,7 @@ func New(
}), }),
render.InjectTemplateFunc("urlToNotice", func(r *http.Request) interface{} { render.InjectTemplateFunc("urlToNotice", func(r *http.Request) interface{} {
return func(name string) *url.URL { return func(name string) *url.URL {
noticeName := admindb.PinnedNoticeName(name) noticeName := roomdb.PinnedNoticeName(name)
if !noticeName.Valid() { if !noticeName.Valid() {
return nil return nil
} }
@ -157,13 +157,13 @@ func New(
// localize some specific error messages // localize some specific error messages
var ( var (
aa admindb.ErrAlreadyAdded aa roomdb.ErrAlreadyAdded
) )
switch { switch {
case err == auth.ErrBadLogin: case err == auth.ErrBadLogin:
msg = ih.LocalizeSimple("AuthErrorBadLogin") msg = ih.LocalizeSimple("AuthErrorBadLogin")
case errors.Is(err, admindb.ErrNotFound): case errors.Is(err, roomdb.ErrNotFound):
msg = ih.LocalizeSimple("ErrorNotFound") msg = ih.LocalizeSimple("ErrorNotFound")
case errors.As(err, &aa): case errors.As(err, &aa):
@ -235,7 +235,7 @@ func New(
mainMux.Handle("/admin/", a.Authenticate(adminHandler)) mainMux.Handle("/admin/", a.Authenticate(adminHandler))
m.Get(router.CompleteIndex).Handler(r.HTML("landing/index.tmpl", func(w http.ResponseWriter, req *http.Request) (interface{}, error) { m.Get(router.CompleteIndex).Handler(r.HTML("landing/index.tmpl", func(w http.ResponseWriter, req *http.Request) (interface{}, error) {
notice, err := dbs.PinnedNotices.Get(req.Context(), admindb.NoticeDescription, "en-GB") notice, err := dbs.PinnedNotices.Get(req.Context(), roomdb.NoticeDescription, "en-GB")
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to find description: %w", err) return nil, fmt.Errorf("failed to find description: %w", err)
} }

View File

@ -12,7 +12,7 @@ import (
"github.com/go-kit/kit/log/level" "github.com/go-kit/kit/log/level"
"github.com/gorilla/csrf" "github.com/gorilla/csrf"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors" weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
) )
@ -20,8 +20,8 @@ import (
type inviteHandler struct { type inviteHandler struct {
r *render.Renderer r *render.Renderer
invites admindb.InviteService invites roomdb.InviteService
alaises admindb.AliasService alaises roomdb.AliasService
muxrpcHostAndPort string muxrpcHostAndPort string
roomPubKey ed25519.PublicKey roomPubKey ed25519.PublicKey
@ -32,7 +32,7 @@ func (h inviteHandler) acceptForm(rw http.ResponseWriter, req *http.Request) (in
inv, err := h.invites.GetByToken(req.Context(), token) inv, err := h.invites.GetByToken(req.Context(), token)
if err != nil { if err != nil {
if errors.Is(err, admindb.ErrNotFound) { if errors.Is(err, roomdb.ErrNotFound) {
return nil, weberrors.ErrNotFound{What: "invite"} return nil, weberrors.ErrNotFound{What: "invite"}
} }
return nil, err return nil, err
@ -62,7 +62,7 @@ func (h inviteHandler) consume(rw http.ResponseWriter, req *http.Request) (inter
inv, err := h.invites.Consume(req.Context(), token, *newMember) inv, err := h.invites.Consume(req.Context(), token, *newMember)
if err != nil { if err != nil {
if errors.Is(err, admindb.ErrNotFound) { if errors.Is(err, roomdb.ErrNotFound) {
return nil, weberrors.ErrNotFound{What: "invite"} return nil, weberrors.ErrNotFound{What: "invite"}
} }
return nil, err return nil, err

View File

@ -15,7 +15,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
refs "go.mindeco.de/ssb-refs" refs "go.mindeco.de/ssb-refs"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/web" "github.com/ssb-ngi-pointer/go-ssb-room/web"
weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors" weberrors "github.com/ssb-ngi-pointer/go-ssb-room/web/errors"
"github.com/ssb-ngi-pointer/go-ssb-room/web/router" "github.com/ssb-ngi-pointer/go-ssb-room/web/router"
@ -34,7 +34,7 @@ func TestInviteShowAcceptForm(t *testing.T) {
r.NotNil(acceptURL404) r.NotNil(acceptURL404)
// prep the mocked db for http:404 // prep the mocked db for http:404
ts.InvitesDB.GetByTokenReturns(admindb.Invite{}, admindb.ErrNotFound) ts.InvitesDB.GetByTokenReturns(roomdb.Invite{}, roomdb.ErrNotFound)
// request the form // request the form
acceptForm := acceptURL404.String() acceptForm := acceptURL404.String()
@ -68,7 +68,7 @@ func TestInviteShowAcceptForm(t *testing.T) {
r.NotNil(validAcceptURL) r.NotNil(validAcceptURL)
// prep the mocked db for http:200 // prep the mocked db for http:200
fakeExistingInvite := admindb.Invite{ fakeExistingInvite := roomdb.Invite{
ID: 1234, ID: 1234,
AliasSuggestion: "bestie", AliasSuggestion: "bestie",
} }
@ -109,7 +109,7 @@ func TestInviteShowAcceptForm(t *testing.T) {
validAcceptURL := urlTo(router.CompleteInviteAccept, "token", testToken) validAcceptURL := urlTo(router.CompleteInviteAccept, "token", testToken)
r.NotNil(validAcceptURL) r.NotNil(validAcceptURL)
inviteWithNoAlias := admindb.Invite{ID: 4321} inviteWithNoAlias := roomdb.Invite{ID: 4321}
ts.InvitesDB.GetByTokenReturns(inviteWithNoAlias, nil) ts.InvitesDB.GetByTokenReturns(inviteWithNoAlias, nil)
// request the form // request the form
@ -152,7 +152,7 @@ func TestInviteConsumeInvite(t *testing.T) {
validAcceptURL.Host = "localhost" validAcceptURL.Host = "localhost"
validAcceptURL.Scheme = "https" validAcceptURL.Scheme = "https"
inviteWithNoAlias := admindb.Invite{ID: 4321} inviteWithNoAlias := roomdb.Invite{ID: 4321}
ts.InvitesDB.GetByTokenReturns(inviteWithNoAlias, nil) ts.InvitesDB.GetByTokenReturns(inviteWithNoAlias, nil)
// request the form (for a valid csrf token) // request the form (for a valid csrf token)

View File

@ -7,13 +7,13 @@ import (
"github.com/russross/blackfriday/v2" "github.com/russross/blackfriday/v2"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/web/errors" "github.com/ssb-ngi-pointer/go-ssb-room/web/errors"
) )
type noticeHandler struct { type noticeHandler struct {
pinned admindb.PinnedNoticesService pinned roomdb.PinnedNoticesService
notices admindb.NoticesService notices roomdb.NoticesService
} }
func (h noticeHandler) list(rw http.ResponseWriter, req *http.Request) (interface{}, error) { func (h noticeHandler) list(rw http.ResponseWriter, req *http.Request) (interface{}, error) {
@ -24,7 +24,7 @@ func (h noticeHandler) list(rw http.ResponseWriter, req *http.Request) (interfac
} }
return struct { return struct {
AllNotices admindb.SortedPinnedNotices AllNotices roomdb.SortedPinnedNotices
}{lst.Sorted()}, nil }{lst.Sorted()}, nil
} }

View File

@ -17,8 +17,8 @@ import (
"go.mindeco.de/http/tester" "go.mindeco.de/http/tester"
"go.mindeco.de/logging/logtest" "go.mindeco.de/logging/logtest"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb/mockdb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb/mockdb"
"github.com/ssb-ngi-pointer/go-ssb-room/internal/repo" "github.com/ssb-ngi-pointer/go-ssb-room/internal/repo"
"github.com/ssb-ngi-pointer/go-ssb-room/roomstate" "github.com/ssb-ngi-pointer/go-ssb-room/roomstate"
"github.com/ssb-ngi-pointer/go-ssb-room/web/i18n" "github.com/ssb-ngi-pointer/go-ssb-room/web/i18n"
@ -64,7 +64,7 @@ func setup(t *testing.T) *testSession {
ts.AllowListDB = new(mockdb.FakeAllowListService) ts.AllowListDB = new(mockdb.FakeAllowListService)
ts.InvitesDB = new(mockdb.FakeInviteService) ts.InvitesDB = new(mockdb.FakeInviteService)
ts.PinnedDB = new(mockdb.FakePinnedNoticesService) ts.PinnedDB = new(mockdb.FakePinnedNoticesService)
defaultNotice := &admindb.Notice{ defaultNotice := &roomdb.Notice{
Title: "Default Notice Title", Title: "Default Notice Title",
Content: "Default Notice Content", Content: "Default Notice Content",
} }

View File

@ -5,7 +5,7 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
"go.mindeco.de/http/auth" "go.mindeco.de/http/auth"
) )
@ -14,10 +14,10 @@ type roomUserContextKeyType string
var roomUserContextKey roomUserContextKeyType = "ssb:room:httpcontext:user" var roomUserContextKey roomUserContextKeyType = "ssb:room:httpcontext:user"
// FromContext returns the user or nil if not logged in // FromContext returns the user or nil if not logged in
func FromContext(ctx context.Context) *admindb.User { func FromContext(ctx context.Context) *roomdb.User {
v := ctx.Value(roomUserContextKey) v := ctx.Value(roomUserContextKey)
user, ok := v.(*admindb.User) user, ok := v.(*roomdb.User)
if !ok { if !ok {
return nil return nil
} }
@ -26,7 +26,7 @@ func FromContext(ctx context.Context) *admindb.User {
} }
// ContextInjecter returns middleware for injecting a user id into the request context // ContextInjecter returns middleware for injecting a user id into the request context
func ContextInjecter(fs admindb.AuthFallbackService, a *auth.Handler) func(http.Handler) http.Handler { func ContextInjecter(fs roomdb.AuthFallbackService, a *auth.Handler) func(http.Handler) http.Handler {
return func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
v, err := a.AuthenticateRequest(req) v, err := a.AuthenticateRequest(req)
@ -57,14 +57,14 @@ func ContextInjecter(fs admindb.AuthFallbackService, a *auth.Handler) func(http.
// It has to return a function twice because the first is evaluated with the request before it gets passed onto html/template's FuncMap. // It has to return a function twice because the first is evaluated with the request before it gets passed onto html/template's FuncMap.
func TemplateHelper() func(*http.Request) interface{} { func TemplateHelper() func(*http.Request) interface{} {
return func(r *http.Request) interface{} { return func(r *http.Request) interface{} {
no := func() *admindb.User { return nil } no := func() *roomdb.User { return nil }
user := FromContext(r.Context()) user := FromContext(r.Context())
if user == nil { if user == nil {
return no return no
} }
yes := func() *admindb.User { return user } yes := func() *roomdb.User { return user }
return yes return yes
} }
} }

View File

@ -4,14 +4,14 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/ssb-ngi-pointer/go-ssb-room/admindb" "github.com/ssb-ngi-pointer/go-ssb-room/roomdb"
) )
// MiddlewareForTests gives us a way to inject _test users_. It should not be used in production. // MiddlewareForTests gives us a way to inject _test users_. It should not be used in production.
// This is part of testing.go because we need to use roomUserContextKey, which shouldn't be exported either. // This is part of testing.go because we need to use roomUserContextKey, which shouldn't be exported either.
// TODO: could be protected with an extra build tag. // TODO: could be protected with an extra build tag.
// (Sadly +build test does not exist https://github.com/golang/go/issues/21360 ) // (Sadly +build test does not exist https://github.com/golang/go/issues/21360 )
func MiddlewareForTests(user *admindb.User) func(http.Handler) http.Handler { func MiddlewareForTests(user *roomdb.User) func(http.Handler) http.Handler {
return func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
ctx := context.WithValue(req.Context(), roomUserContextKey, user) ctx := context.WithValue(req.Context(), roomUserContextKey, user)