Compare commits

...

10 Commits
v0.5.0 ... main

Author SHA1 Message Date
gitea-actions[bot]
b05c8130ce chore(release): 1.0.0 [skip ci]
# [1.0.0](https://git.debyl.io/debyltech/go-snipcart/compare/v0.6.0...v1.0.0) (2026-01-23)

* feat!: update module path to git.debyl.io ([623060e](623060eef4))

### BREAKING CHANGES

* Module path changed from github.com/debyltech/go-snipcart
to git.debyl.io/debyltech/go-snipcart

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:59:41 -05:00
Bastian de Byl
623060eef4 feat!: update module path to git.debyl.io
All checks were successful
Release / release (push) Successful in 21s
BREAKING CHANGE: Module path changed from github.com/debyltech/go-snipcart
to git.debyl.io/debyltech/go-snipcart

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:59:18 -05:00
gitea-actions[bot]
891ff0daef chore(release): 0.6.0 [skip ci]
# [0.6.0](https://git.debyl.io/debyltech/go-snipcart/compare/v0.5.2...v0.6.0) (2026-01-23)

### Features

* add price, url, image, description, archived fields to Product struct ([ae0e5fc](ae0e5fc379))
2026-01-22 19:54:03 -05:00
Bastian de Byl
ae0e5fc379 feat: add price, url, image, description, archived fields to Product struct
All checks were successful
Release / release (push) Successful in 24s
Extends the Product struct to include additional fields from the Snipcart
Products API response, enabling filtering of archived products and access
to product metadata like images and URLs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:51:24 -05:00
Bastian de Byl
914e49e9be chore: add InProgress status and document all order statuses
Added missing InProgress status constant and added comments to
document the meaning of each order status.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 16:58:43 -05:00
gitea-actions[bot]
43eed98f7c chore(release): 0.5.2 [skip ci]
## [0.5.2](https://git.debyl.io/debyltech/go-snipcart/compare/v0.5.1...v0.5.2) (2026-01-04)

### Bug Fixes

* use fedora runner label for Gitea Actions ([de552fc](de552fc8d4))
2026-01-03 22:44:41 -05:00
Bastian de Byl
de552fc8d4 fix: use fedora runner label for Gitea Actions
All checks were successful
Release / release (push) Successful in 21s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:43:39 -05:00
gitea-actions[bot]
70d6955a63 chore(release): 0.5.1 [skip ci]
## [0.5.1](https://git.debyl.io/debyltech/go-snipcart/compare/v0.5.0...v0.5.1) (2026-01-03)

### Bug Fixes

* migrate semantic-release from GitHub to Gitea ([3b19919](3b1991970b))
* remove persist-credentials to allow semantic-release push ([a8646a6](a8646a6d52))
2026-01-03 17:24:30 -05:00
Bastian de Byl
a8646a6d52 fix: remove persist-credentials to allow semantic-release push
All checks were successful
Release / release (push) Successful in 23s
2026-01-03 17:24:06 -05:00
Bastian de Byl
3b1991970b fix: migrate semantic-release from GitHub to Gitea
Some checks failed
Release / release (push) Failing after 19s
- Replace @semantic-release/github with @saithodev/semantic-release-gitea
- Configure giteaUrl for git.debyl.io
- Use Gitea's automatic GITHUB_TOKEN as GITEA_TOKEN
- Set git author/committer for bot commits
2026-01-02 17:27:31 -05:00
8 changed files with 126 additions and 14 deletions

View File

@@ -10,13 +10,12 @@ permissions:
jobs: jobs:
release: release:
runs-on: ubuntu-latest runs-on: fedora
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
persist-credentials: false
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
@@ -29,10 +28,15 @@ jobs:
@semantic-release/commit-analyzer \ @semantic-release/commit-analyzer \
@semantic-release/release-notes-generator \ @semantic-release/release-notes-generator \
@semantic-release/changelog \ @semantic-release/changelog \
@semantic-release/github \ @saithodev/semantic-release-gitea \
@semantic-release/git @semantic-release/git
- name: Release - name: Release
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Use Gitea's automatic token (requires contents: write permission above)
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_AUTHOR_NAME: gitea-actions[bot]
GIT_AUTHOR_EMAIL: gitea-actions[bot]@users.noreply.git.debyl.io
GIT_COMMITTER_NAME: gitea-actions[bot]
GIT_COMMITTER_EMAIL: gitea-actions[bot]@users.noreply.git.debyl.io
run: npx semantic-release run: npx semantic-release

View File

@@ -27,7 +27,12 @@
"changelogFile": "CHANGELOG.md" "changelogFile": "CHANGELOG.md"
} }
], ],
"@semantic-release/github", [
"@saithodev/semantic-release-gitea",
{
"giteaUrl": "https://git.debyl.io"
}
],
[ [
"@semantic-release/git", "@semantic-release/git",
{ {

View File

@@ -1,3 +1,38 @@
# [1.0.0](https://git.debyl.io/debyltech/go-snipcart/compare/v0.6.0...v1.0.0) (2026-01-23)
* feat!: update module path to git.debyl.io ([623060e](https://git.debyl.io/debyltech/go-snipcart/commit/623060eef47ccb2c7567925e4d93c72999ef495e))
### BREAKING CHANGES
* Module path changed from github.com/debyltech/go-snipcart
to git.debyl.io/debyltech/go-snipcart
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
# [0.6.0](https://git.debyl.io/debyltech/go-snipcart/compare/v0.5.2...v0.6.0) (2026-01-23)
### Features
* add price, url, image, description, archived fields to Product struct ([ae0e5fc](https://git.debyl.io/debyltech/go-snipcart/commit/ae0e5fc37953b1645eb6bf75f6c9fb291dd0a223))
## [0.5.2](https://git.debyl.io/debyltech/go-snipcart/compare/v0.5.1...v0.5.2) (2026-01-04)
### Bug Fixes
* use fedora runner label for Gitea Actions ([de552fc](https://git.debyl.io/debyltech/go-snipcart/commit/de552fc8d4c37fb5af5e93ce4f4b8ae6e8e4bfcc))
## [0.5.1](https://git.debyl.io/debyltech/go-snipcart/compare/v0.5.0...v0.5.1) (2026-01-03)
### Bug Fixes
* migrate semantic-release from GitHub to Gitea ([3b19919](https://git.debyl.io/debyltech/go-snipcart/commit/3b1991970b64ac8c983006d4cf18bc6e080d6511))
* remove persist-credentials to allow semantic-release push ([a8646a6](https://git.debyl.io/debyltech/go-snipcart/commit/a8646a6d5258435b26a052ad57136032bb949ec7))
# [0.5.0](https://git.debyl.io/debyltech/go-snipcart/compare/v0.4.1...v0.5.0) (2026-01-02) # [0.5.0](https://git.debyl.io/debyltech/go-snipcart/compare/v0.4.1...v0.5.0) (2026-01-02)

31
example_get_orders_by.go Normal file
View File

@@ -0,0 +1,31 @@
package main
import (
"flag"
"log"
"github.com/debyltech/go-snipcart/snipcart"
)
func main() {
snipcartApiKey := flag.String("key", "", "Snipcart API Key")
flag.Parse()
if *snipcartApiKey == "" {
log.Fatal("missing -key flag")
}
Client := snipcart.NewClient(*snipcartApiKey)
response, err := Client.GetOrders(map[string]string{
"placedBy": "bastian@bdebyl.net",
})
if err != nil {
log.Fatal(err)
}
log.Println("no errors continuing")
for k, v := range response.Items {
log.Printf("%v: %v\n", k, v)
}
}

32
example_update_order.go Normal file
View File

@@ -0,0 +1,32 @@
package main
import (
"flag"
"log"
"github.com/debyltech/go-snipcart/snipcart"
)
func main() {
snipcartApiKey := flag.String("key", "", "Snipcart API Key")
flag.Parse()
if *snipcartApiKey == "" {
log.Fatal("missing -key flag")
}
Client := snipcart.NewClient(*snipcartApiKey)
updateOrder := snipcart.SnipcartOrderUpdate{
ShippingRateId: "b1f5a5bca34d4e9ea7a55c011b22644f;5677a809435d46cbbb5dda2485295326",
}
response, err := Client.UpdateOrder("e6e72c95-31df-4594-b9a3-8603ce3914c8", &updateOrder)
if err != nil {
log.Fatal(err)
}
for k, v := range response.Items {
log.Printf("%v: %v\n", k, v)
}
}

3
go.mod
View File

@@ -1,9 +1,8 @@
module github.com/debyltech/go-snipcart module git.debyl.io/debyltech/go-snipcart
go 1.19 go 1.19
require ( require (
github.com/debyltech/go-helpers v1.1.1 github.com/debyltech/go-helpers v1.1.1
github.com/debyltech/go-shippr v0.1.0
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
) )

View File

@@ -4,13 +4,14 @@ type OrderStatus string
type NotificationType string type NotificationType string
const ( const (
Processed OrderStatus = "Processed" InProgress OrderStatus = "InProgress" // Open cart, not finalized
Disputed OrderStatus = "Disputed" Pending OrderStatus = "Pending" // Waiting for payment/processing
Shipped OrderStatus = "Shipped" Processed OrderStatus = "Processed" // Order completed
Delivered OrderStatus = "Delivered" Disputed OrderStatus = "Disputed" // Order has dispute
Pending OrderStatus = "Pending" Shipped OrderStatus = "Shipped" // Order shipped
Cancelled OrderStatus = "Cancelled" Delivered OrderStatus = "Delivered" // Order delivered
Dispatched OrderStatus = "Dispatched" Dispatched OrderStatus = "Dispatched" // Order dispatched
Cancelled OrderStatus = "Cancelled" // Order cancelled
Comment NotificationType = "Comment" Comment NotificationType = "Comment"
OrderStatusChanged NotificationType = "OrderStatusChanged" OrderStatusChanged NotificationType = "OrderStatusChanged"

View File

@@ -167,6 +167,11 @@ type Product struct {
Token string `json:"id"` Token string `json:"id"`
Id string `json:"userDefinedId"` Id string `json:"userDefinedId"`
Name string `json:"name"` Name string `json:"name"`
Price float64 `json:"price"`
Url string `json:"url"`
Image string `json:"image"`
Description string `json:"description"`
Archived bool `json:"archived"`
Stock int `json:"stock"` Stock int `json:"stock"`
TotalStock int `json:"totalStock"` TotalStock int `json:"totalStock"`
AllowBackorder bool `json:"allowOutOfStockPurchases"` AllowBackorder bool `json:"allowOutOfStockPurchases"`