diff --git a/api.json b/api.json index 9c88ea6..b37a4f9 100644 --- a/api.json +++ b/api.json @@ -5,6 +5,44 @@ "version": "1.0.0" }, "paths": { + "/users/{userId}": { + "get": { + "tags": [ + "user" + ], + "summary": "Fetch user info.", + "operationId": "get_user_by_id", + "parameters": [ + { + "in": "path", + "name": "userId", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "4XX": { + "$ref": "#/components/responses/Error" + }, + "5XX": { + "$ref": "#/components/responses/Error" + } + } + } + }, "/version": { "get": { "summary": "Fetch version info.", @@ -51,6 +89,23 @@ "request_id" ] }, + "User": { + "description": "User", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, "VersionInfo": { "description": "Version and build information", "type": "object", @@ -80,5 +135,10 @@ } } } - } + }, + "tags": [ + { + "name": "user" + } + ] } diff --git a/flake.nix b/flake.nix index 3858800..7f35a94 100644 --- a/flake.nix +++ b/flake.nix @@ -49,6 +49,7 @@ root = ./.; fileset = pkgs.lib.fileset.unions [ ./api.json + ./controller/.sqlx (craneLib.fileset.commonCargoSources ./.) ]; }; @@ -116,6 +117,7 @@ formatter = (treefmt-nix.lib.evalModule pkgs { projectRootFile = "flake.nix"; + programs = { nixfmt.enable = true; nixfmt.package = pkgs.nixfmt-rfc-style; diff --git a/justfile b/justfile index e081281..ce609e7 100644 --- a/justfile +++ b/justfile @@ -50,6 +50,10 @@ machete: open-api: cargo xtask open-api +# Update OpenAPI spec +open-api-update: + cargo xtask open-api > api.json + # Run all tests check: check-nix