Switch from ajv to io-ts for config validation; validate configs on save in the API/dashboard; start work on creating io-ts schemas for all plugins

This commit is contained in:
Dragory 2019-07-11 12:23:57 +03:00
parent b230a73a6f
commit da114c0e60
14 changed files with 256 additions and 41 deletions

View file

@ -2,12 +2,13 @@ import { Plugin, decorators as d, IPluginOptions } from "knub";
import { GuildChannel, Message, TextChannel } from "eris";
import { GuildSavedMessages } from "../data/GuildSavedMessages";
import { successMessage } from "../utils";
import { ZeppelinPlugin } from "./ZeppelinPlugin";
interface IMessageSaverPluginConfig {
can_manage: boolean;
}
export class MessageSaverPlugin extends Plugin<IMessageSaverPluginConfig> {
export class MessageSaverPlugin extends ZeppelinPlugin<IMessageSaverPluginConfig> {
public static pluginName = "message_saver";
protected savedMessages: GuildSavedMessages;