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

import (
	"time"

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

type Storage interface {
	AddMessage(msg core.Message) (err error)
	GetHistory(target string, since time.Time, num, offset int) (history []core.Message, err error)
	GetHistoryUser(user1, user2 string, since time.Time, num, 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)
}