Commit Graph

503 Commits

Author SHA1 Message Date
d11n
641bdcff31
Histograms: Add Lightning data and API endpoints (#6217)
* Histograms: Add Lightning data and API endpoints

Ported over from the mobile-working-branch.

Adds histogram data for Lightning and exposes the wallet/lightning histogram data via the API. It also add a dashboard graph for the Lightning balance.

Caveat: The Lightning histogram is calculated by using the current channel balance and going backwards through as much invoices and transactions as we have. The "start" of the LN graph data might not be accurate though. That's because we don't track (and not even have) the LN onchain data. It is calculated by using the current channel balance and going backwards through as much invoices and transactions as we have. So the historic graph data for LN is basically a best effort of trying to reconstruct it with what we have: The LN channel transactions.

* More timeframes

* Refactoring: Remove redundant WalletHistogram types

* Remove store property from dashboard tile view models

* JS error fixes
2024-11-05 21:40:37 +09:00
d11n
ff79a31066
Refactoring: Move AppItem to Client lib and use the class for item list (#6258)
* Refactoring: Move AppItem to Client lib and use the class for item list

This makes it available for the app, which would otherwise have to replicate the model. Also uses the proper class for the item/perk list of the app models.

* Remove unused app item payment methods property

* Do not ignore nullable values in JSON

* Revert to use Newtonsoft types
2024-11-05 11:49:30 +09:00
nicolas.dorier
c43721d489
Pretty names of payment methods isn't provided by CheckoutExtensions 2024-10-14 21:53:14 +09:00
nicolas.dorier
c35af2dc69
Add translations to the Dashboard 2024-10-14 19:19:56 +09:00
nicolas.dorier
9b1052f023
Remove useless code 2024-10-08 21:25:37 +09:00
nicolas.dorier
212e8c3654
Fix potential crash in migration 2024-10-08 16:48:56 +09:00
nicolas.dorier
7c77b16517
Fix potential crash on migration 2024-10-08 16:30:21 +09:00
nicolas.dorier
e5bb0bcba3
Fix forgotten save 2024-10-08 16:25:11 +09:00
nicolas.dorier
ca4a7d8771
Migrate excludedPaymentMethods from stores 2024-10-08 16:21:44 +09:00
nicolas.dorier
dd35af3c55
Use AddUIExtension 2024-10-07 21:43:06 +09:00
nicolas.dorier
968223a953
Rename PaymentModel to CheckoutModel 2024-10-07 19:58:08 +09:00
nicolas.dorier
34b2cca492
Simplify extension of payments extensions 2024-10-07 18:37:38 +09:00
nicolas.dorier
e1bfc04451
Move checkout registration to the UI Extension 2024-10-07 17:38:02 +09:00
Nicolas Dorier
64ba8248d2
Can inject currency data in CurrencyNameTable (#6276) 2024-10-04 22:24:44 +09:00
Nicolas Dorier
5704919b3a
BlockExplorer links should be using payment method ids (#6273) 2024-10-04 16:58:13 +09:00
Nicolas Dorier
413a9b4269
Add translation for store rate and wallet setup (#6271) 2024-10-03 19:21:19 +09:00
Nicolas Dorier
4a31cf0a09
Migrate payment requests (#6260) 2024-10-01 16:07:51 +09:00
nicolas.dorier
b726ef8a2e
Migrate PayoutProcessors's PayoutMethodId in entity migration 2024-09-24 09:43:02 +09:00
Nicolas Dorier
36bada8feb
Uniformize Wallet API's path (#6209)
* Uniformize Wallet API's path

* Rewrite old API path to new API

* Rename routes
2024-09-12 15:19:10 +09:00
Nicolas Dorier
7c92ce771f
Reindex Invoices table if corrupt, fix migration timeout (#6207) 2024-09-10 17:34:02 +09:00
Nicolas Dorier
7de05700e9
Edit dictionary should be in JSON format (#6203) 2024-09-09 11:25:36 +09:00
Nicolas Dorier
c93497af10
Rename PaymentMethod => PaymentMethodId (#6198)
* Rename PaymentMethod => PaymentMethodId

* Rename DB Columns
2024-09-06 13:24:33 +09:00
Nicolas Dorier
99dda66bbc
Rename PayoutData.Destination (#6197) 2024-09-06 10:34:10 +09:00
Nicolas Dorier
a3cfb9e5e4
Removal of the Altcoins build (#6177)
* Remove some useless #if ALTCOINS

* Removal of the Altcoins build
2024-08-30 08:34:23 +09:00
Nicolas Dorier
1dd37c5020
Refactor Payouts and PullPayments DB models (#6173) 2024-08-28 18:52:08 +09:00
Nicolas Dorier
ca4abcb497
Allow translations of BTCPay Server Backend by admins (#5662) 2024-07-24 20:16:20 +09:00
Nicolas Dorier
372688b723
Disable plugins if they crash the Dashboard page (#6099) 2024-07-11 00:09:54 +09:00
Nicolas Dorier
a295e123bc
Migrate Payouts to new format (#5989)
* Migrate Payouts to new format

* Rename PayoutData column to PayoutMethodId
2024-06-28 20:07:53 +09:00
d11n
181e4fd2fc
Sanitizer: Allow bitcoin and lightning URI schemes (#6002)
Fixes #6001.
2024-05-24 14:10:32 +09:00
Nicolas Dorier
c134602cbd
Remove Legacy Status from the code (#5982) 2024-05-15 07:49:53 +09:00
Nicolas Dorier
d96b066658
Recommended exchange to be resolved during Invoice Creation (#5976)
* Recommended Exchange Rate Selection during Invoice Creation

* Make Recommended exchanges pluginifiable
2024-05-13 22:29:42 +09:00
Nicolas Dorier
adbe5977cd
Decouple DefaultRates from BTCPayNetwork (#5974) 2024-05-09 17:20:24 +09:00
d11n
4c303d358b
Branding updates for 2.0 (#5947)
* Remove deprecated CSS options

Closes #5945.

* Greenfield: Add brandColor to store APIs

Closes #5946.

* Migrate file IDs to URLs

Closes #5953.

* Greenfield: Add CSS and logo URL to store settings API

Closes #5945.

* Add migration test

* Store and Server branding can reference file's via fileid:ID

* Add PaymentSoundUrl to Store API

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-05-09 09:18:02 +09:00
Nicolas Dorier
8bb4ceaaac
Remove dead code from multi db support (#5971) 2024-05-07 09:21:49 +09:00
Nicolas Dorier
a89c0d4797
Add refund reports (#5791)
* Add refund reports

* Fix fake data generator in reports
2024-05-06 18:44:16 +09:00
Nicolas Dorier
9db9c5e936
Decouple PaymentMethodId from PayoutMethodId (#5944) 2024-05-01 10:22:07 +09:00
Nicolas Dorier
d3277306cf
Avoid timeouts during EF migrations (#5937) 2024-04-25 17:27:45 +09:00
Nicolas Dorier
0f08d3e3a3
Remove migrations prior to 1.0.3.162 (#5939)
* Consolidate EF migrations up to 03/2020 into a single SQL script

* Remove old migrations code
2024-04-25 14:09:21 +09:00
Nicolas Dorier
f1a04a3bd0
Remove MySQL and Sqlite deps (#5910) 2024-04-15 19:08:25 +09:00
Nicolas Dorier
6cc1751924
The Big Cleanup: Refactor BTCPay internals (#5809) 2024-04-04 16:31:04 +09:00
Snoppy
9ac0e982d6
chore: fix typos (#5883) 2024-03-30 10:20:24 +01:00
Andrew Camilleri
cb25c225e9
Remove custodians (#5863)
* Remove custodians

* Hide Experimental checkbox in the server policies

---------

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2024-03-29 00:28:27 +09:00
d11n
09dbe44bca
Onboarding: Invite new users on store level (#5719)
* Onboarding: Invite new users

- Separates the user self-registration and invite cases
- Adds invitation email for users created by the admin
- Adds invitation tokens to verify user was invited
- Adds handler action for invite links
- Refactors `UserEventHostedService`
- Fixes #5726.

* Add permissioned form tag helper

* Better way of changing a user's role

* Test fixes
2024-03-19 14:58:33 +01:00
d11n
e43b4ed540
Onboarding: Invite new users (#5714)
* Server Users: More precise message when inviting users

This lets the admin who invited a new user know whether or not an email has been sent. If the SMTP server hasn't been set up, they need to share the invite link with the user.

* Onboarding: Invite new users

- Separates the user self-registration and invite cases
- Adds invitation email for users created by the admin
- Adds invitation tokens to verify user was invited
- Adds handler action for invite links
- Refactors `UserEventHostedService`

* Remove duplicate status message from views that use the wizard layout

* Auto-approve users created by an admin

* Notify admins via email if a new account requires approval

* Update wording

* Fix update user error

* Fix redirect to email confirmation in invite action

* Fix precondition checks after signup

* Improve admin notification

Send notification only if the user does not require email confirmation or when they confirmed their email address. Rationale: We want to inform admins only about qualified users and not annoy them with bot registrations.

* Allow approval alongside resending confirm email

* Use user email in log messages instead of ID

* Prevent unnecessary notification after email confirmation

* Use ApplicationUser type explicitly

* Fix after rebase

* Refactoring: Do not subclass UserRegisteredEvent
2024-02-28 20:43:18 +09:00
d11n
147c6c4548
HTML Sanitizer updates (#5736)
* Update HTML sanitizer package

* Remove unused sanitizer from apps

* Allow mailto: links

Fixes #5728.
2024-02-21 20:53:24 +01:00
Andrew Camilleri
f72a6df55a
Add legacy report (#5740) 2024-02-21 14:44:49 +01:00
d11n
6290b0f3bf
Admins can approve registered users (#5647)
* Users list: Cleanups

* Policies: Flip registration settings

* Policies: Add RequireUserApproval setting

* Add approval to user

* Require approval on login and for API key

* API handling

* AccountController cleanups

* Test fix

* Apply suggestions from code review

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* Add missing imports

* Communicate login requirements to user on account creation

* Add login requirements to basic auth handler

* Cleanups and test fix

* Encapsulate approval logic in user service and log approval changes

* Send follow up "Account approved" email

Closes #5656.

* Add notification for admins

* Fix creating a user via the admin view

* Update list: Unify flags into status column, add approve action

* Adjust "Resend email" wording

* Incorporate feedback from code review

* Remove duplicate test server policy reset

---------

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2024-01-31 14:45:54 +09:00
Chukwuleta Tobechi
411e0334d0
Bitnob rate provider (#5705)
* Bitnob rate provider

* Add Bitnob as recommended exchange for NGN
2024-01-30 10:18:42 +09:00
Nicolas Dorier
d6806dc1f6
Improve checkout page load time by fetching recommended fee in the background periodically (#5672) 2024-01-18 17:16:57 +09:00
Nicolas Dorier
376067324b
Remove unused variables (#5669) 2024-01-18 09:47:39 +09:00