mirror of
https://github.com/coaidev/coai.git
synced 2025-05-19 04:50:14 +09:00
59 lines
1.1 KiB
Go
59 lines
1.1 KiB
Go
package midjourney
|
|
|
|
import (
|
|
factory "chat/adapter/common"
|
|
"chat/globals"
|
|
"fmt"
|
|
)
|
|
|
|
var midjourneyEmptySecret = "null"
|
|
|
|
type ChatInstance struct {
|
|
Endpoint string
|
|
ApiSecret string
|
|
}
|
|
|
|
func (c *ChatInstance) GetApiSecret() string {
|
|
return c.ApiSecret
|
|
}
|
|
|
|
func (c *ChatInstance) GetEndpoint() string {
|
|
return c.Endpoint
|
|
}
|
|
|
|
func (c *ChatInstance) GetMidjourneyHeaders() map[string]string {
|
|
secret := c.GetApiSecret()
|
|
if secret == "" || secret == midjourneyEmptySecret {
|
|
return map[string]string{
|
|
"Content-Type": "application/json",
|
|
}
|
|
}
|
|
|
|
return map[string]string{
|
|
"Content-Type": "application/json",
|
|
"mj-api-secret": secret,
|
|
}
|
|
}
|
|
|
|
func (c *ChatInstance) GetNotifyEndpoint() string {
|
|
return fmt.Sprintf("%s/mj/notify", globals.NotifyUrl)
|
|
}
|
|
|
|
func NewChatInstance(endpoint, apiSecret, whiteList string) *ChatInstance {
|
|
SaveWhiteList(whiteList)
|
|
|
|
return &ChatInstance{
|
|
Endpoint: endpoint,
|
|
ApiSecret: apiSecret,
|
|
}
|
|
}
|
|
|
|
func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Factory {
|
|
params := conf.SplitRandomSecret(2)
|
|
|
|
return NewChatInstance(
|
|
conf.GetEndpoint(),
|
|
params[0], params[1],
|
|
)
|
|
}
|