package store

import "gorm.io/gorm"

var client Factory

// Factory defines the platform storage interface.
type Factory interface {
	User() UserStore
	Department() DepartmentStore
	AuthingDepartment() AuthingDepartmentStore
	Close() error
	GetDB() *gorm.DB
}

// Client return the store client instance.
func Client() Factory {
	return client
}

// SetClient set the store client.
func SetClient(factory Factory) {
	client = factory
}
