package store

import "gorm.io/gorm"

var client Factory

// Factory defines the platform storage interface.
type Factory interface {
	Close() error
	GetDB() *gorm.DB

	UserOpenAI() UserOpenAIStore
	User() UserStore
	Message() MessageStore
	KBAnswer() KBAnswerStore
}

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

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