- upd(all): indent spec.json files on all apps - upd(auth): rename auth app to cmd - upd(sam): move orgs, teams to system - upd(system): extend spec.json for check - upd(codegen): include system/ - upd(codegen): always generate spec files - upd(sam): references from auth to system
45 lines
731 B
Go
45 lines
731 B
Go
package service
|
|
|
|
import (
|
|
"log"
|
|
"sync"
|
|
"time"
|
|
|
|
"github.com/crusttech/crust/internal/store"
|
|
)
|
|
|
|
type (
|
|
db interface {
|
|
Transaction(callback func() error) error
|
|
}
|
|
)
|
|
|
|
var (
|
|
o sync.Once
|
|
DefaultAttachment AttachmentService
|
|
DefaultChannel ChannelService
|
|
DefaultMessage MessageService
|
|
DefaultPubSub *pubSub
|
|
DefaultEvent EventService
|
|
)
|
|
|
|
func Init() {
|
|
o.Do(func() {
|
|
fs, err := store.New("var/store")
|
|
if err != nil {
|
|
log.Fatalf("Failed to initialize stor: %v", err)
|
|
}
|
|
|
|
DefaultEvent = Event()
|
|
DefaultAttachment = Attachment(fs)
|
|
DefaultMessage = Message()
|
|
DefaultChannel = Channel()
|
|
DefaultPubSub = PubSub()
|
|
})
|
|
}
|
|
|
|
func timeNowPtr() *time.Time {
|
|
now := time.Now()
|
|
return &now
|
|
}
|