added tests
This commit is contained in:
17
README.md
17
README.md
@@ -1,4 +1,4 @@
|
||||
# micro-license-server
|
||||
# Micro License Server
|
||||
|
||||
A very small, self-hosted license server intended for lower traffic projects.
|
||||
|
||||
@@ -12,3 +12,18 @@ sed -i \
|
||||
-e "s/API_CHANGEME/$(openssl rand -base64 48)/" \
|
||||
.env
|
||||
```
|
||||
|
||||
## API Endpoints
|
||||
|
||||
All authenticated endpoints expect a `Bearer` token via the `Authorization` header that matches `API_KEY` from `.env`. Unless stated otherwise, responses are JSON.
|
||||
|
||||
| Method | Path | Auth | Description | Key Request Parameters | Response Highlights |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `GET` | `/` | No | Returns server metadata. | – | `{"version": "Micro License Server vX.Y.Z"}` |
|
||||
| `POST` | `/license` | Yes | Generates a new license key. | Query: `is_active` (bool, default `true`), `expiration_date` (ISO 8601, optional) | `license_key`, `expiration_timestamp`, `is_active` |
|
||||
| `GET` | `/is_valid` | No | Validates a license key and records last usage time. | Query: `license_key` (required) | Boolean validity |
|
||||
| `POST` | `/license/{license_key}/disable` | Yes | Deactivates a license key. | Path: `license_key` | `license_key`, `is_active: false` |
|
||||
| `POST` | `/license/{license_key}/enable` | Yes | Reactivates a license key. | Path: `license_key` | `license_key`, `is_active: true` |
|
||||
| `POST` | `/license/{license_key}/expiration` | Yes | Sets or clears a license key expiration. | Path: `license_key`; Query: `expiration_date` (ISO 8601 or omit to clear) | `license_key`, `expiration_timestamp` (nullable) |
|
||||
| `GET` | `/license/export` | Yes | Exports license inventory as CSV ordered by issue time. | – | CSV with `license_key,issue_timestamp,expiration_timestamp,is_active` |
|
||||
| `GET` | `/history/export` | Yes | Exports audit history as CSV. | Query: `token` (optional substring filter) | CSV with `action,timestamp` |
|
||||
|
||||
Reference in New Issue
Block a user