🔒 add more env variables for backend

Signed-off-by: Sindre Kjelsrud <kjelsrudsindre@gmail.com>
This commit is contained in:
Sindre Kjelsrud 2024-05-02 17:04:58 +02:00
parent dbd6050764
commit 369ae7c7ed
Signed by untrusted user who does not match committer: sidski
GPG key ID: D2BBDF3EDE6BA9A6
4 changed files with 26 additions and 77 deletions

View file

@ -1,4 +1,10 @@
POSTGRES_PASSWORD=supersafepassword
POSTGRES_USER=superman
POSTGRES_HOST=postgres
POSTGRES_DB=supercooldbname
POSTGRES_DB=supercooldbname
DB_HOST=postgres
DB_PORT=sickassport
DB_USER=admin
DB_PASSWORD=supersafepassword
DB_NAME=supercooldbname

View file

@ -5,19 +5,28 @@ import (
"fmt"
"log"
"os"
"strings"
"strconv"
"github.com/joho/godotenv"
_ "github.com/lib/pq"
)
const (
host = "postgres"
port = 5432 // This is the default port for PostgreSQL
user = "admin"
password = "helse123"
dbname = "helseveileder"
func init() {
if err := godotenv.Load(".env"); err != nil {
log.Fatalf("Error loading .env file: %v", err)
}
}
var (
host = os.Getenv("DB_HOST")
portStr = os.Getenv("DB_PORT")
user = os.Getenv("DB_USER")
password = os.Getenv("DB_PASSWORD")
dbname = os.Getenv("DB_NAME")
)
var port, _ = strconv.Atoi(portStr)
func SetupDb() {
// Connection string
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
@ -36,73 +45,4 @@ func SetupDb() {
if err != nil {
log.Fatalf("Error connecting to the database: %v\n", err)
}
// SQL statements to create tables
createTableStatements := []string{
`CREATE TABLE IF NOT EXISTS Spørsmål (
spørsmålID SERIAL PRIMARY KEY,
tekst TEXT NOT NULL
);`,
`CREATE TABLE IF NOT EXISTS SpørsmålSvar (
svarID SERIAL PRIMARY KEY,
spørsmålID INT REFERENCES Spørsmål(spørsmålID),
chatgpt BOOL NOT NULL,
svartekst TEXT NOT NULL
);`,
`CREATE TABLE IF NOT EXISTS Respondent (
respondentID SERIAL PRIMARY KEY,
alder TEXT NOT NULL,
utdanningsgrad TEXT NOT NULL,
helsepersonell BOOL NOT NULL,
harlisens BOOL NOT NULL,
kjønn TEXT NOT NULL,
svartfør BOOL NOT NULL,
fylke TEXT NOT NULL,
dato TEXT NOT NULL
);`,
`CREATE TABLE IF NOT EXISTS SvarVurdering (
vurderingID SERIAL PRIMARY KEY,
respondentID INT REFERENCES Respondent(respondentID),
svarID INT REFERENCES SpørsmålSvar(svarID),
kunnskap INT,
empati INT,
hjelpsomhet INT
);`,
`CREATE TABLE IF NOT EXISTS Evaluering (
evalueringtekst TEXT
);`,
`CREATE TABLE IF NOT EXISTS FeilRapport (
feiltekst TEXT
);`,
}
// Execute SQL statements
for _, stmt := range createTableStatements {
_, err := db.Exec(stmt)
if err != nil {
log.Fatalf("Error creating table: %v\n", err)
}
}
insertDb(db, "cmd/db/queries/insert_questions_sql_query.sql")
insertDb(db, "cmd/db/queries/insert_answers_sql_query.sql")
fmt.Println("Tables created successfully.")
}
func insertDb(db *sql.DB, filepath string) {
file, err := os.ReadFile(filepath)
if err != nil {
// handle error
log.Fatalf("Error reading file: %v\n", err)
}
requests := strings.Split(string(file), ";")
for _, request := range requests {
_, err := db.Exec(request)
// do whatever you need with result and error
if err != nil {
log.Fatalf("Error creating table: %v\n", err)
}
}
}

View file

@ -14,6 +14,7 @@ require (
github.com/go-playground/universal-translator v0.18.1 // indirect
github.com/go-playground/validator/v10 v10.16.0 // indirect
github.com/goccy/go-json v0.10.2 // indirect
github.com/joho/godotenv v1.5.1 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/cpuid/v2 v2.2.6 // indirect
github.com/leodido/go-urn v1.2.4 // indirect

View file

@ -30,6 +30,8 @@ github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MG
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=