diff options
| author | Zach Berwaldt <zberwaldt@tutamail.com> | 2024-03-07 19:16:07 -0500 |
|---|---|---|
| committer | Zach Berwaldt <zberwaldt@tutamail.com> | 2024-03-07 19:16:07 -0500 |
| commit | 6651daca670664f3de8af9c7bcb74b1e7c6c6be9 (patch) | |
| tree | f1bb35ef8b0e1d498842a17b84c87c6ee996274e /api/internal/database | |
| parent | 5fa57845052655883120ba4d19a85d8756fb8d8c (diff) | |
Add CORS middleware and authentication middleware to the API server.
The `setupRouter` function in `main.go` now includes a CORS middleware and a token authentication middleware. The CORS middleware allows cross-origin resource sharing by setting the appropriate response headers. The token authentication middleware checks for the presence of an `Authorization` header with a valid bearer token. If the token is missing or invalid, an unauthorized response is returned.
In addition to these changes, a new test file `main_test.go` has been added to test the `/api/v1/auth` route. This test suite includes two test cases: one for successful authentication and one for failed authentication.
Update go.mod to include new dependencies.
The `go.mod` file has been modified to include two new dependencies: `github.com/spf13/viper` and `github.com/stretchr/testify`.
Ignore go.sum changes.
Ignore changes in the `go.sum` file, as they only include updates to existing dependencies.
Diffstat (limited to 'api/internal/database')
| -rw-r--r-- | api/internal/database/database.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/api/internal/database/database.go b/api/internal/database/database.go new file mode 100644 index 0000000..e313af5 --- /dev/null +++ b/api/internal/database/database.go | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | package database | ||
| 2 | |||
| 3 | import ( | ||
| 4 | "database/sql" | ||
| 5 | _ "github.com/mattn/go-sqlite3" | ||
| 6 | "log" | ||
| 7 | ) | ||
| 8 | |||
| 9 | func SetupDatabase() { | ||
| 10 | _, err := sql.Open("sqlite3", "water.db") | ||
| 11 | if err != nil { | ||
| 12 | log.Fatal(err) | ||
| 13 | } | ||
| 14 | } | ||
| 15 | |||
| 16 | func EstablishDBConnection() *sql.DB { | ||
| 17 | db, err := sql.Open("sqlite3", "../db/water.sqlite3") | ||
| 18 | if err != nil { | ||
| 19 | panic(err) | ||
| 20 | } | ||
| 21 | return db | ||
| 22 | } \ No newline at end of file | ||
