add trade and position service

This commit is contained in:
zipfriis
2026-03-27 10:14:43 +01:00
parent 2c24ee48b0
commit d0cb9af746
7 changed files with 35 additions and 22 deletions

37
main.go
View File

@@ -17,6 +17,17 @@ import (
var db *sql.DB
func corsMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log.Printf("Incoming request: %s %s from %s", r.Method, r.URL.Path, r.Header.Get("Origin"))
if r.Method == http.MethodOptions {
w.WriteHeader(http.StatusNoContent)
return
}
next.ServeHTTP(w, r)
})
}
func main() {
var err error
db, err = sql.Open("sqlite3", "./app.db?_foreign_keys=on")
@@ -32,31 +43,33 @@ func main() {
database.InitDB(db)
fmt.Println("Connected to SQLite database")
http.HandleFunc("/health", handlers.HealthHandler(db))
mux := http.NewServeMux()
mux.HandleFunc("/health", handlers.HealthHandler(db))
//Trades
http.HandleFunc("POST /trade/add", handlers.AddTradeHandler(db))
http.HandleFunc("GET /trade/list", handlers.GetTradeListHandler(db))
http.HandleFunc("GET /positions/list", handlers.GetTradeListHandler(db))
mux.HandleFunc("POST /trade/add", handlers.AddTradeHandler(db))
mux.HandleFunc("GET /trade/list", handlers.GetTradeListHandler(db))
mux.HandleFunc("GET /positions/list", handlers.GetPositionListHandler(db))
// Company
http.HandleFunc("POST /company/add", handlers.AddCompanyHandler(db))
http.HandleFunc("GET /company/list", handlers.GetCompaniesHandler(db))
http.HandleFunc("GET /company/revenue/categories", handlers.GetCompanyRevenueCategories(db))
mux.HandleFunc("POST /company/add", handlers.AddCompanyHandler(db))
mux.HandleFunc("GET /company/list", handlers.GetCompaniesHandler(db))
mux.HandleFunc("GET /company/revenue/categories", handlers.GetCompanyRevenueCategories(db))
// Currency
http.HandleFunc("GET /currency/list", handlers.GetCurrenciesHandler(db))
http.HandleFunc("POST /currency/add", handlers.AddCurrencyHandler(db))
mux.HandleFunc("GET /currency/list", handlers.GetCurrenciesHandler(db))
mux.HandleFunc("POST /currency/add", handlers.AddCurrencyHandler(db))
// Revenue
http.HandleFunc("POST /add/revenue/entry", handlers.AddRevenueEntryHandler(db))
http.HandleFunc("POST /api/v1/revenue/add", handlers.AddRevenueEntryHandler(db))
mux.HandleFunc("POST /add/revenue/entry", handlers.AddRevenueEntryHandler(db))
mux.HandleFunc("POST /api/v1/revenue/add", handlers.AddRevenueEntryHandler(db))
//http.HandleFunc("GET /revenue/report", handlers.GetRevenueReportHandler(db))
fmt.Println("Server running on :8080")
go func() {
log.Fatal(http.ListenAndServe(":8080", nil))
log.Fatal(http.ListenAndServe(":8080", corsMiddleware(mux)))
}()
runShell(db)