Fix issue with jobs not being assigned a command

This commit is contained in:
David Majdandžić
2023-03-30 18:24:57 +02:00
parent 10cf382d00
commit 17a1c10c05
6 changed files with 104 additions and 41 deletions

View File

@@ -19,15 +19,11 @@ export class Client extends SmppSession {
"BOUND",
"BUSY",
]
url: string;
_username: string;
_password: string;
_id: number;
_status: string = this.STATUS[0];
_defaultSingleJob: Job;
_defaultMultipleJob: Job;
pduProcessors: PduProcessor[] = [];
readonly logger: Logger;
private session?: any;
@@ -48,6 +44,32 @@ export class Client extends SmppSession {
this.logger = new Logger(`Client-${id}`);
}
_defaultSingleJob: Job;
get defaultSingleJob(): Job {
return this._defaultSingleJob;
}
set defaultSingleJob(job: Job) {
if (job.pdu && !job.pdu.command) {
job.pdu.command = 'submit_sm';
}
super.defaultSingleJob = job;
}
_defaultMultipleJob: Job;
get defaultMultipleJob(): Job {
return this._defaultMultipleJob;
}
set defaultMultipleJob(job: Job) {
if (job.pdu && !job.pdu.command) {
job.pdu.command = 'submit_sm';
}
super.defaultMultipleJob = job;
}
doConnect(): PersistentPromise {
this.connectPromise = new PersistentPromise((resolve, reject) => {
if (this.status !== this.STATUS[0]) {
@@ -90,13 +112,13 @@ export class Client extends SmppSession {
serialize(): object {
return {
id: this.id,
id: this._id,
url: this.url,
username: this.username,
password: this.password,
status: this.status,
defaultSingleJob: this.defaultSingleJob.serialize(),
defaultMultipleJob: this.defaultMultipleJob.serialize(),
username: this._username,
password: this._password,
status: this._status,
defaultSingleJob: this._defaultSingleJob.serialize(),
defaultMultipleJob: this._defaultMultipleJob.serialize(),
processors: this.pduProcessors.map(p => p.serialize()),
};
}