feat(prod): add allow register and chatgpt model into env file
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
# API key for chatgpt
|
||||
CHATGPT_KEY=api key for chatgpt
|
||||
# Chat gpt model
|
||||
CHATGPT_MODEL=gpt-4o
|
||||
# This is secret key for jwt signature
|
||||
JWT_SECRET=just a random string here
|
||||
# Set to false to disable registration
|
||||
ALLOW_REGISTER=true
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package config
|
||||
|
||||
import "os"
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
func defaultValue(val string, def string) string {
|
||||
if val == "" {
|
||||
@@ -20,4 +23,8 @@ func LoadEnv() {
|
||||
Env["JWT_SECRET"] = defaultValue(os.Getenv("JWT_SECRET"), "just a random string here")
|
||||
Env["Environment"] = defaultValue(os.Getenv("Environment"), "dev")
|
||||
Env["CHATGPT_KEY"] = defaultValue(os.Getenv("CHATGPT_KEY"), "")
|
||||
Env["REGISTER"] = defaultValue(os.Getenv("ALLOW_REGISTER"), "true")
|
||||
log.Printf("[INFO] Register set to '%s'\n", Env["REGISTER"])
|
||||
Env["CHATGPT_MODEL"] = defaultValue(os.Getenv("CHATGPT_MODEL"), "gpt-4o")
|
||||
log.Printf("[INFO] ChatGPT model set to '%s'\n", Env["CHATGPT_MODEL"])
|
||||
}
|
||||
|
||||
@@ -25,6 +25,12 @@ type RegisterForm struct {
|
||||
}
|
||||
|
||||
func Register(c *gin.Context) {
|
||||
// Check for register environment
|
||||
if config.Env["REGISTER"] != "true" {
|
||||
res.Error(c, "Registration is disabled", http.StatusForbidden)
|
||||
return
|
||||
}
|
||||
|
||||
// Receive data from frontend, check if data is okay, hash password, call model
|
||||
var data RegisterForm
|
||||
if err := c.ShouldBindJSON(&data); err != nil {
|
||||
|
||||
@@ -37,7 +37,7 @@ func GenerateCoverLetter(templateHTML string, jobHTML string) (GeneratedCover, e
|
||||
}
|
||||
|
||||
payload := ChatRequest{
|
||||
Model: "gpt-4o", // o4-mini
|
||||
Model: config.Env["CHATGPT_MODEL"],
|
||||
ResponseFormat: &ResponseFormat{Type: "json_object"},
|
||||
Messages: []ChatMessage{
|
||||
{
|
||||
|
||||
@@ -30,7 +30,7 @@ services:
|
||||
container_name: cover-letter-frontend
|
||||
|
||||
ports:
|
||||
- 80:8080
|
||||
- 8000:8080
|
||||
networks:
|
||||
- cover-letter-network
|
||||
db:
|
||||
|
||||
Reference in New Issue
Block a user