fix(stock): ignore doses from other medications (#533)
* fix(stock): ignore doses from other medications * test(backend): add timezone column to in-memory user_settings schemas
This commit is contained in:
@@ -99,9 +99,16 @@ export function computeMedicationCurrentStock(options: {
|
||||
const match = doseIdPattern.exec(dose.doseId);
|
||||
if (!match) continue;
|
||||
|
||||
const parsedMedicationId = Number.parseInt(match[1], 10);
|
||||
const parsedIntakeIndex = Number.parseInt(match[2], 10);
|
||||
const doseDateOnlyMs = Number.parseInt(match[3], 10);
|
||||
if (Number.isNaN(parsedIntakeIndex) || Number.isNaN(doseDateOnlyMs) || parsedIntakeIndex !== intakeIndex) {
|
||||
if (
|
||||
Number.isNaN(parsedMedicationId) ||
|
||||
Number.isNaN(parsedIntakeIndex) ||
|
||||
Number.isNaN(doseDateOnlyMs) ||
|
||||
parsedMedicationId !== medication.id ||
|
||||
parsedIntakeIndex !== intakeIndex
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -125,9 +132,16 @@ export function computeMedicationCurrentStock(options: {
|
||||
const match = doseIdPattern.exec(dose.doseId);
|
||||
if (!match) continue;
|
||||
|
||||
const parsedMedicationId = Number.parseInt(match[1], 10);
|
||||
const parsedIntakeIndex = Number.parseInt(match[2], 10);
|
||||
const doseDateOnlyMs = Number.parseInt(match[3], 10);
|
||||
if (Number.isNaN(parsedIntakeIndex) || Number.isNaN(doseDateOnlyMs) || parsedIntakeIndex !== intakeIndex) {
|
||||
if (
|
||||
Number.isNaN(parsedMedicationId) ||
|
||||
Number.isNaN(parsedIntakeIndex) ||
|
||||
Number.isNaN(doseDateOnlyMs) ||
|
||||
parsedMedicationId !== medication.id ||
|
||||
parsedIntakeIndex !== intakeIndex
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,6 +123,7 @@ async function createSchema(client: Client) {
|
||||
`CREATE TABLE IF NOT EXISTS user_settings (
|
||||
id integer PRIMARY KEY AUTOINCREMENT,
|
||||
user_id integer NOT NULL UNIQUE,
|
||||
timezone text NOT NULL DEFAULT '',
|
||||
email_enabled integer NOT NULL DEFAULT 0,
|
||||
notification_email text,
|
||||
email_stock_reminders integer NOT NULL DEFAULT 1,
|
||||
|
||||
@@ -117,6 +117,7 @@ async function createSchema(client: Client) {
|
||||
`CREATE TABLE IF NOT EXISTS user_settings (
|
||||
id integer PRIMARY KEY AUTOINCREMENT,
|
||||
user_id integer NOT NULL UNIQUE,
|
||||
timezone text NOT NULL DEFAULT '',
|
||||
email_enabled integer NOT NULL DEFAULT 0,
|
||||
notification_email text,
|
||||
email_stock_reminders integer NOT NULL DEFAULT 1,
|
||||
|
||||
@@ -134,6 +134,7 @@ async function createSchema(client: Client) {
|
||||
`CREATE TABLE IF NOT EXISTS user_settings (
|
||||
id integer PRIMARY KEY AUTOINCREMENT,
|
||||
user_id integer NOT NULL UNIQUE,
|
||||
timezone text NOT NULL DEFAULT '',
|
||||
email_enabled integer NOT NULL DEFAULT 0,
|
||||
notification_email text,
|
||||
email_stock_reminders integer NOT NULL DEFAULT 1,
|
||||
|
||||
Reference in New Issue
Block a user