From 8a9423df6d9f09a0f676c1d45338c1cb88dd9c72 Mon Sep 17 00:00:00 2001 From: Hein Date: Thu, 11 Dec 2025 13:59:41 +0200 Subject: [PATCH] Fixed DatabaseAuthenticator JSON value. Added make tag --- .github/workflows/make_tag.yml | 82 ++++++++++++++++++++++++++++++++++ pkg/security/providers.go | 6 +-- 2 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/make_tag.yml diff --git a/.github/workflows/make_tag.yml b/.github/workflows/make_tag.yml new file mode 100644 index 0000000..88daa4c --- /dev/null +++ b/.github/workflows/make_tag.yml @@ -0,0 +1,82 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: Create Go Release (Tag Versioning) + +on: + workflow_dispatch: + inputs: + semver: + description: "New Version" + required: true + default: "patch" + type: choice + options: + - patch + - minor + - major + +jobs: + tag_and_commit: + name: "Tag and Commit ${{ github.event.inputs.semver }}" + runs-on: linux + permissions: + contents: write # 'write' access to repository contents + pull-requests: write # 'write' access to pull requests + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Git + run: | + git config --global user.name "Hein" + git config --global user.email "hein.puth@gmail.com" + + - name: Fetch latest tag + id: latest_tag + run: | + git fetch --tags + latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`) + echo "::set-output name=tag::$latest_tag" + + - name: Determine new tag version + id: new_tag + run: | + current_tag=${{ steps.latest_tag.outputs.tag }} + version=$(echo $current_tag | cut -c 2-) # remove the leading 'v' + IFS='.' read -r -a version_parts <<< "$version" + major=${version_parts[0]} + minor=${version_parts[1]} + patch=${version_parts[2]} + case "${{ github.event.inputs.semver }}" in + "patch") + ((patch++)) + ;; + "minor") + ((minor++)) + patch=0 + ;; + "release") + ((major++)) + minor=0 + patch=0 + ;; + *) + echo "Invalid semver input" + exit 1 + ;; + esac + new_tag="v$major.$minor.$patch" + echo "::set-output name=tag::$new_tag" + + - name: Create tag + run: | + git tag -a ${{ steps.new_tag.outputs.tag }} -m "Tagging ${{ steps.new_tag.outputs.tag }} for release" + + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.BITECH_GITHUB_TOKEN }} + force: true + tags: true diff --git a/pkg/security/providers.go b/pkg/security/providers.go index ebb4398..df8fc12 100644 --- a/pkg/security/providers.go +++ b/pkg/security/providers.go @@ -111,7 +111,7 @@ func (a *DatabaseAuthenticator) Login(ctx context.Context, req LoginRequest) (*L var dataJSON sql.NullString query := `SELECT p_success, p_error, p_data::text FROM resolvespec_login($1::jsonb)` - err = a.db.QueryRowContext(ctx, query, reqJSON).Scan(&success, &errorMsg, &dataJSON) + err = a.db.QueryRowContext(ctx, query, string(reqJSON)).Scan(&success, &errorMsg, &dataJSON) if err != nil { return nil, fmt.Errorf("login query failed: %w", err) } @@ -145,7 +145,7 @@ func (a *DatabaseAuthenticator) Logout(ctx context.Context, req LogoutRequest) e var dataJSON sql.NullString query := `SELECT p_success, p_error, p_data::text FROM resolvespec_logout($1::jsonb)` - err = a.db.QueryRowContext(ctx, query, reqJSON).Scan(&success, &errorMsg, &dataJSON) + err = a.db.QueryRowContext(ctx, query, string(reqJSON)).Scan(&success, &errorMsg, &dataJSON) if err != nil { return fmt.Errorf("logout query failed: %w", err) } @@ -297,7 +297,7 @@ func (a *DatabaseAuthenticator) updateSessionActivity(ctx context.Context, sessi var updatedUserJSON sql.NullString query := `SELECT p_success, p_error, p_user::text FROM resolvespec_session_update($1, $2::jsonb)` - _ = a.db.QueryRowContext(ctx, query, sessionToken, userJSON).Scan(&success, &errorMsg, &updatedUserJSON) + _ = a.db.QueryRowContext(ctx, query, sessionToken, string(userJSON)).Scan(&success, &errorMsg, &updatedUserJSON) } // RefreshToken implements Refreshable interface