From d597387286d806a56908f4b14cb9676666c2366f Mon Sep 17 00:00:00 2001 From: Niclas Thobaben Date: Wed, 7 Jul 2021 11:18:50 +0200 Subject: [PATCH] initial commit --- README.md | 3 +++ generate-service.js | 1 + package-lock.json | 5 +++++ package.json | 18 ++++++++++++++++++ templates/default.json | 41 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 68 insertions(+) create mode 100644 README.md create mode 100644 generate-service.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 templates/default.json diff --git a/README.md b/README.md new file mode 100644 index 0000000..da001a1 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# API-CLI + +A commandline interface for generating and linting apibuilder-based api-specs. \ No newline at end of file diff --git a/generate-service.js b/generate-service.js new file mode 100644 index 0000000..0f4336e --- /dev/null +++ b/generate-service.js @@ -0,0 +1 @@ +console.log("Generate a new Service") \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f432d6e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "api-cli", + "version": "1.0.0", + "lockfileVersion": 1 +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fe1edea --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "api-cli", + "version": "1.0.0", + "description": "Commandline interface for generating and linting api-specs.", + "main": "index.js", + "scripts": { + "generate": "node generate-service.js" + }, + "keywords": [ + "api", + "apispec", + "apibuilder", + "nclazz" + ], + "author": "Niclas Thobaben", + "license": "MIT", + "dependencies": {} +} diff --git a/templates/default.json b/templates/default.json new file mode 100644 index 0000000..8bfb1ea --- /dev/null +++ b/templates/default.json @@ -0,0 +1,41 @@ +{ + "name": "", + "description": "Common resources to be implemented by all other services. This spec can be used as a template for other services.", + "info": { + "contact": { + "name": "Niclas Thobaben", + "email": "info@nclazz.de", + "url": "nclazz.de" + } + }, + "imports": [], + "headers": [], + "enums": {}, + "interfaces": {}, + "models": { + "healthcheck": { + "description": "A simple response indicating the health status of a service.", + "fields": [ + { "name": "status", "type": "string" } + ] + } + }, + "unions": {}, + "resources": { + "healthcheck": { + "path": "/_internal_/healthcheck", + "operations": { + "method": "GET", + "path": "/healthcheck", + "description": "Simple healthcheck endpoint to test the status of the service.", + "responses": { + "200": { "type": "healthcheck", "description": "Get the current health status of the service." } + } + } + } + }, + "attributes": {}, + "annotations": { + + } +}