Immanuel Onyeka
809f663d5e
Fix SMTP and Stripe errors
8 meses atrás
Immanuel Onyeka
d28d60e729
Delete files unused by view
10 meses atrás
Immanuel Onyeka
298d031ef2
Resolve usage conflict for 'access' attribute
'access' is already used by grav to set permissions for admin routes and
internal accounts. 'skouter' should be used instead.
10 meses atrás
Immanuel Onyeka
5a0b0f82b3
Remove frontend rendering logic from Go backend
Grav will be used to route and display all frontend pages instead of Go
to make pages easily modifiable and consistent with blogging CMS.
10 meses atrás
Immanuel Onyeka
46337043d0
Show only appropriate pages to guests in navbar
nav_loop is seperated into three different loops for general routes,
guests, and authenticated users which will be called 'members'.
10 meses atrás
Immanuel Onyeka
a4b74eb6e1
Pass user current user to grav in header
A seperate header is used instead of relying only on current cookie
because the current cookie is difficult to modify before being
forwarded, and would make removing invalid cookies in responses
complicated.
10 meses atrás
Immanuel Onyeka
3c7d506917
Store login state in reverse proxy URL
It's easier and less complex than writing a Grav plugin to make backend
requests each time a page is loaded.
10 meses atrás
Immanuel Onyeka
9e0435121b
Refresh token on every request
10 meses atrás
Immanuel Onyeka
5f853256e1
Send verification email after registration
10 meses atrás
Immanuel Onyeka
18e5086e89
Add endpoints trial subscription and verification
Generate verification tokens and sendout SMTP relay from endpoint.
Authentication values rely on environment variables. The new trial
subscription endpoint copies the existing one but adds the trial days
parameter.
10 meses atrás
Immanuel Onyeka
1ea00f2b0e
Add procedures for email verification
11 meses atrás
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.
11 meses atrás
Immanuel Onyeka
eb33ae45e7
Add subscription update endpoints to router
11 meses atrás
Immanuel Onyeka
7e919e1a41
Add subscription creation webhook for Stripe
11 meses atrás
Immanuel Onyeka
10b88f12bc
Fix user retrieval errors
Empty branch IDs and missing payment information caused network errors
and a missing billing component.
11 meses atrás
Immanuel Onyeka
5627960ad4
Automatically set token cookie after login
11 meses atrás
Immanuel Onyeka
4511f2cb39
Setup invoice.paid webhook handler
11 meses atrás
Immanuel Onyeka
53ebad02ae
Store price ID in subscriptions
11 meses atrás
Immanuel Onyeka
0ce1a066cc
Process and complete Stripe payments
1 ano atrás
Immanuel Onyeka
f2dd73def0
Return payment intent for new or existing subs
1 ano atrás
Immanuel Onyeka
adb49143ee
Setup subscription endpoint
1 ano atrás
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.
1 ano atrás
Immanuel Onyeka
d42030bd18
Remove extra query after new user insertion
1 ano atrás
Immanuel Onyeka
784e9099ee
Run go `go fmt` to correct spacing.
1 ano atrás
Immanuel Onyeka
846034c11a
Display registration errors to user
1 ano atrás
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.
1 ano atrás
Immanuel Onyeka
826a356432
Prevent new users from being administrators
Secures the user registration endpoint.
1 ano atrás
Immanuel Onyeka
2eafce7af8
Style registration components
1 ano atrás
Immanuel Onyeka
f03c6cdaaf
Create account registration fields
1 ano atrás
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.
1 ano atrás
Immanuel Onyeka
de18ccb4d0
Style home page
1 ano atrás
Immanuel Onyeka
858c572cda
Create basic site layout
1 ano atrás
Immanuel Onyeka
8b3448a360
Setup grav
Store only files relevant to the project by tracking only the user/
directory.
1 ano atrás
Immanuel Onyeka
ea8b32df2e
Correct letterhead rendering when avatar is missing
1 ano atrás
Immanuel Onyeka
bb1f7eaa70
Delete templates with remove button in view
1 ano atrás
Immanuel Onyeka
94390b1aa3
List and display template details in view
1 ano atrás
Immanuel Onyeka
48fa487fea
Handle missing avatar and letterhead in PDF
1 ano atrás
Immanuel Onyeka
27de7ea416
Allow users to delete saved estimates
1 ano atrás
Immanuel Onyeka
0313364069
Use images in PDF only if the user has uploaded them
1 ano atrás
Immanuel Onyeka
69009f286f
Make dollar amounts more readable
1 ano atrás
Immanuel Onyeka
67479195e2
Fix monthly MI calculation
1 ano atrás
Immanuel Onyeka
7ce7c9300e
Calculate new estimate results server side
1 ano atrás
Immanuel Onyeka
87fba7a7f0
Comma format dollar amounts in PDF
1 ano atrás
Immanuel Onyeka
b10b1919a2
Download PDFs from estimate view
1 ano atrás
Immanuel Onyeka
536ca8ee87
Assign first two seed estimates to test user
1 ano atrás
Immanuel Onyeka
166123d50f
Remove old seed script
1 ano atrás
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.
1 ano atrás
Immanuel Onyeka
6dad31be22
Fix row decleration bug
1 ano atrás
Immanuel Onyeka
f26b39f093
Add functions for seeding estimates in dev
1 ano atrás
Immanuel Onyeka
fb64597116
Add insert and select queries for user licenses
1 ano atrás