Immanuel Onyeka
6a412e5a47
Create separate functions for subscription hooks
Creating separate endpoints for each webhook simplifies value checking for
event.Type and HookKeys while being easy to test for errors.
il y a 11 mois
Immanuel Onyeka
eb33ae45e7
Add subscription update endpoints to router
il y a 11 mois
Immanuel Onyeka
7e919e1a41
Add subscription creation webhook for Stripe
il y a 11 mois
Immanuel Onyeka
10b88f12bc
Fix user retrieval errors
Empty branch IDs and missing payment information caused network errors
and a missing billing component.
il y a 11 mois
Immanuel Onyeka
5627960ad4
Automatically set token cookie after login
il y a 11 mois
Immanuel Onyeka
4511f2cb39
Setup invoice.paid webhook handler
il y a 11 mois
Immanuel Onyeka
53ebad02ae
Store price ID in subscriptions
il y a 11 mois
Immanuel Onyeka
0ce1a066cc
Process and complete Stripe payments
il y a 1 an
Immanuel Onyeka
f2dd73def0
Return payment intent for new or existing subs
il y a 1 an
Immanuel Onyeka
adb49143ee
Setup subscription endpoint
il y a 1 an
Immanuel Onyeka
51e46a2ce6
Setup subscription SQL table
Includes the associated Go functions for inserting and selecting given a
specific user ID or subscription ID. Also adds required HTML tags and
HTTP queries for subscription process during user registration.
il y a 1 an
Immanuel Onyeka
d42030bd18
Remove extra query after new user insertion
il y a 1 an
Immanuel Onyeka
784e9099ee
Run go `go fmt` to correct spacing.
il y a 1 an
Immanuel Onyeka
846034c11a
Display registration errors to user
il y a 1 an
Immanuel Onyeka
3152ff716d
Access main Grav site through Go reverse proxy
To make requests to Go API endpoints for registration from a PHP page,
there needs to be local routing between the two servers. This method
avoids needing Apache installed seperately for development builds while
allowing it to still be used in production if necessary.
il y a 1 an
Immanuel Onyeka
826a356432
Prevent new users from being administrators
Secures the user registration endpoint.
il y a 1 an
Immanuel Onyeka
2eafce7af8
Style registration components
il y a 1 an
Immanuel Onyeka
f03c6cdaaf
Create account registration fields
il y a 1 an
Immanuel Onyeka
cbe0f3b8a7
Setup webpack entry point for vue components
A new template file needed to be created to allow custom javascript in
a grav page. The JS file will mount the transpiled Vue app.
il y a 1 an
Immanuel Onyeka
de18ccb4d0
Style home page
il y a 1 an
Immanuel Onyeka
858c572cda
Create basic site layout
il y a 1 an
Immanuel Onyeka
8b3448a360
Setup grav
Store only files relevant to the project by tracking only the user/
directory.
il y a 1 an
Immanuel Onyeka
ea8b32df2e
Correct letterhead rendering when avatar is missing
il y a 1 an
Immanuel Onyeka
bb1f7eaa70
Delete templates with remove button in view
il y a 1 an
Immanuel Onyeka
94390b1aa3
List and display template details in view
il y a 1 an
Immanuel Onyeka
48fa487fea
Handle missing avatar and letterhead in PDF
il y a 1 an
Immanuel Onyeka
27de7ea416
Allow users to delete saved estimates
il y a 1 an
Immanuel Onyeka
0313364069
Use images in PDF only if the user has uploaded them
il y a 1 an
Immanuel Onyeka
69009f286f
Make dollar amounts more readable
il y a 1 an
Immanuel Onyeka
67479195e2
Fix monthly MI calculation
il y a 1 an
Immanuel Onyeka
7ce7c9300e
Calculate new estimate results server side
il y a 1 an
Immanuel Onyeka
87fba7a7f0
Comma format dollar amounts in PDF
il y a 1 an
Immanuel Onyeka
b10b1919a2
Download PDFs from estimate view
il y a 1 an
Immanuel Onyeka
536ca8ee87
Assign first two seed estimates to test user
il y a 1 an
Immanuel Onyeka
166123d50f
Remove old seed script
il y a 1 an
Immanuel Onyeka
274ea0581d
Fix duplicate loan_id error
At most one result should exist for each loan stored but not redeclaring
the 'estimate' variable within the seed loop caused the loan entries of
the first estimate to be copied onto the second, which caused an error
while seeding result entries.
il y a 1 an
Immanuel Onyeka
6dad31be22
Fix row decleration bug
il y a 1 an
Immanuel Onyeka
f26b39f093
Add functions for seeding estimates in dev
il y a 1 an
Immanuel Onyeka
fb64597116
Add insert and select queries for user licenses
il y a 1 an
Immanuel Onyeka
987090a927
Create CLI command for reseting database
Also seperate stages of seeding into other functions.
il y a 1 an
Immanuel Onyeka
3b00be6374
Create sample users in seed function
il y a 1 an
Immanuel Onyeka
14efd4937b
Add seed function for addresses and branches
il y a 1 an
Immanuel Onyeka
d4a5e4cc4d
Remove vue component for PDF generation
Also structure CLI functions to allow for `skouter dev seed` command.
il y a 1 an
Immanuel Onyeka
580c0515a7
Render and style summary pages of reports
Summary component was moved to master.tpl because sub-template calls
allow only one argument to be passed. Passing info for both Estimate and
Loan structs dynamically would involve looping during template
execution, or calling a custom function to restructure the estimate,
which are all too complicated.
il y a 1 an
Immanuel Onyeka
1932ac1c38
correct file misnaming
il y a 1 an
Immanuel Onyeka
bf0a017836
Split sections into seperate template files
Split comparison, summary, and header sections into seperate files to
reuse headers more easily and make future changes easier.
il y a 1 an
Immanuel Onyeka
cae74385dd
Style report table
il y a 1 an
Immanuel Onyeka
def8d767f2
Cache report view at startup
il y a 1 an
Immanuel Onyeka
3b66fe413a
Make Result an attribute of Loan type
Move Result attribute from Estimate to it's related Loan to make it's
meaning less confusing.
il y a 1 an
Immanuel Onyeka
ba9522a883
Generate PDF with os/exec process instead of js
the htmltopdf.js library renders all PDF text as images instead of
vectors, and Go does not have a reliable native library for generating
PDFs that is actively maintained. The best solution appears to be to
make a system call to wkhtmltopdf, but now there is a hidden package
dependency that is not checked at build time and exists in another
process. Maybe in the future a C library can be used and linked with the
Go binary.
il y a 1 an