feat(fga): add fgacacheurl parameter for cache proxy support#642
Merged
feat(fga): add fgacacheurl parameter for cache proxy support#642
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds FGA cache proxy support to the Node SDK, enabling sub-millisecond response times for frequently-used FGA operations in high-volume scenarios by routing requests through a local cache proxy.
Key changes:
- Added
fgaCacheUrlconfiguration parameter to SDK initialization - Implemented selective routing of FGA operations (
saveSchema,createRelations,deleteRelations,check) through cache proxy when configured - Maintained full backward compatibility with fallback to standard API when cache URL is not provided
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/index.ts | Added fgaCacheUrl parameter to NodeSdkArgs type and passed FGA configuration to management module |
| lib/management/index.ts | Created FGAConfig type and updated withManagement to accept and forward FGA configuration |
| lib/management/fga.ts | Implemented postWithOptionalCache helper to route requests through cache URL when configured, updated four FGA methods to use cache proxy |
| lib/management/fga.test.ts | Added comprehensive test suite covering cache URL usage for all affected operations and fallback behavior |
| README.md | Documented FGA cache URL feature with configuration examples and list of operations using cache proxy |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes descope/etc#13458
View workflow run
Excellent! All tests are passing now, including the commonjs test. Let me create a summary of the changes:
Summary
I've successfully implemented FGACacheURL support in the node-sdk, mirroring the Python SDK implementation from PR #656. Here's what was done:
Changes Made:
Added
fgaCacheUrlconfiguration parameter (lib/index.ts):NodeSdkArgstypeUpdated management module (
lib/management/index.ts):FGAConfigtype to pass FGA configurationwithManagementto accept and pass FGA configModified FGA module (
lib/management/fga.ts):FGAConfigtype withfgaCacheUrl,managementKey,projectId, andheaderspostWithOptionalCachehelper function that:saveSchemacreateRelationsdeleteRelationscheckAdded comprehensive tests (
lib/management/fga.test.ts):saveSchemacreateRelationsdeleteRelationscheckUpdated documentation (
README.md):Key Features:
fgaCacheUrlis not provided, all FGA operations work exactly as beforesaveSchema,createRelations,deleteRelations,check) use the cache; other operations continue using the standard APITest Results:
The implementation is complete and ready for use!
Created by Shuni 🐕