Reapply "feat(loyalty): EnakPoint & EnakCoin" (#32)

This reverts commit 4e24f9bbb0.
This commit is contained in:
efrilm
2026-09-30 15:31:11 +07:00
parent 5e28b05770
commit c6062c4bb9
195 changed files with 20058 additions and 2177 deletions
@@ -0,0 +1,11 @@
-- Which expiry reminders have gone out (docs/prd-point-coin.md F12): one per
-- customer, currency and expiry day. The row is written before the push is sent, so
-- several instances of the job, or a restart, never remind twice.
CREATE TABLE wallet_expiry_reminders (
customer_id UUID NOT NULL REFERENCES customers(id) ON DELETE CASCADE,
currency VARCHAR(10) NOT NULL CHECK (currency IN ('POINT','COIN')),
expiry_date DATE NOT NULL,
amount BIGINT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (customer_id, currency, expiry_date)
);