rename admindb to roomdb
This commit is contained in:
parent
04824eeed7
commit
117cad48a7
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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'
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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)
|
|
@ -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.
|
@ -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.
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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",
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue