Cleanup imports

This commit is contained in:
David Majdandžić
2023-04-05 17:00:25 +02:00
parent eb22a43ee2
commit 7a4aa1eb9c
23 changed files with 88 additions and 100 deletions

View File

@@ -1,15 +1,14 @@
import {PDU} from "../CommonObjects";
import {Job} from "../Job/Job";
import Job from "../Job/Job";
import Logger from "../Logger";
import {PduProcessor} from "../PDUProcessor/PduProcessor";
import {DebugPduProcessor} from "../PDUProcessor/Postprocessor/Center/DebugPduProcessor";
import PduProcessor from "../PDUProcessor/PduProcessor";
import ProcessorManager from "../PDUProcessor/ProcessorManager";
import {SmppSession} from "../SmppSession";
import SmppSession from "../SmppSession";
const NanoTimer = require('nanotimer');
const smpp = require("smpp");
export class Center extends SmppSession {
export default class Center extends SmppSession {
readonly STATUSES: string[] = [
"WAITING CONNECTION",
"CONNECTING",

View File

@@ -1,15 +1,13 @@
import Logger from "../Logger";
import {SessionManager} from "../SessionManager";
import {SmppSession} from "../SmppSession";
import {Center} from "./Center";
import SessionManager from "../SessionManager";
import SmppSession from "../SmppSession";
import Center from "./Center";
const CENTER_SESSIONS_FILE: string = process.env.CENTER_SESSIONS_FILE || "center_sessions.json";
export class CenterSessionManager extends SessionManager {
export default class CenterSessionManager extends SessionManager {
StorageFile: string = CENTER_SESSIONS_FILE
ManagedSessionClass: typeof Center = Center;
sessionId: number = 0;
sessions: Center[] = [];
identifier: string = "Center";
readonly logger: Logger = new Logger("CenterSessionManager");

View File

@@ -1,18 +1,17 @@
import {PDU} from "../CommonObjects";
import {Job} from "../Job/Job";
import Job from "../Job/Job";
import Logger from "../Logger";
import {PduProcessor} from "../PDUProcessor/PduProcessor";
import {DeliverSmReplyProcessor} from "../PDUProcessor/Postprocessor/Client/DeliverSmReplyProcessor";
import PduProcessor from "../PDUProcessor/PduProcessor";
import ProcessorManager from "../PDUProcessor/ProcessorManager";
import PersistentPromise from "../PersistentPromise";
import {SmppSession} from "../SmppSession";
import SmppSession from "../SmppSession";
const NanoTimer = require('nanotimer');
const smpp = require("smpp");
const AUTO_ENQUIRE_LINK_PERIOD: number = Number(process.env.AUTO_ENQUIRE_LINK_PERIOD) || 30000;
export class Client extends SmppSession {
export default class Client extends SmppSession {
readonly STATUSES: string[] = [
"NOT CONNECTED",
"CONNECTING",

View File

@@ -1,15 +1,13 @@
import Logger from "../Logger";
import {SessionManager} from "../SessionManager";
import {SmppSession} from "../SmppSession";
import {Client} from "./Client";
import SessionManager from "../SessionManager";
import SmppSession from "../SmppSession";
import Client from "./Client";
const CLIENT_SESSIONS_FILE: string = process.env.CLIENT_SESSIONS_FILE || "client_sessions.json";
export default class ClientSessionManager extends SessionManager {
StorageFile: string = CLIENT_SESSIONS_FILE;
ManagedSessionClass: typeof Client = Client;
sessionId: number = 0;
sessions: Client[] = [];
identifier: string = "Client";
readonly logger: Logger = new Logger("ClientSessionManager");

View File

@@ -1,12 +1,13 @@
import {Center} from "../Center/Center";
import {CenterSessionManager} from "../Center/CenterSessionManager";
import Center from "../Center/Center";
import CenterSessionManager from "../Center/CenterSessionManager";
import Logger from "../Logger";
import {PduProcessor} from "../PDUProcessor/PduProcessor";
import {SessionManager} from "../SessionManager";
import {SmppSession} from "../SmppSession";
import {RequestHandler} from "./RequestHandler";
import PduProcessor from "../PDUProcessor/PduProcessor";
import ProcessorManager from "../PDUProcessor/ProcessorManager";
import SessionManager from "../SessionManager";
import SmppSession from "../SmppSession";
import RequestHandler from "./RequestHandler";
export class CenterRequestHandler extends RequestHandler {
export default class CenterRequestHandler extends RequestHandler {
sessionManager: CenterSessionManager;
logger: Logger = new Logger(this.constructor.name);
@@ -17,7 +18,7 @@ export class CenterRequestHandler extends RequestHandler {
doGetAvailableProcessors(req: any, res: any): void {
this.logger.log1("Getting available processors");
let processors: PduProcessor[] = PduProcessor.getProcessorsForType(Center.name);
let processors: PduProcessor[] = ProcessorManager.getProcessorsForType(Center.name);
res.send(processors.map((processor: any) => processor.serialize()));
}
@@ -30,16 +31,16 @@ export class CenterRequestHandler extends RequestHandler {
doAddProcessor(req: any, res: any): void {
this.sessionManager.getSession(req.params.id).then((session: SmppSession) => {
let processor: PduProcessor = PduProcessor.getProcessor(req.body.name);
PduProcessor.attachProcessor(session, processor);
let processor: PduProcessor = ProcessorManager.getProcessor(req.body.name);
ProcessorManager.attachProcessor(session, processor);
res.send(session.serialize());
}, this.handleSessionNotFound.bind(this, req, res));
}
doRemoveProcessor(req: any, res: any): void {
this.sessionManager.getSession(req.params.id).then((session: SmppSession) => {
let processor: PduProcessor = PduProcessor.getProcessor(req.body.name);
PduProcessor.detachProcessor(session, processor);
let processor: PduProcessor = ProcessorManager.getProcessor(req.body.name);
ProcessorManager.detachProcessor(session, processor);
res.send(session.serialize());
}, this.handleSessionNotFound.bind(this, req, res));
}

View File

@@ -1,10 +1,11 @@
import {Client} from "../Client/Client";
import Client from "../Client/Client";
import ClientSessionManager from "../Client/ClientSessionManager";
import Logger from "../Logger";
import {PduProcessor} from "../PDUProcessor/PduProcessor";
import {SessionManager} from "../SessionManager";
import {SmppSession} from "../SmppSession";
import {RequestHandler} from "./RequestHandler";
import PduProcessor from "../PDUProcessor/PduProcessor";
import ProcessorManager from "../PDUProcessor/ProcessorManager";
import SessionManager from "../SessionManager";
import SmppSession from "../SmppSession";
import RequestHandler from "./RequestHandler";
export default class ClientRequestHandler extends RequestHandler {
sessionManager: ClientSessionManager;
@@ -17,7 +18,7 @@ export default class ClientRequestHandler extends RequestHandler {
doGetAvailableProcessors(req: any, res: any): void {
this.logger.log1("Getting available processors");
let processors: PduProcessor[] = PduProcessor.getProcessorsForType(Client.name);
let processors: PduProcessor[] = ProcessorManager.getProcessorsForType(Client.name);
res.send(processors.map((processor: any) => processor.serialize()));
}
@@ -30,16 +31,16 @@ export default class ClientRequestHandler extends RequestHandler {
doAddProcessor(req: any, res: any): void {
this.sessionManager.getSession(req.params.id).then((session: SmppSession) => {
let processor: PduProcessor = PduProcessor.getProcessor(req.body.name);
PduProcessor.attachProcessor(session, processor);
let processor: PduProcessor = ProcessorManager.getProcessor(req.body.name);
ProcessorManager.attachProcessor(session, processor);
res.send(session.serialize());
}, this.handleSessionNotFound.bind(this, req, res));
}
doRemoveProcessor(req: any, res: any): void {
this.sessionManager.getSession(req.params.id).then((session: SmppSession) => {
let processor: PduProcessor = PduProcessor.getProcessor(req.body.name);
PduProcessor.detachProcessor(session, processor);
let processor: PduProcessor = ProcessorManager.getProcessor(req.body.name);
ProcessorManager.detachProcessor(session, processor);
res.send(session.serialize());
}, this.handleSessionNotFound.bind(this, req, res));
}

View File

@@ -1,8 +1,8 @@
import Logger from "../Logger";
import {SessionManager} from "../SessionManager";
import {CenterRequestHandler} from "./CenterRequestHandler";
import SessionManager from "../SessionManager";
import CenterRequestHandler from "./CenterRequestHandler";
import ClientRequestHandler from "./ClientRequestHandler";
import {RequestHandler} from "./RequestHandler";
import RequestHandler from "./RequestHandler";
const express = require("express");
const bodyParser = require("body-parser");

View File

@@ -1,9 +1,9 @@
import {Job} from "../Job/Job";
import Job from "../Job/Job";
import Logger from "../Logger";
import {SessionManager} from "../SessionManager";
import {SmppSession} from "../SmppSession";
import SessionManager from "../SessionManager";
import SmppSession from "../SmppSession";
export abstract class RequestHandler {
export default abstract class RequestHandler {
abstract sessionManager: SessionManager;
logger: Logger = new Logger(this.constructor.name);

View File

@@ -4,7 +4,7 @@ import {PDU, SerializedJob} from "../CommonObjects";
const smpp = require("smpp");
// TODO: Use pdu.data_coding for data coding
// See available schemes here https://messaggio.com/industry-specifications-and-standards/smpp-data-coding-scheme/
export class Job {
export default class Job {
static readonly STATE_CHANGED: string = "STATE_CHANGED";
private eventEmitter: EventEmitter = new EventEmitter();

View File

@@ -1,7 +1,7 @@
import {PDU} from "../CommonObjects";
import Logger from "../Logger";
export abstract class PduProcessor {
export default abstract class PduProcessor {
abstract readonly serverSessionType: string;
readonly name: string = this.constructor.name;
readonly logger: Logger = new Logger(`PduProcessor: ${this.name}`);

View File

@@ -1,8 +1,8 @@
import {Center} from "../../../Center/Center";
import Center from "../../../Center/Center";
import {PDU} from "../../../CommonObjects";
import Postprocessor from "../Postprocessor";
export class DebugPduProcessor extends Postprocessor {
export default class DebugPduProcessor extends Postprocessor {
serverSessionType: string = Center.name;
processPdu(session: any, pdu: PDU, ...args: any[]): Promise<any> {

View File

@@ -1,10 +1,10 @@
import {Center} from "../../../Center/Center";
import Center from "../../../Center/Center";
import {PDU} from "../../../CommonObjects";
import Postprocessor from "../Postprocessor";
const smpp = require("smpp");
export class EchoPduProcessor extends Postprocessor {
export default class EchoPduProcessor extends Postprocessor {
serverSessionType: string = Center.name;
processPdu(session: any, pdu: PDU, ...args: any[]): Promise<any> {

View File

@@ -1,8 +1,8 @@
import {Client} from "../../../Client/Client";
import Client from "../../../Client/Client";
import {PDU} from "../../../CommonObjects";
import Postprocessor from "../Postprocessor";
export class DeliverSmReplyProcessor extends Postprocessor {
export default class DeliverSmReplyProcessor extends Postprocessor {
serverSessionType: string = Client.name;
processPdu(session: any, pdu: PDU, ...args: any[]): Promise<any> {

View File

@@ -1,4 +1,4 @@
import {PduProcessor} from "../PduProcessor";
import PduProcessor from "../PduProcessor";
export default abstract class Postprocessor extends PduProcessor {
readonly type: string = this.name;

View File

@@ -1,8 +1,8 @@
import {Client} from "../../../Client/Client";
import Client from "../../../Client/Client";
import {PDU} from "../../../CommonObjects";
import Preprocessor from "../Preprocessor";
export class DestinationEnumeratorProcessor extends Preprocessor {
export default class DestinationEnumeratorProcessor extends Preprocessor {
serverSessionType: string = Client.name;
private iterator = 0;

View File

@@ -1,8 +1,8 @@
import {Client} from "../../../Client/Client";
import Client from "../../../Client/Client";
import {PDU} from "../../../CommonObjects";
import Preprocessor from "../Preprocessor";
export class SourceEnumeratorProcessor extends Preprocessor {
export default class SourceEnumeratorProcessor extends Preprocessor {
serverSessionType: string = Client.name;
private iterator = 0;

View File

@@ -1,4 +1,4 @@
import {PduProcessor} from "../PduProcessor";
import PduProcessor from "../PduProcessor";
export default abstract class Preprocessor extends PduProcessor {
readonly type: string = this.name;

View File

@@ -1,11 +1,11 @@
import Logger from "../Logger";
import {SmppSession} from "../SmppSession";
import {PduProcessor} from "./PduProcessor";
import {DebugPduProcessor} from "./Postprocessor/Center/DebugPduProcessor";
import {EchoPduProcessor} from "./Postprocessor/Center/EchoPduProcessor";
import {DeliverSmReplyProcessor} from "./Postprocessor/Client/DeliverSmReplyProcessor";
import {DestinationEnumeratorProcessor} from "./Preprocessor/Client/DestinationEnumeratorProcessor";
import {SourceEnumeratorProcessor} from "./Preprocessor/Client/SourceEnumeratorProcessor";
import SmppSession from "../SmppSession";
import PduProcessor from "./PduProcessor";
import DebugPduProcessor from "./Postprocessor/Center/DebugPduProcessor";
import EchoPduProcessor from "./Postprocessor/Center/EchoPduProcessor";
import DeliverSmReplyProcessor from "./Postprocessor/Client/DeliverSmReplyProcessor";
import DestinationEnumeratorProcessor from "./Preprocessor/Client/DestinationEnumeratorProcessor";
import SourceEnumeratorProcessor from "./Preprocessor/Client/SourceEnumeratorProcessor";
export default class ProcessorManager {
static readonly preprocessors: PduProcessor[] = [

View File

@@ -1,20 +1,20 @@
import EventEmitter from "events";
import fs from "fs";
import {Job} from "./Job/Job";
import Job from "./Job/Job";
import Logger from "./Logger";
import {SmppSession} from "./SmppSession";
import SmppSession from "./SmppSession";
export abstract class SessionManager {
export default abstract class SessionManager {
// I could've done this by passing these abstract properties to the constructor, but I wanted to have the possibility
// of implementing additional methods
abstract sessions: SmppSession[];
abstract sessionId: number;
abstract comparatorFn: (arg: any, session: SmppSession) => boolean;
readonly abstract identifier: string;
readonly abstract ManagedSessionClass: any;
readonly abstract StorageFile: string;
readonly SESSION_ADDED_EVENT: string = "SESSION ADDED";
sessions: SmppSession[] = [];
sessionId: number = 0;
readonly logger: Logger = new Logger("SessionManager");
readonly eventEmitter: EventEmitter = new EventEmitter();

View File

@@ -1,12 +1,12 @@
import EventEmitter from "events";
import {Job} from "./Job/Job";
import Job from "./Job/Job";
import Logger from "./Logger";
import {PduProcessor} from "./PDUProcessor/PduProcessor";
import PduProcessor from "./PDUProcessor/PduProcessor";
const NanoTimer = require("nanotimer");
const smpp = require("smpp");
export abstract class SmppSession {
export default abstract class SmppSession {
readonly EVENT: any = {
STATUS_CHANGED: "STATUS_CHANGED",
STATE_CHANGED: "STATE_CHANGED",

View File

@@ -1,9 +1,9 @@
import Logger from "../Logger";
import {SessionManager} from "../SessionManager";
import {SmppSession} from "../SmppSession";
import SessionManager from "../SessionManager";
import SmppSession from "../SmppSession";
import ZlibCoder from "../ZlibCoder";
export class ClientSet {
export default class ClientSet {
identifier: string;
private clients: any[];
private readonly type: string;

View File

@@ -1,6 +1,6 @@
import Logger from "../Logger";
import {SessionManager} from "../SessionManager";
import {ClientSet} from "./ClientSet";
import SessionManager from "../SessionManager";
import ClientSet from "./ClientSet";
const WebSocket = require("ws");

View File

@@ -1,16 +1,8 @@
import {Center} from "./Center/Center";
import {CenterSessionManager} from "./Center/CenterSessionManager";
import {Client} from "./Client/Client";
import Center from "./Center/Center";
import CenterSessionManager from "./Center/CenterSessionManager";
import Client from "./Client/Client";
import ClientSessionManager from "./Client/ClientSessionManager";
import {HttpServer} from "./HttpServer/HttpServer";
import Logger from "./Logger";
import {PduProcessor} from "./PDUProcessor/PduProcessor";
import {DebugPduProcessor} from "./PDUProcessor/Postprocessor/Center/DebugPduProcessor";
import {EchoPduProcessor} from "./PDUProcessor/Postprocessor/Center/EchoPduProcessor";
import {DeliverSmReplyProcessor} from "./PDUProcessor/Postprocessor/Client/DeliverSmReplyProcessor";
import {DestinationEnumeratorProcessor} from "./PDUProcessor/Preprocessor/Client/DestinationEnumeratorProcessor";
import {SourceEnumeratorProcessor} from "./PDUProcessor/Preprocessor/Client/SourceEnumeratorProcessor";
import {WSServer} from "./WS/WSServer";
const {PDU} = require("smpp");
@@ -47,7 +39,7 @@ async function main() {
// main();
process.on('exit', cleanup);
process.on('SIGINT', cleanup);
process.on('SIGUSR1', cleanup);
process.on('SIGUSR2', cleanup);
// process.on('exit', cleanup);
// process.on('SIGINT', cleanup);
// process.on('SIGUSR1', cleanup);
// process.on('SIGUSR2', cleanup);