summaryrefslogtreecommitdiffstats
path: root/server/storage.go
blob: bffb783d2170cdba174d30fe28c488ef5c63805d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package server

import (
	"time"

	"go.rctt.net/solec/core"
)

type Storage interface {
	AddMessage(msg core.Message) (err error)
	GetHistory(target string, since time.Time, count, offset int) (history []core.Message, err error)
	GetHistoryUser(user1, user2 string, since time.Time, count, offset int) (history []core.Message, err error)

	SetUser(user core.UserData) error
	DelUser(name string) error
	GetUserPass(name string) (string, error)

	SetPermission(data core.PermissionData) error
	GetPermission(user, channel string) (core.PermissionData, error)

	GetChannelUsers(channel string) ([]string, error)
	GetUserChannels(user string, count, offset int) ([]string, error)
}