diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 72f35edc..06fb8172 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -12,7 +12,7 @@ updates: - "*" - package-ecosystem: "gradle" - directory: "/example/example1" + directory: "/examples/basic-examples" schedule: interval: "monthly" groups: diff --git a/example/README.md b/example/README.md deleted file mode 100644 index 225a5eec..00000000 --- a/example/README.md +++ /dev/null @@ -1,49 +0,0 @@ -## Examples of using the OpenFGA Java SDK - -A set of Examples on how to call the OpenFGA Java SDK - -### Examples -Example 1: -A bare-bones example. It creates a store, and runs a set of calls against it including creating a model, writing tuples and checking for access. -This example is implemented in both Java and Kotlin. - - -### Running the Examples - -Prerequisites: -- `docker` -- `make` -- A Java Runtime Environment (JRE) - -#### Run using a published SDK - -Steps -1. Clone/Copy the example folder -2. Run `make` to build the project -3. If you have an OpenFGA server running, you can use it, otherwise run `make run-openfga` to spin up an instance (you'll need to switch to a different terminal after - don't forget to close it when done) -4. Run `make run` to run the example - -#### Run using a local unpublished SDK build - -Steps -1. Build the SDK -2. In the Example project file (e.g. `build.gradle`), comment out the part that specifies the remote SDK, e.g. -```groovy -dependencies { - implementation("dev.openfga:openfga-sdk:0.4.+") - - // ...etc -} -``` -and replace it with one pointing to the local gradle project, e.g. -```groovy -dependencies { - // implementation("dev.openfga:openfga-sdk:0.4.+") - implementation project(path: ':') - - // ...etc -} -``` -3. Run `make` to build the project -4. If you have an OpenFGA server running, you can use it, otherwise run `make run-openfga` to spin up an instance (you'll need to switch to a different terminal after - don't forget to close it when done) -5. Run `make run` to run the example diff --git a/example/example1/gradle/wrapper/gradle-wrapper.jar b/example/example1/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index ccebba77..00000000 Binary files a/example/example1/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/example/Makefile b/examples/basic-examples/Makefile similarity index 57% rename from example/Makefile rename to examples/basic-examples/Makefile index c5a01e32..07d42ec1 100644 --- a/example/Makefile +++ b/examples/basic-examples/Makefile @@ -1,16 +1,14 @@ all: build -project_name=example1 +project_name=. openfga_version=latest language=java build: - cd "${project_name}" && \ - ./gradlew -P language=$(language) build + ./gradlew -P language=$(language) build run: - cd "${project_name}" && \ - ./gradlew -P language=$(language) run + ./gradlew -P language=$(language) run run-openfga: docker pull docker.io/openfga/openfga:${openfga_version} && \ diff --git a/example/example1/README.md b/examples/basic-examples/README.md similarity index 100% rename from example/example1/README.md rename to examples/basic-examples/README.md diff --git a/example/example1/build.gradle b/examples/basic-examples/build.gradle similarity index 100% rename from example/example1/build.gradle rename to examples/basic-examples/build.gradle diff --git a/example/example1/gradle.properties b/examples/basic-examples/gradle.properties similarity index 100% rename from example/example1/gradle.properties rename to examples/basic-examples/gradle.properties diff --git a/example/example1/gradle/wrapper/gradle-wrapper.properties b/examples/basic-examples/gradle/wrapper/gradle-wrapper.properties similarity index 92% rename from example/example1/gradle/wrapper/gradle-wrapper.properties rename to examples/basic-examples/gradle/wrapper/gradle-wrapper.properties index 42defcc9..9b0a13f0 100644 --- a/example/example1/gradle/wrapper/gradle-wrapper.properties +++ b/examples/basic-examples/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/example/example1/gradlew b/examples/basic-examples/gradlew old mode 100644 new mode 100755 similarity index 100% rename from example/example1/gradlew rename to examples/basic-examples/gradlew diff --git a/example/example1/settings.gradle b/examples/basic-examples/settings.gradle similarity index 100% rename from example/example1/settings.gradle rename to examples/basic-examples/settings.gradle diff --git a/example/example1/src/main/java/dev/openfga/sdk/example/Example1.java b/examples/basic-examples/src/main/java/dev/openfga/sdk/example/Example1.java similarity index 97% rename from example/example1/src/main/java/dev/openfga/sdk/example/Example1.java rename to examples/basic-examples/src/main/java/dev/openfga/sdk/example/Example1.java index 3961f84f..97d0cfe0 100644 --- a/example/example1/src/main/java/dev/openfga/sdk/example/Example1.java +++ b/examples/basic-examples/src/main/java/dev/openfga/sdk/example/Example1.java @@ -28,8 +28,7 @@ public void run(String apiUrl) throws Exception { var configuration = new ClientConfiguration() .apiUrl(apiUrl) // required, e.g. https://api.fga.example .storeId(System.getenv("FGA_STORE_ID")) // not needed when calling `CreateStore` or `ListStores` - .authorizationModelId( - System.getenv("FGA_MODEL_ID")) // Optional, can be overridden per request + .authorizationModelId(System.getenv("FGA_MODEL_ID")) // Optional, can be overridden per request .credentials(credentials); var fgaClient = new OpenFgaClient(configuration); @@ -114,8 +113,9 @@ public void run(String apiUrl) throws Exception { new ClientTupleKey() .user("user:anne") .relation("owner") - ._object("document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a") // different relation - )), + ._object("document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a") // different + // relation + )), new ClientWriteOptions() .disableTransactions(true) .authorizationModelId(authorizationModel.getAuthorizationModelId())) diff --git a/example/example1/src/main/kotlin/dev/openfga/sdk/example/KotlinExample1.kt b/examples/basic-examples/src/main/kotlin/dev/openfga/sdk/example/KotlinExample1.kt similarity index 100% rename from example/example1/src/main/kotlin/dev/openfga/sdk/example/KotlinExample1.kt rename to examples/basic-examples/src/main/kotlin/dev/openfga/sdk/example/KotlinExample1.kt diff --git a/example/example1/src/main/resources/example1-auth-model.json b/examples/basic-examples/src/main/resources/example1-auth-model.json similarity index 100% rename from example/example1/src/main/resources/example1-auth-model.json rename to examples/basic-examples/src/main/resources/example1-auth-model.json