You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -45,12 +45,30 @@ Please ask as many questions as you need, either directly in the issue or on [Di
45
45
1. Fork the [authorizer](https://github.com/authorizerdev/authorizer) repository (**Skip this step if you have access to repo**)
46
46
2. Clone repo: `git clone https://github.com/authorizerdev/authorizer.git` or use the forked url from step 1
47
47
3. Change directory to authorizer: `cd authorizer`
48
-
5. Create Env file `cp .env.sample .env`. Check all the supported env [here](https://docs.authorizer.dev/core/env/)
49
-
6. Build Dashboard `make build-dashboard`
50
-
7. Build App `make build-app`
51
-
8. Build Server `make clean && make`
48
+
4. Create Env file `cp .env.sample .env`. Check all the supported env [here](https://docs.authorizer.dev/core/env/)
49
+
5. Build Dashboard `make build-dashboard`
50
+
6. Build App `make build-app`
51
+
7. Build Server `make clean && make`
52
52
> Note: if you don't have [`make`](https://www.ibm.com/docs/en/aix/7.2?topic=concepts-make-command), you can `cd` into `server` dir and build using the `go build` command. In that case you will have to build `dashboard` & `app` manually using `npm run build` on both dirs.
53
-
9. Run binary `./build/server`
53
+
8. Run binary `./build/server`
54
+
55
+
### Updating GraphQL schema
56
+
57
+
- Modify `server/graph/schema.graphqls` file
58
+
- Run `make generate-graphql` this will update the models and required methods
59
+
- If a new mutation or query is added
60
+
- Write the implementation for the new resolver in `server/resolvers/NEW_RESOLVER.GO`
61
+
- Update `server/graph/schema.resolvers.go` with the new resolver method
62
+
63
+
### Adding support for new database
64
+
65
+
- Run `make generate-db-template dbname=NEW_DB_NAME`
66
+
eg `make generate-db-template dbname=dynamodb`
67
+
68
+
This command will generate a folder in server/db/providers/ with name specified in the above command.
69
+
One will have to implement methods present in that folder.
70
+
71
+
> Note: Connection for database and schema changes are written in `server/db/providers/DB_NAME/provider.go` > `NewProvider` method is called for any given db based on the env variables present.
54
72
55
73
### Testing
56
74
@@ -87,145 +105,145 @@ For manually testing using graphql playground, you can paste following queries a
0 commit comments