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