@aleonnet/healthcare-scheduler 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ export declare class EventsRepository {
4
4
  private db;
5
5
  private eventBus;
6
6
  constructor(db: StorageDriver, eventBus: EventBus);
7
+ private parseOccurrenceIdHint;
7
8
  private ensurePendingTable;
8
9
  private normalizeToMinute;
9
10
  private resolveOccurrenceBySlot;
@@ -1 +1 @@
1
- {"version":3,"file":"EventsRepository.d.ts","sourceRoot":"","sources":["../../../src/database/repositories/EventsRepository.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;gBADR,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,QAAQ;YAGd,kBAAkB;IAoBhC,OAAO,CAAC,iBAAiB;YAeX,uBAAuB;IAsB/B,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC1B,GACL,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAuG/D,iBAAiB,CACrB,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC1B,GACL,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAuFvB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAkBxD,gBAAgB,CAAC,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBvD,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAO,GAChF,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAwB/D,iBAAiB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAuBzE"}
1
+ {"version":3,"file":"EventsRepository.d.ts","sourceRoot":"","sources":["../../../src/database/repositories/EventsRepository.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;gBADR,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,QAAQ;IAG5B,OAAO,CAAC,qBAAqB;YAWf,kBAAkB;IAoBhC,OAAO,CAAC,iBAAiB;YAeX,uBAAuB;IAsB/B,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC1B,GACL,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IA8H/D,iBAAiB,CACrB,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC1B,GACL,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAuFvB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAkBxD,gBAAgB,CAAC,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBvD,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAO,GAChF,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAwB/D,iBAAiB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAuBzE"}
@@ -7,6 +7,16 @@ class EventsRepository {
7
7
  this.db = db;
8
8
  this.eventBus = eventBus;
9
9
  }
10
+ parseOccurrenceIdHint(occurrenceId) {
11
+ const idx = occurrenceId.indexOf(':');
12
+ if (idx <= 0)
13
+ return null;
14
+ const planId = occurrenceId.slice(0, idx).trim();
15
+ const slotISO = occurrenceId.slice(idx + 1).trim();
16
+ if (!planId || !slotISO)
17
+ return null;
18
+ return { planId, slotISO };
19
+ }
10
20
  async ensurePendingTable() {
11
21
  await this.db.runAsync(`CREATE TABLE IF NOT EXISTS events_pending (
12
22
  id TEXT PRIMARY KEY DEFAULT ('pending:' || strftime('%s','now') || ':' || abs(random())),
@@ -50,60 +60,79 @@ class EventsRepository {
50
60
  return row?.id || null;
51
61
  }
52
62
  async recordEvent(occurrenceId, action, meta = {}) {
53
- let resolvedOccurrenceId = occurrenceId;
54
- const occ = await this.db.getFirstAsync('SELECT status, deleted_at FROM occurrences WHERE id = ?', [occurrenceId]);
55
- if (!occ) {
56
- const payloadObj = meta?.payload || {};
57
- const planId = String(payloadObj.planId || payloadObj.plan_id || '');
58
- const slotISO = String(payloadObj.slotISO || payloadObj.slot_iso || '');
59
- if (planId && slotISO) {
60
- const slotMinute = this.normalizeToMinute(slotISO);
61
- const naturalId = `${planId}:${slotMinute}`;
62
- const naturalOcc = await this.db.getFirstAsync('SELECT status, deleted_at FROM occurrences WHERE id = ?', [naturalId]);
63
- if (naturalOcc) {
64
- resolvedOccurrenceId = naturalId;
65
- console.log(`🔁 [Events] Resolved orphan by natural id: ${occurrenceId} → ${resolvedOccurrenceId}`);
66
- if (naturalOcc.deleted_at && naturalOcc.status !== 'DONE' && naturalOcc.status !== 'SKIPPED') {
67
- console.warn(`⚠️ [Events] Cannot create event for soft-deleted resolved occurrence ${resolvedOccurrenceId} with status ${naturalOcc.status}`);
68
- return { id: '', occurrenceId, action };
63
+ const payload = meta.payload ? JSON.stringify(meta.payload) : null;
64
+ const payloadObj = meta?.payload || {};
65
+ const hint = this.parseOccurrenceIdHint(occurrenceId);
66
+ const hintedPlanId = String(payloadObj.planId || payloadObj.plan_id || hint?.planId || '');
67
+ const hintedSlotISO = String(payloadObj.slotISO || payloadObj.slot_iso || hint?.slotISO || '');
68
+ const result = await (0, queue_1.enqueueWrite)(async () => {
69
+ let txResult = { id: '', occurrenceId, action };
70
+ await this.db.transaction(async () => {
71
+ let resolvedOccurrenceId = occurrenceId;
72
+ const occ = await this.db.getFirstAsync('SELECT status, deleted_at FROM occurrences WHERE id = ?', [resolvedOccurrenceId]);
73
+ if (!occ) {
74
+ if (hintedPlanId && hintedSlotISO) {
75
+ const slotMinute = this.normalizeToMinute(hintedSlotISO);
76
+ const naturalId = `${hintedPlanId}:${slotMinute}`;
77
+ const naturalOcc = await this.db.getFirstAsync('SELECT status, deleted_at FROM occurrences WHERE id = ?', [naturalId]);
78
+ if (naturalOcc) {
79
+ resolvedOccurrenceId = naturalId;
80
+ if (naturalOcc.deleted_at && naturalOcc.status !== 'DONE' && naturalOcc.status !== 'SKIPPED') {
81
+ console.warn(`⚠️ [Events] Cannot create event for soft-deleted resolved occurrence ${resolvedOccurrenceId} with status ${naturalOcc.status}`);
82
+ txResult = { id: '', occurrenceId, action };
83
+ return;
84
+ }
85
+ }
86
+ else {
87
+ const resolved = await this.resolveOccurrenceBySlot(hintedPlanId, hintedSlotISO, 2);
88
+ if (resolved) {
89
+ resolvedOccurrenceId = resolved;
90
+ const resolvedOcc = await this.db.getFirstAsync('SELECT status, deleted_at FROM occurrences WHERE id = ?', [resolvedOccurrenceId]);
91
+ if (resolvedOcc?.deleted_at && resolvedOcc.status !== 'DONE' && resolvedOcc.status !== 'SKIPPED') {
92
+ console.warn(`⚠️ [Events] Cannot create event for soft-deleted resolved occurrence ${resolvedOccurrenceId} with status ${resolvedOcc.status}`);
93
+ txResult = { id: '', occurrenceId, action };
94
+ return;
95
+ }
96
+ }
97
+ else {
98
+ await this.ensurePendingTable();
99
+ await this.db.runAsync(`INSERT INTO events_pending (plan_id, slot_iso_minute, action, source, note, payload) VALUES (?, ?, ?, ?, ?, ?)`, [hintedPlanId, slotMinute, action, meta.source || 'screen', meta.note || null, payload]);
100
+ console.warn(`⏳ [Events] Enqueued pending event (plan=${hintedPlanId} slot=${slotMinute} action=${action})`);
101
+ txResult = { id: '', occurrenceId, action };
102
+ return;
103
+ }
104
+ }
105
+ }
106
+ else {
107
+ console.warn(`⚠️ Orphan event detected (no slot fallback): ${occurrenceId}`);
108
+ txResult = { id: '', occurrenceId, action };
109
+ return;
69
110
  }
70
111
  }
71
112
  else {
72
- const resolved = await this.resolveOccurrenceBySlot(planId, slotISO, 2);
73
- if (resolved) {
74
- resolvedOccurrenceId = resolved;
75
- console.log(`🔁 [Events] Resolved orphan by slot lookup: ${occurrenceId} → ${resolvedOccurrenceId}`);
76
- const resolvedOcc = await this.db.getFirstAsync('SELECT status, deleted_at FROM occurrences WHERE id = ?', [resolvedOccurrenceId]);
77
- if (resolvedOcc?.deleted_at && resolvedOcc.status !== 'DONE' && resolvedOcc.status !== 'SKIPPED') {
78
- console.warn(`⚠️ [Events] Cannot create event for soft-deleted resolved occurrence ${resolvedOccurrenceId} with status ${resolvedOcc.status}`);
79
- return { id: '', occurrenceId, action };
80
- }
113
+ if (occ.deleted_at && occ.status !== 'DONE' && occ.status !== 'SKIPPED') {
114
+ console.warn(`⚠️ [Events] Cannot create event for soft-deleted occurrence ${occurrenceId} with status ${occ.status}`);
115
+ txResult = { id: '', occurrenceId, action };
116
+ return;
81
117
  }
82
- else {
118
+ }
119
+ const id = `evt:${resolvedOccurrenceId}:${action}:${Date.now()}`;
120
+ try {
121
+ await this.db.runAsync("INSERT INTO events (id, occurrence_id, action, source, note, payload, updated_at, version) VALUES (?, ?, ?, ?, ?, ?, datetime('now'), 1)", [id, resolvedOccurrenceId, action, meta.source || 'screen', meta.note || null, payload]);
122
+ }
123
+ catch (e) {
124
+ const msg = String(e?.message || e || '');
125
+ const isFk = msg.toLowerCase().includes('foreign key constraint failed');
126
+ if (isFk && hintedPlanId && hintedSlotISO) {
127
+ const slotMinute = this.normalizeToMinute(hintedSlotISO);
83
128
  await this.ensurePendingTable();
84
- const payloadStr = meta.payload ? JSON.stringify(meta.payload) : null;
85
- await this.db.runAsync(`INSERT INTO events_pending (plan_id, slot_iso_minute, action, source, note, payload) VALUES (?, ?, ?, ?, ?, ?)`, [planId, slotMinute, action, meta.source || 'screen', meta.note || null, payloadStr]);
86
- console.warn(`⏳ [Events] Enqueued pending event (plan=${planId} slot=${slotMinute} action=${action})`);
87
- return { id: '', occurrenceId, action };
129
+ await this.db.runAsync(`INSERT INTO events_pending (plan_id, slot_iso_minute, action, source, note, payload) VALUES (?, ?, ?, ?, ?, ?)`, [hintedPlanId, slotMinute, action, meta.source || 'screen', meta.note || null, payload]);
130
+ console.warn(`⏳ [Events] FK race enqueued pending (plan=${hintedPlanId} slot=${slotMinute} action=${action})`);
131
+ txResult = { id: '', occurrenceId, action };
132
+ return;
88
133
  }
134
+ throw e;
89
135
  }
90
- }
91
- else {
92
- console.warn(`⚠️ Orphan notification detected (no slot fallback): ${occurrenceId}`);
93
- return { id: '', occurrenceId, action };
94
- }
95
- }
96
- else {
97
- if (occ.deleted_at && occ.status !== 'DONE' && occ.status !== 'SKIPPED') {
98
- console.warn(`⚠️ [Events] Cannot create event for soft-deleted occurrence ${occurrenceId} with status ${occ.status}`);
99
- return { id: '', occurrenceId, action };
100
- }
101
- }
102
- const id = `evt:${resolvedOccurrenceId}:${action}:${Date.now()}`;
103
- const payload = meta.payload ? JSON.stringify(meta.payload) : null;
104
- await (0, queue_1.enqueueWrite)(async () => {
105
- await this.db.transaction(async () => {
106
- await this.db.runAsync("INSERT INTO events (id, occurrence_id, action, source, note, payload, updated_at, version) VALUES (?, ?, ?, ?, ?, ?, datetime('now'), 1)", [id, resolvedOccurrenceId, action, meta.source || 'screen', meta.note || null, payload]);
107
136
  let newStatus = 'PENDING';
108
137
  if (action === 'TAKEN')
109
138
  newStatus = 'DONE';
@@ -114,10 +143,14 @@ class EventsRepository {
114
143
  if (newStatus !== 'PENDING') {
115
144
  await this.db.runAsync("UPDATE occurrences SET status = ?, updated_at = datetime('now'), version = version + 1 WHERE id = ? AND status <> ?", [newStatus, resolvedOccurrenceId, newStatus]);
116
145
  }
146
+ txResult = { id, occurrenceId: resolvedOccurrenceId, action };
117
147
  });
148
+ return txResult;
118
149
  });
119
- this.eventBus.emit('occurrences:changed', { occurrenceId: resolvedOccurrenceId, action });
120
- return { id, occurrenceId: resolvedOccurrenceId, action };
150
+ if (result?.id) {
151
+ this.eventBus.emit('occurrences:changed', { occurrenceId: result.occurrenceId, action });
152
+ }
153
+ return result;
121
154
  }
122
155
  async recordEventsBatch(occurrenceIds, action, meta = {}) {
123
156
  if (!Array.isArray(occurrenceIds) || occurrenceIds.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventsRepository.js","sourceRoot":"","sources":["../../../src/database/repositories/EventsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventsRepository.js","sourceRoot":"","sources":["../../../src/database/repositories/EventsRepository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OccurrencesRepository.d.ts","sourceRoot":"","sources":["../../../src/database/repositories/OccurrencesRepository.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAI3E,qBAAa,qBAAqB;IACpB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAM/B,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDZ,iBAAiB,CAAC,OAAO,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuCnB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAoC1C,eAAe,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAyBjD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA+BhD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B7E,OAAO,CAAC,OAAO;IAcT,qBAAqB,CAAC,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CA6BnE"}
1
+ {"version":3,"file":"OccurrencesRepository.d.ts","sourceRoot":"","sources":["../../../src/database/repositories/OccurrencesRepository.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAI3E,qBAAa,qBAAqB;IACpB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAM/B,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6EZ,iBAAiB,CAAC,OAAO,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuCnB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAoC1C,eAAe,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAyBjD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA+BhD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B7E,OAAO,CAAC,OAAO;IAcT,qBAAqB,CAAC,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CA6BnE"}
@@ -32,6 +32,15 @@ class OccurrencesRepository {
32
32
  }
33
33
  for (const occ of toUpdate) {
34
34
  const n = normalize(occ);
35
+ const hasExplicitState = occ.status !== undefined ||
36
+ occ.updated_at !== undefined ||
37
+ occ.deleted_at !== undefined;
38
+ if (!hasExplicitState) {
39
+ await this.db.runAsync(`UPDATE occurrences
40
+ SET qty = ?
41
+ WHERE id = ?`, [n.qty, occ.id]);
42
+ continue;
43
+ }
35
44
  await this.db.runAsync(`UPDATE occurrences
36
45
  SET qty = ?,
37
46
  status = ?,
@@ -1 +1 @@
1
- {"version":3,"file":"OccurrencesRepository.js","sourceRoot":"","sources":["../../../src/database/repositories/OccurrencesRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OccurrencesRepository.js","sourceRoot":"","sources":["../../../src/database/repositories/OccurrencesRepository.ts"],"names":[],"mappings":"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"}
@@ -6,19 +6,28 @@ export declare class GamificationPlugin implements AdherencePluginInterface {
6
6
  private eventBus;
7
7
  private schemaReady;
8
8
  private config;
9
+ private opQueue;
10
+ private runSerial;
11
+ private fullRecomputeRequested;
12
+ private fullRecomputeInFlight;
9
13
  constructor(config: GamificationConfig);
10
14
  bootstrap(context: PluginContext): Promise<void>;
11
15
  dispose(): Promise<void>;
12
16
  private ensureSchema;
13
17
  recomputeDay(dateLocal: Date): Promise<DailyAdherence>;
14
18
  recomputeRange(startLocal: Date, endLocal: Date): Promise<DailyAdherence[]>;
19
+ private _recomputeByOccurrenceIds;
15
20
  recomputeByOccurrenceIds(occurrenceIds: string[]): Promise<void>;
21
+ private _recomputeLastWindow;
22
+ private requestFullRecompute;
16
23
  getDayAdherence(dateLocal: Date): Promise<DailyAdherence>;
17
24
  getAdherenceRange(startLocal: Date, endLocal: Date): Promise<DailyAdherence[]>;
18
25
  getCurrentLevelsState(): Promise<DailyLevelsState>;
19
26
  recomputeLevelsToday(): Promise<DailyLevelsState>;
27
+ private _recomputeLevelsToday;
20
28
  private recomputeLevelsDay;
21
29
  backfill(daysBack?: number): Promise<void>;
30
+ private _getAdherenceRangeNoSerial;
22
31
  private mapAdherenceRow;
23
32
  }
24
33
  export default GamificationPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"GamificationPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/gamification/GamificationPlugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAwBvD,qBAAa,kBAAmB,YAAW,wBAAwB;IACjE,QAAQ,CAAC,IAAI,kBAAkB;IAE/B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,EAAE,kBAAkB;IAIhC,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAIhB,YAAY;IAwCpB,YAAY,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;IA4EtD,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAW3E,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuChE,eAAe,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;IAmBzD,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA8B9E,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IASlD,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAIzC,kBAAkB;IAiG1B,QAAQ,CAAC,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,OAAO,CAAC,eAAe;CAwBxB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"GamificationPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/gamification/GamificationPlugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAwBvD,qBAAa,kBAAmB,YAAW,wBAAwB;IACjE,QAAQ,CAAC,IAAI,kBAAkB;IAE/B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAqB;IAInC,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,qBAAqB,CAA8B;gBAE/C,MAAM,EAAE,kBAAkB;IAIhC,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BhD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAIhB,YAAY;IAwCpB,YAAY,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;IA4EtD,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAYnE,yBAAyB;IAuCjC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAMxD,oBAAoB;IAoBlC,OAAO,CAAC,oBAAoB;IAetB,eAAe,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBzD,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAM9E,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAWlD,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAMzC,qBAAqB;YAIrB,kBAAkB;IAmG1B,QAAQ,CAAC,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAUtC,0BAA0B;IA8BxC,OAAO,CAAC,eAAe;CAwBxB;AAED,eAAe,kBAAkB,CAAC"}
@@ -18,44 +18,38 @@ function plusDays(d, n) {
18
18
  }
19
19
  const recomputingDays = new Set();
20
20
  class GamificationPlugin {
21
+ runSerial(task) {
22
+ const run = () => task();
23
+ const next = this.opQueue.then(run, run);
24
+ this.opQueue = next.then(() => undefined, () => undefined);
25
+ return next;
26
+ }
21
27
  constructor(config) {
22
28
  this.name = 'gamification';
23
29
  this.schemaReady = false;
30
+ this.opQueue = Promise.resolve();
31
+ this.fullRecomputeRequested = false;
32
+ this.fullRecomputeInFlight = null;
24
33
  this.config = config;
25
34
  }
26
35
  async bootstrap(context) {
27
36
  this.storage = context.storage;
28
37
  this.eventBus = context.eventBus;
29
38
  await this.ensureSchema();
30
- const recomputeLast30Days = async () => {
31
- const today = new Date();
32
- const start = plusDays(today, -Math.max(1, this.config.recomputeWindowDays - 1));
33
- const startKey = ymd(start);
34
- const endKey = ymd(today);
35
- console.log(`🎮 [GamificationPlugin] Recomputing ${this.config.recomputeWindowDays} days (${startKey} → ${endKey})`);
36
- for (let i = 0; i < this.config.recomputeWindowDays; i++) {
37
- const d = new Date(today);
38
- d.setDate(d.getDate() - i);
39
- await this.recomputeDay(d);
40
- }
41
- try {
42
- await this.recomputeLevelsToday();
43
- }
44
- catch (e) {
45
- console.warn('⚠️ [GamificationPlugin] Failed to recompute levels after adherence backfill:', e);
46
- }
47
- console.log('🎮 [GamificationPlugin] Recompute complete');
39
+ const requestFullRecompute = () => {
40
+ void this.requestFullRecompute();
48
41
  };
49
42
  this.eventBus.on('occurrences:changed', async (data) => {
50
- if (data.occurrenceIds && Array.isArray(data.occurrenceIds)) {
51
- await this.recomputeByOccurrenceIds(data.occurrenceIds);
52
- }
53
- else if (data.occurrenceId) {
54
- await this.recomputeByOccurrenceIds([data.occurrenceId]);
55
- }
43
+ const ids = (data?.occurrenceIds && Array.isArray(data.occurrenceIds)) ? data.occurrenceIds :
44
+ (data?.occurrenceId ? [data.occurrenceId] : []);
45
+ if (ids.length === 0)
46
+ return;
47
+ void this.runSerial(async () => {
48
+ await this._recomputeByOccurrenceIds(ids);
49
+ });
56
50
  });
57
- this.eventBus.on('plans:changed', recomputeLast30Days);
58
- this.eventBus.on('window:filled', recomputeLast30Days);
51
+ this.eventBus.on('plans:changed', requestFullRecompute);
52
+ this.eventBus.on('window:filled', requestFullRecompute);
59
53
  }
60
54
  async dispose() {
61
55
  }
@@ -153,7 +147,7 @@ class GamificationPlugin {
153
147
  }
154
148
  return results;
155
149
  }
156
- async recomputeByOccurrenceIds(occurrenceIds) {
150
+ async _recomputeByOccurrenceIds(occurrenceIds) {
157
151
  if (!Array.isArray(occurrenceIds) || occurrenceIds.length === 0)
158
152
  return;
159
153
  const placeholders = occurrenceIds.map(() => '?').join(',');
@@ -174,54 +168,86 @@ class GamificationPlugin {
174
168
  for (const d of daysToProcess) {
175
169
  await this.recomputeDay(d);
176
170
  }
177
- await this.recomputeLevelsToday();
171
+ await this._recomputeLevelsToday();
178
172
  }
179
173
  finally {
180
174
  daysToProcess.forEach(d => recomputingDays.delete(ymd(d)));
181
175
  }
182
176
  }
183
- async getDayAdherence(dateLocal) {
184
- await this.ensureSchema();
185
- const key = ymd(dateLocal);
186
- let row = await this.storage.getFirstAsync('SELECT * FROM adherence_daily WHERE date_local = ?', [key]);
187
- if (!row) {
188
- await this.recomputeDay(dateLocal);
189
- row = await this.storage.getFirstAsync('SELECT * FROM adherence_daily WHERE date_local = ?', [key]);
177
+ async recomputeByOccurrenceIds(occurrenceIds) {
178
+ return await this.runSerial(async () => {
179
+ await this._recomputeByOccurrenceIds(occurrenceIds);
180
+ });
181
+ }
182
+ async _recomputeLastWindow() {
183
+ const today = new Date();
184
+ const start = plusDays(today, -Math.max(1, this.config.recomputeWindowDays - 1));
185
+ const startKey = ymd(start);
186
+ const endKey = ymd(today);
187
+ console.log(`🎮 [GamificationPlugin] Recomputing ${this.config.recomputeWindowDays} days (${startKey} → ${endKey})`);
188
+ for (let i = 0; i < this.config.recomputeWindowDays; i++) {
189
+ const d = new Date(today);
190
+ d.setDate(d.getDate() - i);
191
+ await this.recomputeDay(d);
190
192
  }
191
- return row ? this.mapAdherenceRow(row) : { date: key, startISO: '', endISO: '', total: 0, done: 0, skipped: 0, pending: 0, percent: -1 };
193
+ try {
194
+ await this._recomputeLevelsToday();
195
+ }
196
+ catch (e) {
197
+ console.warn('⚠️ [GamificationPlugin] Failed to recompute levels after adherence backfill:', e);
198
+ }
199
+ console.log('🎮 [GamificationPlugin] Recompute complete');
192
200
  }
193
- async getAdherenceRange(startLocal, endLocal) {
194
- await this.ensureSchema();
195
- const startKey = ymd(startLocal);
196
- const endKey = ymd(endLocal);
197
- const rows = await this.storage.getAllAsync('SELECT * FROM adherence_daily WHERE date_local BETWEEN ? AND ? ORDER BY date_local ASC', [startKey, endKey]);
198
- const byKey = new Map(rows.map(r => [r.date_local, r]));
199
- const result = [];
200
- let cur = new Date(startLocal.getTime());
201
- while (cur <= endLocal) {
202
- const key = ymd(cur);
203
- let row = byKey.get(key);
201
+ requestFullRecompute() {
202
+ this.fullRecomputeRequested = true;
203
+ if (this.fullRecomputeInFlight)
204
+ return this.fullRecomputeInFlight;
205
+ this.fullRecomputeInFlight = this.runSerial(async () => {
206
+ while (this.fullRecomputeRequested) {
207
+ this.fullRecomputeRequested = false;
208
+ await this._recomputeLastWindow();
209
+ }
210
+ }).finally(() => {
211
+ this.fullRecomputeInFlight = null;
212
+ });
213
+ return this.fullRecomputeInFlight;
214
+ }
215
+ async getDayAdherence(dateLocal) {
216
+ return await this.runSerial(async () => {
217
+ await this.ensureSchema();
218
+ const key = ymd(dateLocal);
219
+ let row = await this.storage.getFirstAsync('SELECT * FROM adherence_daily WHERE date_local = ?', [key]);
204
220
  if (!row) {
205
- await this.recomputeDay(cur);
221
+ await this.recomputeDay(dateLocal);
206
222
  row = await this.storage.getFirstAsync('SELECT * FROM adherence_daily WHERE date_local = ?', [key]);
207
223
  }
208
- result.push(this.mapAdherenceRow(row));
209
- cur = plusDays(cur, 1);
210
- }
211
- return result;
224
+ return row ? this.mapAdherenceRow(row) : { date: key, startISO: '', endISO: '', total: 0, done: 0, skipped: 0, pending: 0, percent: -1 };
225
+ });
226
+ }
227
+ async getAdherenceRange(startLocal, endLocal) {
228
+ return await this.runSerial(async () => {
229
+ return await this._getAdherenceRangeNoSerial(startLocal, endLocal);
230
+ });
212
231
  }
213
232
  async getCurrentLevelsState() {
214
- await this.ensureSchema();
215
- return await this.recomputeLevelsDay(new Date());
233
+ return await this.runSerial(async () => {
234
+ await this.ensureSchema();
235
+ return await this.recomputeLevelsDay(new Date());
236
+ });
216
237
  }
217
238
  async recomputeLevelsToday() {
239
+ return await this.runSerial(async () => {
240
+ return await this._recomputeLevelsToday();
241
+ });
242
+ }
243
+ async _recomputeLevelsToday() {
218
244
  return await this.recomputeLevelsDay(new Date());
219
245
  }
220
246
  async recomputeLevelsDay(dateLocal) {
221
247
  await this.ensureSchema();
222
248
  const start = plusDays(dateLocal, -this.config.streakCalculationWindowDays);
223
249
  const end = dateLocal;
224
- const days = await this.getAdherenceRange(start, end);
250
+ const days = await this._getAdherenceRangeNoSerial(start, end);
225
251
  const streak = (0, levelsEngine_1.computeSoftStreak)(days, dateLocal, this.config.streakThresholdPercent);
226
252
  let lvl = (0, levelsEngine_1.getLevelForStreak)(streak, this.config.levels);
227
253
  const key = ymd(dateLocal);
@@ -307,7 +333,30 @@ class GamificationPlugin {
307
333
  async backfill(daysBack = 90) {
308
334
  const today = new Date();
309
335
  const start = plusDays(today, -Math.max(1, daysBack));
310
- await this.recomputeRange(start, today);
336
+ await this.runSerial(async () => {
337
+ await this.recomputeRange(start, today);
338
+ await this._recomputeLevelsToday();
339
+ });
340
+ }
341
+ async _getAdherenceRangeNoSerial(startLocal, endLocal) {
342
+ await this.ensureSchema();
343
+ const startKey = ymd(startLocal);
344
+ const endKey = ymd(endLocal);
345
+ const rows = await this.storage.getAllAsync('SELECT * FROM adherence_daily WHERE date_local BETWEEN ? AND ? ORDER BY date_local ASC', [startKey, endKey]);
346
+ const byKey = new Map(rows.map(r => [r.date_local, r]));
347
+ const result = [];
348
+ let cur = new Date(startLocal.getTime());
349
+ while (cur <= endLocal) {
350
+ const key = ymd(cur);
351
+ let row = byKey.get(key);
352
+ if (!row) {
353
+ await this.recomputeDay(cur);
354
+ row = await this.storage.getFirstAsync('SELECT * FROM adherence_daily WHERE date_local = ?', [key]);
355
+ }
356
+ result.push(this.mapAdherenceRow(row));
357
+ cur = plusDays(cur, 1);
358
+ }
359
+ return result;
311
360
  }
312
361
  mapAdherenceRow(row) {
313
362
  if (!row) {
@@ -1 +1 @@
1
- {"version":3,"file":"GamificationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/gamification/GamificationPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GamificationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/gamification/GamificationPlugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aleonnet/healthcare-scheduler",
3
- "version": "0.1.39",
3
+ "version": "0.1.41",
4
4
  "description": "Healthcare scheduling and medication reminder system",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",