mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00

* feat: idle sleep for proxmox LXCs * refactor: replace deprecated docker api types * chore(api): remove debug task list endpoint * refactor: move servemux to gphttp/servemux; favicon.go to v1/favicon * refactor: introduce Pool interface, move agent_pool to agent module * refactor: simplify api code * feat: introduce debug api * refactor: remove net.URL and net.CIDR types, improved unmarshal handling * chore: update Makefile for debug build tag, update README * chore: add gperr.Unwrap method * feat: relative time and duration formatting * chore: add ROOT_DIR environment variable, refactor * migration: move homepage override and icon cache to $BASE_DIR/data, add migration code * fix: nil dereference on marshalling service health * fix: wait for route deletion * chore: enhance tasks debuggability * feat: stdout access logger and MultiWriter * fix(agent): remove agent properly on verify error * fix(metrics): disk exclusion logic and added corresponding tests * chore: update schema and prettify, fix package.json and Makefile * fix: I/O buffer not being shrunk before putting back to pool * feat: enhanced error handling module * chore: deps upgrade * feat: better value formatting and handling --------- Co-authored-by: yusing <yusing@6uo.me>
69 lines
1.8 KiB
TypeScript
69 lines
1.8 KiB
TypeScript
import { URL } from "../types";
|
|
export declare const NOTIFICATION_PROVIDERS: readonly [
|
|
"webhook",
|
|
"gotify",
|
|
"ntfy",
|
|
];
|
|
export type NotificationProvider = (typeof NOTIFICATION_PROVIDERS)[number];
|
|
export type NotificationConfig = {
|
|
name: string;
|
|
url: URL;
|
|
};
|
|
export interface GotifyConfig extends NotificationConfig {
|
|
provider: "gotify";
|
|
token: string;
|
|
}
|
|
export declare const NTFY_MSG_STYLES: string[];
|
|
export type NtfyStyle = (typeof NTFY_MSG_STYLES)[number];
|
|
export interface NtfyConfig extends NotificationConfig {
|
|
provider: "ntfy";
|
|
topic: string;
|
|
token?: string;
|
|
style?: NtfyStyle;
|
|
}
|
|
export declare const WEBHOOK_TEMPLATES: readonly ["", "discord"];
|
|
export declare const WEBHOOK_METHODS: readonly ["POST", "GET", "PUT"];
|
|
export declare const WEBHOOK_MIME_TYPES: readonly [
|
|
"application/json",
|
|
"application/x-www-form-urlencoded",
|
|
"text/plain",
|
|
"text/markdown",
|
|
];
|
|
export declare const WEBHOOK_COLOR_MODES: readonly ["hex", "dec"];
|
|
export type WebhookTemplate = (typeof WEBHOOK_TEMPLATES)[number];
|
|
export type WebhookMethod = (typeof WEBHOOK_METHODS)[number];
|
|
export type WebhookMimeType = (typeof WEBHOOK_MIME_TYPES)[number];
|
|
export type WebhookColorMode = (typeof WEBHOOK_COLOR_MODES)[number];
|
|
export interface WebhookConfig extends NotificationConfig {
|
|
provider: "webhook";
|
|
/**
|
|
* Webhook template
|
|
*
|
|
* @default "discord"
|
|
*/
|
|
template?: WebhookTemplate;
|
|
token?: string;
|
|
/**
|
|
* Webhook message (usally JSON),
|
|
* required when template is not defined
|
|
*/
|
|
payload?: string;
|
|
/**
|
|
* Webhook method
|
|
*
|
|
* @default "POST"
|
|
*/
|
|
method?: WebhookMethod;
|
|
/**
|
|
* Webhook mime type
|
|
*
|
|
* @default "application/json"
|
|
*/
|
|
mime_type?: WebhookMimeType;
|
|
/**
|
|
* Webhook color mode
|
|
*
|
|
* @default "hex"
|
|
*/
|
|
color_mode?: WebhookColorMode;
|
|
}
|