Skip to content

feat: Go SDK update for version v7.8.0 - #83

Merged
ChiragAgg5k merged 18 commits into
mainfrom
dev
Oct 8, 2026
Merged

ChiragAgg5k merged 18 commits into
mainfrom
dev

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

This PR contains updates to the SDK for version v7.8.0.

What's Changed

  • Breaking: Analytics.CreateProperty and UpdateProperty drop the Timezone option
  • Breaking: AnalyticsProperty drops Timezone and SnippetId, adds AccessedAt and FirstAccessedAt
  • Breaking: nullable DedicatedDatabase, DedicatedDatabaseBranch and DedicatedDatabaseRestoration fields are pointers
  • Breaking: nullable Organization billing and payment method fields are pointers
  • Breaking: Oauth2 resource options take a list of resource URIs instead of a string
  • Added: Waf service to list, get, delete and create or update bypass, challenge, deny, rate limit and redirect rules
  • Added: a model per WAF rule action; GetRule and ListRules return the one matching each rule's Action
  • Added: PolicyPasskey model returned by Project.GetPolicy
  • Updated: requests send X-Appwrite-Response-Format 2.4.0

@hansi-codes

hansi-codes Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

🟢 Tier S · Ready to merge

This pull request updates the Go SDK to v7.8.0 for Appwrite API 2.4.0, adding WAF rule operations and action-specific models alongside analytics, passkey, OAuth2, and nullable response-model updates. It also refreshes examples, fixtures, and service/model tests for the revised request and response shapes.

Latest changes: The latest commits dispatch GetRule responses to the model for the returned action, change WafRuleList.Rules to interface values, and add a redirect-dispatch assertion and corresponding changelog entry.

Verdict New comments Fixed Still open
✅ Approved 0 1 0
📂 Walkthrough · 7
File Change
CHANGELOG.md, README.md, client/client.go Document v7.8.0 and use the Appwrite 2.4.0 response-format header.
analytics/analytics.go, analytics/analytics_test.go, models/analyticsProperty*.go, docs/examples/analytics Update analytics property fields and options, tests, and examples.
appwrite/appwrite.go, waf/waf.go, waf/waf_test.go, models/wafRule*.go, docs/examples/waf Add WAF rule operations and action-specific models; the latest changes add GetRule action dispatch.
models/dedicatedDatabase*.go, models/organization.go, related model tests, and service tests Represent nullable database and organization response fields with pointers and update coverage.
models/policyPasskey.go, models/policyPasskey_test.go, project/project.go, project/project_test.go Add passkey policy decoding and project coverage.
oauth2/oauth2.go, docs/examples/oauth2 Represent OAuth2 resource options as URI lists and update examples.
documentsdb/documents_db_test.go, mongo/mongo_test.go, mysql/mysql_test.go, postgresql/postgresql_test.go, tablesdb/tables_db_test.go, vectorsdb/vectors_db_test.go, organization/organization_test.go, models/*_test.go Update service and model fixtures/tests for the revised response shapes and SDK contracts.
✅ Fixed since the last review · 1
  • Preserve action-specific fields in generic rule reads · models/wafRule.go:37
🔇 Filtered out · 1

Findings Hansi considered but did not post.

Finding Why
Exercise every GetRule action dispatch Verifier: The repository's comparable polymorphic Get* tests (for example GetPlatform, GetColumn, and GetAttribute) also exercise only one representative model branch rather than every supported mapping. Per the review rule, drop missing-test findings when comparable code is not tested exhaustively.

Reviewed the commits since 81c3a96 · Details · Comment @hansi-codes review to re-run, or mention @hansi-codes with a question.

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Tier B · 1 blocking finding to address. Summary

Comment thread waf/waf.go Outdated
Comment thread models/wafRule.go Outdated
@ChiragAgg5k ChiragAgg5k changed the title feat: SDK update for version v7.8.0 feat: Go SDK update for version v7.8.0 Oct 8, 2026
@ChiragAgg5k

Copy link
Copy Markdown
Member Author

Regenerated after appwrite/appwrite#14265. That PR fixes the spec, which had typed conditions as a string, so every With*RuleConditions option now takes []interface{} and sends an array.

On the second finding: GetRule and ListRules declare the generic WafRule, so the typed subtype fields aren't decoded. The same values are still available under Config. Typing those responses as a union of the rule models changes the API contract, so it's left for a separate change.

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Tier B · See the inline comments. Summary

Comment thread oauth2/oauth2.go Outdated

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Tier S · Looks good to merge. Summary

@ChiragAgg5k
ChiragAgg5k merged commit 5b8bc7a into main Oct 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant