Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
2b31c13
feat: add link to header - placeholder commit
bassgeta Sep 26, 2025
332e6d5
feat: initial scaffolding for ecommerce manage page
bassgeta Sep 26, 2025
19877f5
feat: add display of clientids and creation
bassgeta Sep 29, 2025
3e7d742
feat: use ecommerce client instead of client id for naming, implement…
bassgeta Oct 1, 2025
fb78fc8
fix: wording
bassgeta Oct 1, 2025
af3b005
feat: code review align and harden form validation
bassgeta Oct 1, 2025
f1a0c93
feat: migration script
bassgeta Oct 1, 2025
744e1e0
feat: rename default client to Request Checkout
bassgeta Oct 3, 2025
e05fd96
feat: add client payment schema and webhook handling of payments
bassgeta Oct 2, 2025
e920d26
feat: implement ecommerce sales page
bassgeta Oct 2, 2025
77a7575
feat: scaffold fetching of user receipts
bassgeta Oct 3, 2025
3dd4070
refactor: use the DB ecommerce client id instead of the API one for c…
bassgeta Oct 3, 2025
a41867b
feat: implement table of receipts
bassgeta Oct 3, 2025
54d39a3
feat: code review align and generate migration
bassgeta Oct 3, 2025
99b1775
feat: add link to header - placeholder commit
bassgeta Sep 26, 2025
f192df1
feat: initial scaffolding for ecommerce manage page
bassgeta Sep 26, 2025
b688754
feat: add display of clientids and creation
bassgeta Sep 29, 2025
a2a34bb
feat: use ecommerce client instead of client id for naming, implement…
bassgeta Oct 1, 2025
2e29272
fix: wording
bassgeta Oct 1, 2025
4d50549
feat: code review align and harden form validation
bassgeta Oct 1, 2025
1e4920a
feat: migration script
bassgeta Oct 1, 2025
ff3c2df
feat: rename default client to Request Checkout
bassgeta Oct 3, 2025
2b60636
fix: mismerge issues
bassgeta Oct 3, 2025
7f3b82c
fix: ecommerce link colours
bassgeta Oct 3, 2025
258e817
fix: validate required fields on the webhook body before saving it to…
bassgeta Oct 3, 2025
bef6a6f
fix: unique index for webhooks
bassgeta Oct 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ REDIS_URL=redis://localhost:7379
# NEXT_PUBLIC_GTM_ID=""
# NEXT_PUBLIC_CRYPTO_TO_FIAT_TRUSTED_ORIGINS=""
INVOICE_PROCESSING_TTL="60"
NEXT_PUBLIC_DEFAULT_ECOMMERCE_DOMAIN=http://localhost:3001
19 changes: 19 additions & 0 deletions drizzle/0009_slippery_penance.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
CREATE TABLE IF NOT EXISTS "easyinvoice_ecommerce_client" (
"id" text PRIMARY KEY NOT NULL,
"externalId" text NOT NULL,
"rnClientId" text NOT NULL,
"userId" text NOT NULL,
"label" text NOT NULL,
"domain" text NOT NULL,
"feeAddress" text,
"feePercentage" text,
"created_at" timestamp DEFAULT now()
);
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "easyinvoice_ecommerce_client" ADD CONSTRAINT "easyinvoice_ecommerce_client_userId_easyinvoice_user_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."easyinvoice_user"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
CREATE UNIQUE INDEX IF NOT EXISTS "ecommerce_client_user_id_domain_unique" ON "easyinvoice_ecommerce_client" USING btree ("userId","domain");
30 changes: 30 additions & 0 deletions drizzle/0010_peaceful_lionheart.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
CREATE TABLE IF NOT EXISTS "easyinvoice_client_payment" (
"id" text PRIMARY KEY NOT NULL,
"userId" text NOT NULL,
"requestId" text NOT NULL,
"ecommerceClientId" text NOT NULL,
"invoiceCurrency" text NOT NULL,
"paymentCurrency" text NOT NULL,
"txHash" text NOT NULL,
"network" text NOT NULL,
"amount" text NOT NULL,
"customerInfo" json,
"reference" text,
"origin" text,
"created_at" timestamp DEFAULT now()
);
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "easyinvoice_client_payment" ADD CONSTRAINT "easyinvoice_client_payment_userId_easyinvoice_user_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."easyinvoice_user"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "easyinvoice_client_payment" ADD CONSTRAINT "easyinvoice_client_payment_ecommerceClientId_easyinvoice_ecommerce_client_id_fk" FOREIGN KEY ("ecommerceClientId") REFERENCES "public"."easyinvoice_ecommerce_client"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
CREATE UNIQUE INDEX IF NOT EXISTS "client_payment_request_id_tx_hash_unique" ON "easyinvoice_client_payment" USING btree ("requestId","txHash");--> statement-breakpoint
CREATE UNIQUE INDEX IF NOT EXISTS "ecommerce_client_user_id_client_id_unique" ON "easyinvoice_ecommerce_client" USING btree ("rnClientId");
Loading