Commit c00832ab authored by Grant's avatar Grant
Browse files

remove dist from git

parent c480cbcc
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
node_modules
dist
 No newline at end of file

dist/ShadowAPI.d.ts

deleted100644 → 0
+0 −33
Original line number Diff line number Diff line
import EventEmitter from "eventemitter3";
import { InstanceBanEvent, InstanceUnbanEvent, ShadowEvent, UserBanEvent, UserUnbanEvent } from "./events";
interface Events {
    user_ban: (info: UserBanEvent) => void;
    user_unban: (info: UserUnbanEvent) => void;
    instance_ban: (info: InstanceBanEvent) => void;
    instance_unban: (info: InstanceUnbanEvent) => void;
}
export declare class ShadowAPI extends EventEmitter<Events> {
    private ready;
    private shadow_host;
    private redis_sub;
    private RedisEvents;
    private constructor();
    /**
     * Check shadow_host to make sure it's a shadow endpoint
     * @returns
     */
    probeHost(): Promise<boolean>;
    connectToRedis(): Promise<void>;
    connect(): Promise<void>;
    setupRedisSubscriptions(): void;
    /**
     * Create shadow instance
     * @param shadow_host
     * @param redis_uri
     * @returns
     */
    static create(shadow_host: string, redis_uri: string): ShadowAPI;
    static getAllEvents(): ShadowEvent[];
}
export {};
//# sourceMappingURL=ShadowAPI.d.ts.map
 No newline at end of file

dist/ShadowAPI.d.ts.map

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
{"version":3,"file":"ShadowAPI.d.ts","sourceRoot":"","sources":["../src/ShadowAPI.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,UAAU,MAAM;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACpD;AAED,qBAAa,SAAU,SAAQ,YAAY,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,WAAW,CAKR;IAEX,OAAO;IAQP;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAK7B,cAAc;IAKd,OAAO;IASb,uBAAuB;IAmBvB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;IAKhE,MAAM,CAAC,YAAY,IAAI,WAAW,EAAE;CAGrC"}
 No newline at end of file

dist/ShadowAPI.js

deleted100644 → 0
+0 −88
Original line number Diff line number Diff line
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ShadowAPI = void 0;
const eventemitter3_1 = __importDefault(require("eventemitter3"));
const redis_1 = require("redis");
const events_1 = require("./events");
class ShadowAPI extends eventemitter3_1.default {
    constructor(shadow_host, redis_uri) {
        super();
        this.ready = false;
        this.RedisEvents = [
            events_1.UserBanEvent,
            events_1.UserUnbanEvent,
            events_1.InstanceBanEvent,
            events_1.InstanceUnbanEvent,
        ];
        this.shadow_host = shadow_host;
        this.redis_sub = (0, redis_1.createClient)({ url: redis_uri });
    }
    /**
     * Check shadow_host to make sure it's a shadow endpoint
     * @returns
     */
    probeHost() {
        return __awaiter(this, void 0, void 0, function* () {
            // TODO: check shadow host and verify it's running & is a shadow endpoint
            return true;
        });
    }
    connectToRedis() {
        return __awaiter(this, void 0, void 0, function* () {
            yield this.redis_sub.connect();
            this.setupRedisSubscriptions();
        });
    }
    connect() {
        return __awaiter(this, void 0, void 0, function* () {
            if (this.ready)
                return;
            yield this.probeHost();
            yield this.connectToRedis();
            this.ready = true;
        });
    }
    setupRedisSubscriptions() {
        // TODO: maybe dynamically create this?
        // or the Events interface?
        const classMapping = [
            [events_1.UserBanEvent, "user_ban"],
            [events_1.UserUnbanEvent, "user_unban"],
            [events_1.InstanceBanEvent, "instance_ban"],
            [events_1.InstanceUnbanEvent, "instance_unban"],
        ];
        const prefix = "shadow:";
        for (const [eventcl, emit] of classMapping) {
            this.redis_sub.subscribe(prefix + eventcl.getChannel(), (data) => {
                this.emit(emit, eventcl.fromString(data));
            });
        }
    }
    /**
     * Create shadow instance
     * @param shadow_host
     * @param redis_uri
     * @returns
     */
    static create(shadow_host, redis_uri) {
        const shadow = new this(shadow_host, redis_uri);
        return shadow;
    }
    static getAllEvents() {
        return [events_1.UserBanEvent, events_1.UserUnbanEvent, events_1.InstanceBanEvent, events_1.InstanceUnbanEvent];
    }
}
exports.ShadowAPI = ShadowAPI;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93QVBJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NoYWRvd0FQSS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRUFBeUM7QUFDekMsaUNBQXNEO0FBQ3RELHFDQU1rQjtBQVNsQixNQUFhLFNBQVUsU0FBUSx1QkFBb0I7SUFZakQsWUFBb0IsV0FBbUIsRUFBRSxTQUFpQjtRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQVpGLFVBQUssR0FBWSxLQUFLLENBQUM7UUFJdkIsZ0JBQVcsR0FBRztZQUNwQixxQkFBWTtZQUNaLHVCQUFjO1lBQ2QseUJBQWdCO1lBQ2hCLDJCQUFrQjtTQUNWLENBQUM7UUFLVCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEsb0JBQVksRUFBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDRyxTQUFTOztZQUNiLHlFQUF5RTtZQUN6RSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTtJQUVLLGNBQWM7O1lBQ2xCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFSyxPQUFPOztZQUNYLElBQUksSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUV2QixNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO0tBQUE7SUFFRCx1QkFBdUI7UUFDckIsdUNBQXVDO1FBQ3ZDLDJCQUEyQjtRQUMzQixNQUFNLFlBQVksR0FBd0Q7WUFDeEUsQ0FBQyxxQkFBWSxFQUFFLFVBQVUsQ0FBQztZQUMxQixDQUFDLHVCQUFjLEVBQUUsWUFBWSxDQUFDO1lBQzlCLENBQUMseUJBQWdCLEVBQUUsY0FBYyxDQUFDO1lBQ2xDLENBQUMsMkJBQWtCLEVBQUUsZ0JBQWdCLENBQUM7U0FDdkMsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUV6QixLQUFLLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFtQixFQUFFLFNBQWlCO1FBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNoRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVk7UUFDakIsT0FBTyxDQUFDLHFCQUFZLEVBQUUsdUJBQWMsRUFBRSx5QkFBZ0IsRUFBRSwyQkFBa0IsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRjtBQTVFRCw4QkE0RUMifQ==
 No newline at end of file

dist/events/BanEvent.d.ts

deleted100644 → 0
+0 −12
Original line number Diff line number Diff line
import { IBroadcastable } from "..";
export declare class BanEvent implements IBroadcastable {
    private sub;
    private expiresAt;
    private public_reason?;
    constructor(sub: string, expiresAt: Date, public_reason?: string);
    static getChannel(): string;
    static fromString(data: string): BanEvent;
    getChannel(): string;
    getMessage(): string;
}
//# sourceMappingURL=BanEvent.d.ts.map
 No newline at end of file
Loading