Commit graph

1369 commits

Author SHA1 Message Date
Andrew Camilleri
39b5462809
Remove only dependency on Dbriize (TextSearch in new invoice column) (#2029)
* Remove only dependency on Dbriize (TextSearch in new invoice column)

* Switch to table for invoice text search

* Adding missing using after rebase

* Removing database migration in preparation for refresh

* Database Migration: Adding InvoiceSearchData

* Refactoring InvoicesRepository to make AddToTextSearch static and non-async

Operation as async is too expensive for simple filtering and AddRange

* Renaming InvoiceQuery property to Take

More inline with what property does by convention, Take is used in conjuction with Skip

* Refactoring SettingsRepository so update of settings can happen in another context

* Adding DbMigrationsHostedService that performs long running data migrations

* Commenting special placing of MigrationStartupTask

* Simplifying code and leaving comment on expected flow

* Resolving problems after merge

* Database Migration: Refreshing database migration, ensuring no unintended changes on ModelSnapshot

Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2020-12-28 19:10:53 +09:00
Nicolas Dorier
a6ee64ea63
Remove DB and Directory settings out of the BTCPayServerOptions (#2168) 2020-12-27 22:06:00 +09:00
nicolas.dorier
0dcd834535
Improve error checks 2020-12-23 14:10:53 +09:00
nicolas.dorier
f0fc0441bd
Remove useless constant 2020-12-23 14:07:24 +09:00
Andrew Camilleri
69eaaef963
GreenField: Store OnChain Payment Method (#2157)
* GreenField: Store set payment methods

* add swagger docs

* fix swagger
2020-12-23 14:00:38 +09:00
Andrew Camilleri
9dbfe22171
add greenfield authorize UI docs and fix small issues (#2156)
* add greenfield authorize UI docs and fix small issues

* Update ManageController.APIKeys.cs

* Apply suggestions from code review

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-12-23 13:19:38 +09:00
Dennis Reimann
e48d18279c
API: Fix behaviour after first admin signup (#2150)
Without updating the `FirstRun` setting it is not possible to login after signing up via the API. Otherwise the `HomeController.Index` action always redirects to the Registration page.
2020-12-17 12:27:01 +01:00
Dennis Reimann
5f46b48d45
API: Fix for invoice not found (#2148)
In case the invoice ID was invalid, this resulted in an exception instead of a 404.
2020-12-17 06:43:43 +01:00
Dennis Reimann
ed497cab99
Hide pagination & page size when not necessary (#2122)
* UI: Hide pagination and page size when not necessary

* UI: Use pager component for notifications list

* UI: Use pager component for wallet transactions list

* UI: Improve pager component

* Fix from code review
2020-12-12 15:21:37 +09:00
Nicolas Dorier
282d0abb62
Remove bitpay translator (#2130) 2020-12-12 15:17:44 +09:00
Andrew Camilleri
034b732e7c
GreenField: Update invoice metadata (#2095)
* GreenField: Update invoice metadata

* add swagger

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2020-12-12 15:15:34 +09:00
Umar Bolatov
b1e9c005b7
Add "Mark all as seen" button to notification dropdown (#2101) 2020-12-12 14:14:50 +09:00
Nicolas Dorier
0d144d088e
Refactor label implementation (Fix #2090) (#2123) 2020-12-12 14:10:47 +09:00
Andrew Camilleri
0652e30c30
GreenField: Notifications API (#2055)
* GreenField: Notifications API

This refactors notifications so that we dont have a bunch of duplicated direct access to db contexts in controllers and then introduces new endpoints to fetch/toggle seen/remove  notifications of the current user.

* add tests + docs

* fix test

* pr changes

* fix permission json
2020-12-11 23:11:08 +09:00
nicolas.dorier
798cf66e3f
Add checkoutLink and defaultLanguage to GreenField invoice 2020-12-11 12:04:18 +09:00
nicolas.dorier
e65d42bd61
Add redirectURL to create invoice on Greenfield 2020-12-09 23:20:13 +09:00
Nicolas Dorier
c8a9b66694
Merge pull request #2113 from bolatovumar/feat/add-pull-payment-css
Add ability to add custom CSS to pull payments
2020-12-09 21:33:16 +09:00
Nicolas Dorier
7c88333060
Merge pull request #2106 from btcpayserver/email-spam-protect
Introduce Spam protection
2020-12-09 16:43:49 +09:00
Umar Bolatov
16e5e2d757
Add ability to associate custom CSS with a pull payment 2020-12-08 18:25:58 -08:00
Kukks
dfd7c6d4a6 add tests and reword setting 2020-12-08 08:12:29 +01:00
nicolas.dorier
13f10657b8
Fix bug: When creating API Key for non-admin, some checked permissions were not included (Fix #2107 and Fix #2002) 2020-12-08 15:20:59 +09:00
nicolas.dorier
dd5fd2e5bb
Make sure checkout is not null in createinvoice 2020-12-08 14:54:24 +09:00
Kukks
c17b8e4d9e Introduce Spam protection
fixes #1958

Adds 2 new options:
* Do not allow stores to use the email settings of the server. Instead, they would need to fill in the email settings in their own store
* Do not allow user creation through the API unless you are an admin.

Both are opt-in and turned off by default.
2020-12-04 08:08:05 +01:00
Dennis Reimann
7e50267cb0
UI: Store setup finetuning (#2087)
* UI: Store setup finetuning

Incorporate @dstrukt's improvement feedback from [this comment](https://github.com/btcpayserver/btcpayserver/pull/2011#issuecomment-735909927).

* Clean up and fix test
2020-12-02 07:45:00 +01:00
Umar Bolatov
6714eb9f7f
Fix bug with already used colors being used first for new tx labels (#2077)
* Extend list of available tx label colors

* Ensure unknown label colors are given the least priority

closes #2072

* Remove new label colors
2020-12-02 07:38:05 +01:00
nicolas.dorier
a64dd9af16
remove hack #2070 2020-11-23 19:39:53 +09:00
nicolas.dorier
18e68d04f9
Rename invoice states and payment states 2020-11-23 18:28:35 +09:00
Dennis Reimann
ff87319a74
API: Handle lightning invoice creation errors (#2070)
Catches LightningClient exceptions and responds with a detailed API error (400) instead of a generic server failure (503).
2020-11-23 06:40:13 +01:00
Nicolas Dorier
f9b86a6b2e
Merge pull request #1901 from btcpayserver/api/invoice-extras
GreenField: Add Invoice Payment methods endpoints
2020-11-20 10:25:00 +09:00
Nicolas Dorier
e72becdfcb
Merge branch 'master' into separate-ln-bitcoin-checkout-part2 2020-11-19 12:44:01 +09:00
nicolas.dorier
8ffe6dcfa0
Fix build 2020-11-19 12:40:07 +09:00
Nicolas Dorier
d8f145c4dc
Merge branch 'master' into plugins-db 2020-11-19 12:19:17 +09:00
Nicolas Dorier
9c5fd1b478
Merge pull request #2058 from NicolasDorier/webhook2
Add Webhooks in store's settings
2020-11-19 12:17:34 +09:00
Kukks
179520a211 Plugins: Allow creation of independent DbContexts
This allows plugins to create custom dbcontexts, which would be namespaced in the scheme with a prefix. Migrations are supported too and the table would be prefixed too
2020-11-18 12:27:26 +01:00
Dennis Reimann
ec31a4fe17
Improve Lightning node info view (#2066)
* Cleanups

* Add store name

* Unify js/non-js HTML
2020-11-17 08:57:14 +01:00
nicolas.dorier
df79c2cf48
Improve tests of webhooks 2020-11-14 13:39:44 +09:00
nicolas.dorier
94bcbeb604
Add Greenfield API 2020-11-13 14:15:03 +09:00
rockstardev
f84f2dca64 Adding option for unified onchain QR code to Checkout Experience 2020-11-09 01:11:03 -06:00
rockstardev
7f79d16f02 Code cleanup of used classes 2020-11-08 23:56:39 -06:00
nicolas.dorier
f3611ac693
Add Webhooks in store's settings 2020-11-08 15:57:24 +09:00
Dennis Reimann
eef729b5f9
API: Fix open channel validation condition (#2054) 2020-11-06 16:52:58 +01:00
Kukks
e021d42551 Ensure that there is no LN/Bitcoin specific logic in the Invoice UI endpoint 2020-11-06 11:09:17 +01:00
Andrew Camilleri
31738c465d
Plugins: Load plugins by order, aesthetic plugin dependency system (#2020)
* Plugins: Load plugins by order, aesthetic plugin dependency system

Introduces plugins loading in order of installation, BTCPay itself shows up as a system plugin, and that plugins can define other plugins as dependencies.

* use a proper type for plugin dependencies

* rebase fixes

* message when cannot install
2020-11-05 15:43:14 +01:00
Andrew Camilleri
38fb64130d
Plugins: Recommended plugins and github Remote config options (#2045)
This allows external integrations ( btcpay docker fragments) to highlight specific plugins as recommended to be installed. Also moved the remote option to  a config option instead of a url query param to avoid messy situations where users could get deceived with a generated url. The dockerfiles also have an additional csproj to build and the plugin dir was renamed correctly from extensions to plugins
2020-11-05 10:21:09 +01:00
Andrew Camilleri
d2910686cd
Fix link from app label (#2028) 2020-11-02 12:26:11 +01:00
Andrew Camilleri
793b1b56d9
Fix exception when saving checkout experience on new store (#2033) 2020-10-31 11:34:40 +01:00
Kukks
1d82c3779b Remove AwaitingConfirmation 2020-10-27 09:49:35 +01:00
Kukks
8962bf00f6 GreenField: Add Invoice Payment methods endpoints
lets you fetch all active payment methods data + payments made
2020-10-27 09:47:21 +01:00
Nicolas Dorier
758f627e12
Partially paid invoices should be reused in payment requests. Cleanup the code. (#2008) 2020-10-23 21:00:23 +09:00
Dennis Reimann
20322c6ab8
Improve payment print styles (#1977)
* Improve payment print styles

Allows for export as invoice PDF to be used in accounting. Closes #1957.

* Change Transaction ID wording

* Minor payment request UI improvements

* Add amount paid, rate and colorize payment status

* Display rate at invoice level

* Inherit text color in print

* Show full date in print view

* Rearrange payment details

* Add received date for payments

* Fix amount calculation

* Fix validInvoice assignment
2020-10-23 17:37:28 +09:00