@@ -1,4 +1,4 @@
|
||||
import { serviceDb, type ServiceDoc } from "./dbs";
|
||||
import { serviceSeqTrackerDb, type ServiceSeqTrackerDocument } from "./dbs";
|
||||
|
||||
export class ServiceSeqTracker {
|
||||
/**
|
||||
@@ -6,7 +6,7 @@ export class ServiceSeqTracker {
|
||||
* @constructor
|
||||
*/
|
||||
static async Init(_id: string) {
|
||||
const serviceDoc = await serviceDb.get(_id).catch((error) => {
|
||||
const doc = await serviceSeqTrackerDb.get(_id).catch((error) => {
|
||||
if (error.name === "not_found") {
|
||||
return {
|
||||
_id,
|
||||
@@ -15,20 +15,20 @@ export class ServiceSeqTracker {
|
||||
}
|
||||
throw error; // Re-throw other errors
|
||||
});
|
||||
return new ServiceSeqTracker(serviceDoc);
|
||||
return new ServiceSeqTracker(doc);
|
||||
}
|
||||
|
||||
private constructor(private serviceDoc: ServiceDoc) {}
|
||||
private constructor(private doc: ServiceSeqTrackerDocument) {}
|
||||
|
||||
get lastSeq() {
|
||||
return this.serviceDoc.lastSeq;
|
||||
return this.doc.lastSeq;
|
||||
}
|
||||
|
||||
checkNextSeq(seq: number | string) {
|
||||
if (!this.serviceDoc) {
|
||||
if (!this.doc) {
|
||||
}
|
||||
const next = parseInt(seq as string, 10);
|
||||
const current = parseInt(this.serviceDoc.lastSeq as string, 10);
|
||||
const current = parseInt(this.doc.lastSeq as string, 10);
|
||||
if (next < current) {
|
||||
throw new Error(
|
||||
`Sequence number is too old: ${seq} (${next} < ${current})`,
|
||||
@@ -37,7 +37,7 @@ export class ServiceSeqTracker {
|
||||
}
|
||||
|
||||
saveSeq(seq: number | string) {
|
||||
this.serviceDoc.lastSeq = seq;
|
||||
return serviceDb.put(this.serviceDoc);
|
||||
this.doc.lastSeq = seq;
|
||||
return serviceSeqTrackerDb.put(this.doc);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user