Commit graph

49 commits

Author SHA1 Message Date
23f3ceec21
Feat/stripe integration (#50)
Some checks are pending
CI / checks (push) Waiting to run
* feat(stripe): add Stripe payment sync and webhook support

Introduce Stripe integration for automatic payment ingestion and refund
tracking. Adds new fields to the payment model for Stripe IDs and
status,
Stripe client driver, sync service, cron job, manual API endpoint, and
public webhook handler for real-time updates. Includes tests and
documentation. Manual cash entry remains supported.

* chore(stripe): upgrade to stripe-go v83

Upgrade Stripe SDK from v79 to v83 across the codebase. Update all
imports to use github.com/stripe/stripe-go/v83 and refactor client usage
to match the new API, including changes to PaymentIntents listing.
Update documentation and plans to reference the new version. Remove
references to the old version from go.mod and go.sum.

* refactor(payment): extract payment logic to new service

Moves all payment-related logic (manual payments, Stripe sync, webhook
handling) from the booking service into a dedicated payment service
(`internal/service/payment`). Updates server, cron, and handler wiring
to
inject and use the new payment service. Adjusts tests, routes, and
documentation to reflect the new separation of concerns.

This improves cohesion, clarifies responsibilities, and prepares for
future payment features. No database schema changes are introduced.

* chore(ci): add Go and templ setup to CI workflow

This update enhances the CI workflow by adding steps to set up Go using
the version specified in go.mod, add the Go bin directory to the PATH,
and install the templ code generation tool. These additions ensure that
Go-based tooling is available for subsequent CI steps.
2025-11-21 15:47:01 +01:00
afc61e02f1
refactor: improve booking error handling and responses
Some checks failed
CI / checks (push) Has been cancelled
Refactor booking retrieval to return errors instead of nil values,
enabling more robust error handling throughout the booking, payment,
and PDF endpoints. Add custom HTTP error page rendering for not found
and internal server errors. Update interfaces and tests to match new
method signatures. This improves user feedback and code maintainability.
2025-11-17 19:26:45 +01:00
4bd47dc6e9
feat(deps): migrate from Echo to Chi, update Stripe/Sentry (#49)
Some checks failed
CI / checks (push) Has been cancelled
2025-11-02 21:45:37 +01:00
91a9a74750
feat(stripe): add payment link creation for bookings
Some checks are pending
CI / checks (push) Waiting to run
Introduce backend and frontend support for generating Stripe payment
links
for outstanding booking balances. Adds a new POST endpoint to create
payment
links, updates booking view to include a Stripe button, and integrates
error handling and feedback for payment link creation. Refactors view
models and templates to support the new feature.
2025-11-01 17:22:13 +01:00
aa9f46a222
feat/stripe integration (#48) 2025-10-19 15:48:59 +02:00
34ce10ff86
move booking to service layer 2024-09-12 22:18:12 +02:00
b073844772
move auth to service layer 2024-09-12 22:11:01 +02:00
876d54d7bb
move pdf to driver layer 2024-09-11 11:04:34 +02:00
78ca637807
call calendar driver from the booking service 2024-09-11 09:38:22 +02:00
4c209da0f6
move calendar to driver layer 2024-09-11 09:09:23 +02:00
aa5dd17d07
move config and constant packages to internal 2024-09-08 21:34:36 +02:00
8a6531f50e
add static assets caching 2024-08-19 15:00:38 +02:00
3983de237f
sync calendar on item creation 2024-08-16 19:58:49 +02:00
6a15d1b32a
refactor: server option to own filed 2024-08-15 23:48:35 +02:00
ac10e65097
Refactor service (#14)
* add comments to main file

* create health check handler

health check

* use naming convention for booking handler

* use naming convention for hamndlers

naming convention

* clean up
2024-08-07 09:12:50 +02:00
4409facd34
create calendar service at startup 2024-08-05 20:19:25 +02:00
22175a9b39
fix linter errors 2024-07-14 23:43:14 +02:00
0dc9bee3f7
add api_key to config 2024-06-16 16:20:55 +02:00
eef6c85fe3
add helper file 2024-06-08 12:27:05 +02:00
8c4a1554ca
make origin a config change api sync url 2024-06-02 11:59:07 +02:00
e1766812c4
session login 2024-05-25 16:38:25 +02:00
8f4f1638a4
add google login 2024-05-19 21:04:05 +02:00
c3b7f183ae
csrf protection 2024-05-19 08:24:31 +02:00
fee3f660ed
add login page 2024-05-10 12:45:08 +02:00
32350c59b6
add logs 2024-04-19 20:36:59 +02:00
691b724189
set debug 2024-04-13 19:15:42 +02:00
efccace761
use getenv function 2024-04-13 19:04:57 +02:00
81647b7416
pdf report formatting 2024-03-20 15:53:27 +01:00
bc2c7a7583
basic tracing middleware 2024-03-11 22:11:08 +01:00
f4870cbb4c
sentry 2024-03-11 20:41:45 +01:00
3078bac637
func opt pattern 2024-03-03 21:40:17 +01:00
fc0f9c574b
simplify error handler 2024-02-29 18:08:20 +01:00
6a25589751
embed assets in binry 2024-02-25 00:08:11 +01:00
37cadd8b20
add customer number seed 2024-02-22 22:08:46 +01:00
ec853f6b66
send data to render pdf 2024-02-18 14:01:33 +01:00
032df19805
refactor server config 2024-02-16 20:36:46 +01:00
dc00eb33a8
all booking to service 2024-02-16 15:50:07 +01:00
d2d0fc4337
split handlers 2024-02-16 15:42:58 +01:00
33ff39cdce
move booking folder 2024-02-16 15:37:43 +01:00
9bbd11588b
public handler 2024-02-16 13:07:18 +01:00
1f86cbf3ed
pdf service 2024-02-16 12:38:03 +01:00
9f4af72c85
boost 2024-02-10 15:21:33 +01:00
a971aab58c
view model 2024-02-09 23:04:02 +01:00
5927e935ea
add list bookings page 2024-02-09 14:13:27 +01:00
80d7ff5d84
add line items 2024-02-05 21:53:24 +01:00
45c306c143
refactoring 2024-02-04 15:52:59 +01:00
24362b95eb
can create a booking 2024-02-04 15:24:16 +01:00
3b56f73a66
new booking form layout 2024-02-04 14:04:45 +01:00
a1b7c5921b
initial project structure 2024-02-04 12:48:43 +01:00