gotify-client
v0.4.2
Published
[![gotify-client](https://raw.githubusercontent.com/hywax/gotify-client/main/public/cover.jpg)](https://github.com/hywax/vitepress-yandex-metrika)
Downloads
78
Readme
Gotify Client
Full-featured HTTP client to work with Gotify API.
🎯 Features
- 🔥 Code gen. The client is fully compliant with the official documentation.
- 👌 Slim. Zero dependencies.
- ✨ Runner. Browser and Node support.
- 🌐 Custom Http. If you need a custom http client, you can swap it out.
- 🌳 Tree shaking. Only use what you need.
- 🪄️ TypeScript. The library is entirely made in typescript
✨ Installation
# Using pnpm
pnpm add gotify-client -D
# Using yarn
yarn add gotify-client -D
# Using npm
npm install gotify-client -D
⚡ Usage
🚀 Base
import { GotifyClient } from 'gotify-client'
const client = new GotifyClient('http://gotify.home', {
// You must specify at least 1 key
app: 'app_api_key',
client: 'client_api_key'
})
const message = await gotify.message.createMessage({
message: "Test message!"
})
⚙️ Configuration
To execute requests, you need to specify a link to the host
gotify, as well as pass api keys
.
In Gotify there are two token types:
app
: an application is something that sends messages.client
: a client is something that receives message and manages stuff like creating new tokens or delete messages.
constructor(host: string, authKeys: {
app?: string
client?: string
})
🤖 API
The source documentation is fully described in swagger on the official website.
ApplicationApi
| Method | Description | Http request |
|--------|-------------|--------------|
| getApps
| Return all applications. | GET /application
|
| createApp
| Create an application. | POST /application
|
| updateApplication
| Update an application. | PUT /application/${id}
|
| deleteApp
| Delete an application. | DELETE /application/${id}
|
| uploadAppImage
| Upload an image for an application. | POST /application/${id}/image
|
| removeAppImage
| Deletes an image of an application. | DELETE /application/${id}/image
|
| getAppMessages
| Return all messages from a specific application. | GET /application/${id}/message
|
| deleteAppMessages
| Delete all messages from a specific application. | DELETE /application/${id}/message
|
ClientApi
| Method | Description | Http request |
|--------|-------------|--------------|
| getClients
| Return all clients. | GET /client
|
| createClient
| Create a client. | POST /client
|
| updateClient
| Update a client. | PUT /client/${id}
|
| deleteClient
| Delete a client. | DELETE /client/${id}
|
CurrentApi
| Method | Description | Http request |
|--------|-------------|--------------|
| currentUser
| Return the current user. | GET /current/user
|
| updateCurrentUser
| Update the password of the current user. | POST /current/user/password
|
HealthApi
| Method | Description | Http request |
|--------|-------------|--------------|
| getHealth
| Get health information. | GET /health
|
MessageApi
| Method | Description | Http request |
|--------|-------------|--------------|
| getMessages
| Return all messages. | GET /message
|
| createMessage
| Create a message. | POST /message
|
| deleteMessages
| Delete all messages. | DELETE /message
|
| deleteMessage
| Deletes a message with an id. | DELETE /message/${id}
|
PluginApi
| Method | Description | Http request |
|--------|-------------|--------------|
| getPlugins
| Return all plugins. | GET /plugin
|
| getPluginConfig
| Get YAML configuration for Configurer plugin. | GET /plugin/${id}/config
|
| updatePluginConfig
| Update YAML configuration for Configurer plugin. | POST /plugin/${id}/config
|
| disablePlugin
| Disable a plugin. | POST /plugin/${id}/disable
|
| getPluginDisplay
| Get display info for a Displayer plugin. | GET /plugin/${id}/display
|
| enablePlugin
| Enable a plugin. | POST /plugin/${id}/enable
|
StreamApi
| Method | Description | Http request |
|--------|-------------|--------------|
| streamMessages
| Websocket, return newly created messages. | GET /stream
|
UserApi
| Method | Description | Http request |
|--------|-------------|--------------|
| getUsers
| Return all users. | GET /user
|
| createUser
| Create a user. | POST /user
|
| getUser
| Get a user. | GET /user/${id}
|
| updateUser
| Update a user. | POST /user/${id}
|
| deleteUser
| Deletes a user. | DELETE /user/${id}
|
VersionApi
| Method | Description | Http request |
|--------|-------------|--------------|
| getVersion
| Get version information. | GET /version
|
⚡ Advanced
🪄 Custom client
import { MessageApi } from 'gotify-client'
const httpClient = new CustomHttpClient()
const messageApi = new MessageApi(httpClient)
const message = await messageApi.createMessage({
message: "Test message!"
})
📄 License
This template was created under the MIT License.