Skip to content

Commit 8fa2579

Browse files
authored
Switch to fetch API instead of axios (#412)
* npm update * Update action versions * Upgrade openapitools * Fix build error * Try to fix tests * Jest config in correct place * Initialize slices * Switch to native fetch API * Use middleware and set token after refresh * Remove unused import * Eliminate circular imports * Update version * Eliminate unnecessary export * Cleanup * No need for this method * Move logic down * Just remove them * Move retry to API layer * No need for globals * Type check
1 parent e7110f4 commit 8fa2579

File tree

33 files changed

+2167
-1956
lines changed

33 files changed

+2167
-1956
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@ jobs:
1616
name: Check
1717
runs-on: ubuntu-22.04
1818
steps:
19-
- uses: actions/checkout@v3
19+
- uses: actions/checkout@v4
2020
with:
2121
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
22-
- uses: actions/setup-node@v3
22+
- uses: actions/setup-node@v4
2323
with:
2424
node-version: "lts/*"
25-
- uses: actions/setup-go@v3
25+
- uses: actions/setup-go@v5
2626
with:
2727
go-version: "1.22.x"
2828
- run: make install
2929
- run: make lint test
30-
- uses: actions/upload-artifact@v3
30+
- uses: actions/upload-artifact@v4
3131
with:
3232
name: coverage
3333
path: |
@@ -41,18 +41,18 @@ jobs:
4141
name: Build
4242
runs-on: ubuntu-22.04
4343
steps:
44-
- uses: actions/checkout@v3
45-
- uses: actions/setup-node@v3
44+
- uses: actions/checkout@v4
45+
- uses: actions/setup-node@v4
4646
with:
4747
node-version: "lts/*"
48-
- uses: actions/setup-go@v3
48+
- uses: actions/setup-go@v5
4949
with:
5050
go-version: "1.22.x"
51-
- uses: docker/setup-buildx-action@v2
52-
- uses: docker/setup-qemu-action@v2
51+
- uses: docker/setup-buildx-action@v3
52+
- uses: docker/setup-qemu-action@v3
5353
with:
5454
platforms: arm,arm64
55-
- uses: docker/login-action@v2
55+
- uses: docker/login-action@v3
5656
with:
5757
registry: ${{ env.CONTAINER_REGISTRY }}
5858
username: ${{ github.actor }}
@@ -65,12 +65,12 @@ jobs:
6565
- run: make build docker BUILD_VERSION="v$(echo $GITHUB_REF | sed -e 's/^refs\/tags\///')" CONTAINER_TAG="$(echo $GITHUB_REF | sed -e 's/^refs\/tags\///')"
6666
if: startswith(github.ref, 'refs/tags/')
6767
- run: make archive
68-
- uses: actions/upload-artifact@v3
68+
- uses: actions/upload-artifact@v4
6969
with:
7070
name: artifacts
7171
path: |
7272
build/gomp-*
73-
- uses: softprops/action-gh-release@v1
73+
- uses: softprops/action-gh-release@v2
7474
if: startsWith(github.ref, 'refs/tags/')
7575
with:
7676
files: |

api/authentication.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ func parseToken(tokenStr, key string) (*jwt.Token, error) {
189189
}
190190

191191
func getScopes(accessLevel models.AccessLevel) []string {
192-
var scopes []string
192+
scopes := make([]string, 0)
193193

194194
scopes = append(scopes, string(models.Viewer))
195195
switch accessLevel {

api/recipes.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ func (h apiHandler) Find(_ context.Context, request FindRequestObject) (FindResp
1212
if params.Q != nil {
1313
query = *params.Q
1414
}
15-
var fields []models.SearchField
15+
fields := make([]models.SearchField, 0)
1616
if params.Fields != nil {
1717
fields = *params.Fields
1818
}
19-
var states []models.RecipeState
19+
states := make([]models.RecipeState, 0)
2020
if params.States != nil {
2121
states = *params.States
2222
}
23-
var tags []string
23+
tags := make([]string, 0)
2424
if params.Tags != nil {
2525
tags = *params.Tags
2626
}
@@ -51,7 +51,7 @@ func (h apiHandler) Find(_ context.Context, request FindRequestObject) (FindResp
5151
return nil, err
5252
}
5353

54-
return Find200JSONResponse{Recipes: *recipes, Total: total}, nil
54+
return Find200JSONResponse{Recipes: recipes, Total: total}, nil
5555
}
5656

5757
func (h apiHandler) GetRecipe(_ context.Context, request GetRecipeRequestObject) (GetRecipeResponseObject, error) {

db/image-sql.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func (*sqlRecipeImageDriver) updateMainImageImpl(recipeId, id int64, db sqlx.Exe
7171

7272
func (d *sqlRecipeImageDriver) List(recipeId int64) (*[]models.RecipeImage, error) {
7373
return get(d.Db, func(db sqlx.Queryer) (*[]models.RecipeImage, error) {
74-
var images []models.RecipeImage
74+
images := make([]models.RecipeImage, 0)
7575

7676
if err := sqlx.Select(db, &images, "SELECT * FROM recipe_image WHERE recipe_id = $1 ORDER BY created_at ASC", recipeId); err != nil {
7777
return nil, err

db/link-sql.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func (*sqlLinkDriver) deleteImpl(recipeId, destRecipeId int64, db sqlx.Execer) e
3838

3939
func (d *sqlLinkDriver) List(recipeId int64) (*[]models.RecipeCompact, error) {
4040
return get(d.Db, func(db sqlx.Queryer) (*[]models.RecipeCompact, error) {
41-
var recipes []models.RecipeCompact
41+
recipes := make([]models.RecipeCompact, 0)
4242

4343
selectStmt := "SELECT " +
4444
"r.id, r.name, r.current_state, r.created_at, r.modified_at, COALESCE(g.rating, 0) AS avg_rating, COALESCE(i.thumbnail_url, '') AS thumbnail_url " +

db/note-sql.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (*sqlNoteDriver) deleteAllImpl(recipeId int64, db sqlx.Execer) error {
6060

6161
func (d *sqlNoteDriver) List(recipeId int64) (*[]models.Note, error) {
6262
return get(d.Db, func(db sqlx.Queryer) (*[]models.Note, error) {
63-
var notes []models.Note
63+
notes := make([]models.Note, 0)
6464

6565
if err := sqlx.Select(db, &notes, "SELECT * FROM recipe_note WHERE recipe_id = $1 ORDER BY created_at DESC", recipeId); err != nil {
6666
return nil, err

db/recipe-sql.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ func (d *sqlRecipeDriver) Find(filter *models.SearchFilter, page int64, count in
261261
"LEFT OUTER JOIN recipe_image as i ON r.image_id = i.id " +
262262
whereStmt + orderStmt)
263263

264-
var recipes []models.RecipeCompact
264+
recipes := make([]models.RecipeCompact, 0)
265265
if err = sqlx.Select(d.Db, &recipes, selectStmt, selectArgs...); err != nil {
266266
return nil, 0, err
267267
}
@@ -297,7 +297,7 @@ func (*sqlRecipeDriver) deleteAllTagsImpl(recipeId int64, db sqlx.Execer) error
297297

298298
func (d *sqlRecipeDriver) ListTags(recipeId int64) (*[]string, error) {
299299
return get(d.Db, func(db sqlx.Queryer) (*[]string, error) {
300-
var tags []string
300+
tags := make([]string, 0)
301301
if err := sqlx.Select(db, &tags, "SELECT tag FROM recipe_tag WHERE recipe_id = $1", recipeId); err != nil {
302302
return nil, err
303303
}

db/user-sql.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func (*sqlUserDriver) readSettingsImpl(id int64, db sqlx.Queryer) (*models.UserS
115115
return nil, err
116116
}
117117

118-
var tags []string
118+
tags := make([]string, 0)
119119
if err := sqlx.Select(db, &tags, "SELECT tag FROM app_user_favorite_tag WHERE user_id = $1 ORDER BY tag ASC", id); err != nil {
120120
return nil, err
121121
}
@@ -176,7 +176,7 @@ func (d *sqlUserDriver) List() (*[]models.User, error) {
176176
}
177177

178178
func (*sqlUserDriver) listImpl(db sqlx.Queryer) (*[]models.User, error) {
179-
var users []models.User
179+
users := make([]models.User, 0)
180180

181181
if err := sqlx.Select(db, &users, "SELECT id, username, access_level, created_at, modified_at FROM app_user ORDER BY username ASC"); err != nil {
182182
return nil, err
@@ -283,7 +283,7 @@ func (*sqlUserDriver) readSearchFilterImpl(userId int64, filterId int64, db sqlx
283283
return nil, err
284284
}
285285

286-
var fields []models.SearchField
286+
fields := make([]models.SearchField, 0)
287287
if err := sqlx.Select(
288288
db,
289289
&fields,
@@ -293,7 +293,7 @@ func (*sqlUserDriver) readSearchFilterImpl(userId int64, filterId int64, db sqlx
293293
}
294294
filter.Fields = fields
295295

296-
var states []models.RecipeState
296+
states := make([]models.RecipeState, 0)
297297
if err := sqlx.Select(
298298
db,
299299
&states,
@@ -303,7 +303,7 @@ func (*sqlUserDriver) readSearchFilterImpl(userId int64, filterId int64, db sqlx
303303
}
304304
filter.States = states
305305

306-
var tags []string
306+
tags := make([]string, 0)
307307
if err := sqlx.Select(
308308
db,
309309
&tags,
@@ -370,7 +370,7 @@ func (*sqlUserDriver) deleteSearchFilterImpl(userId int64, filterId int64, db sq
370370
// List retrieves all user's saved search filters.
371371
func (d *sqlUserDriver) ListSearchFilters(userId int64) (*[]models.SavedSearchFilterCompact, error) {
372372
return get(d.Db, func(db sqlx.Queryer) (*[]models.SavedSearchFilterCompact, error) {
373-
var filters []models.SavedSearchFilterCompact
373+
filters := make([]models.SavedSearchFilterCompact, 0)
374374

375375
err := sqlx.Select(
376376
db,

openapi.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -997,7 +997,6 @@ components:
997997
type: object
998998
required:
999999
- total
1000-
- recipes
10011000
properties:
10021001
total:
10031002
type: integer

static/openapitools.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
33
"spaces": 2,
44
"generator-cli": {
5-
"version": "6.6.0",
5+
"version": "7.4.0",
66
"generators": {
7-
"axios": {
8-
"generatorName": "typescript-axios",
7+
"fetch": {
8+
"generatorName": "typescript-fetch",
99
"inputSpec": "../openapi.yaml",
1010
"output": "src/generated"
1111
}

0 commit comments

Comments
 (0)