feat(ECR-009): Ops-D order filters, plan display prices, refund status
LOOP-RUN-002 sample: admin order multi-filter, membership display price catalog, read-only refund_status. No real payment or RBAC. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
-- Ops-D: refund_status on orders + membership plan display prices
|
||||
|
||||
ALTER TABLE orders
|
||||
ADD COLUMN IF NOT EXISTS refund_status TEXT NOT NULL DEFAULT 'none';
|
||||
|
||||
ALTER TABLE orders
|
||||
DROP CONSTRAINT IF EXISTS orders_refund_status_check;
|
||||
|
||||
ALTER TABLE orders
|
||||
ADD CONSTRAINT orders_refund_status_check
|
||||
CHECK (refund_status IN ('none', 'pending', 'refunded', 'rejected'));
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_orders_status_created
|
||||
ON orders (status, created_at DESC)
|
||||
WHERE deleted_at IS NULL;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS membership_plan_prices (
|
||||
plan TEXT PRIMARY KEY,
|
||||
display_cents INT NOT NULL CHECK (display_cents >= 0),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
INSERT INTO membership_plan_prices(plan, display_cents) VALUES
|
||||
('monthly', 2800),
|
||||
('yearly', 19800)
|
||||
ON CONFLICT (plan) DO NOTHING;
|
||||
Reference in New Issue
Block a user