198 Commits

Author SHA1 Message Date
lovasoa a61e590a29 new config option: database_connection_acquire_timeout_seconds 2023-08-20 23:48:38 +02:00
lovasoa 729bf58b5b Add the ability to prefix env var name with SQLPAGE_
Fixes #44
2023-08-20 23:37:56 +02:00
lovasoa cf61cce9dc add the ability to retry database connections when they fail 2023-08-20 23:23:33 +02:00
lovasoa 6263f8498a fix handling of "not found" errors
HTTP 500 were returned instead of HTTP 404
2023-08-20 22:52:11 +02:00
lovasoa 02261f492d improve top-level error handling 2023-08-20 22:47:12 +02:00
lovasoa 5e95a31f01 display data with the "debug" component by default 2023-08-20 14:47:10 +02:00
lovasoa fa5aef6549 avoid instanciating the default component when not needed 2023-08-20 14:40:18 +02:00
lovasoa 95ba9f0651 create a single in-memory sqlite db connection by default 2023-08-20 13:35:45 +02:00
lovasoa 0328665766 $parameter handling in sqlite 2023-08-20 12:49:51 +02:00
lovasoa 10b127f731 add a test for #64 2023-08-20 09:56:36 +02:00
lovasoa 0a4fe93d10 parse sql files in the dialect of the current database 2023-08-20 09:23:45 +02:00
lovasoa c442f3a018 compile with older rust 2023-08-19 09:42:54 +02:00
lovasoa d2030072a7 fix error not being displayed when loading index.sql failed 2023-08-19 00:50:46 +02:00
lovasoa ea16d3b125 fmt 2023-08-12 13:34:38 +02:00
lovasoa b1aade561a database driver updates
docker / docker (push) Has been cancelled
Create Release / build (target/superoptimized/sqlpage, macos-latest) (push) Has been cancelled
Create Release / build (target/superoptimized/sqlpage, ubuntu-20.04) (push) Has been cancelled
Create Release / build (target/superoptimized/sqlpage.exe, windows-latest) (push) Has been cancelled
Create Release / build-aws (push) Has been cancelled
Create Release / Create Release (push) Has been cancelled
2023-08-12 12:10:55 +02:00
lovasoa fc2547583b add a test for 9421138495 2023-08-04 09:51:56 +02:00
lovasoa 9421138495 fix shell component not displaying all menu items
a static shell component selection broke pages with multiple menu items
2023-08-03 19:04:12 +02:00
lovasoa 0933c5c6b9 split out the sql to json code 2023-08-03 18:51:47 +02:00
lovasoa 2c461fb08a improve page load speed
docker / docker (push) Has been cancelled
Create Release / build (target/superoptimized/sqlpage, macos-latest) (push) Has been cancelled
Create Release / build (target/superoptimized/sqlpage, ubuntu-20.04) (push) Has been cancelled
Create Release / build (target/superoptimized/sqlpage.exe, windows-latest) (push) Has been cancelled
Create Release / build-aws (push) Has been cancelled
Create Release / Create Release (push) Has been cancelled
split the charts javascript code from the rest of the frontend code,
and load it only when necessary.

This greatly diminishes the amount of js loaded by default, and achieves very good performance scores by default.
2023-08-03 12:24:22 +02:00
lovasoa 0a6dbf8b92 clippy fixes 2023-08-02 17:09:46 +02:00
lovasoa 695dc6d548 fmt 2023-08-02 17:07:54 +02:00
lovasoa 92aa89746b improve sqlpage binary size by compressing assets 2023-08-02 17:07:41 +02:00
lovasoa 7b66c90ceb fix icons in tables 2023-08-02 16:46:58 +02:00
lovasoa 03b0885ca5 inline svg icons in the SQLPage binary
icons are now loaded directly from the sqlpage binary instead of loading them from a CDN

This makes it possible to host a SQLPage website on an intranet without access to the internet.

Fixes https://github.com/lovasoa/SQLpage/issues/37
2023-08-02 16:20:11 +02:00
lovasoa 5469b429d4 clippy 2023-08-01 12:58:22 +02:00
lovasoa ccac77c1e1 fmt 2023-08-01 12:52:00 +02:00
lovasoa e4252f552f add support for displaying date time and datetime objects natively
Before, one used to have to cast them to text on the database,
which wasn't practical for use with the table component, for instance.

Fixes #41
2023-08-01 12:51:32 +02:00
lovasoa 49f997d7e1 mssql: fix infinite recursion in parameter replacement, add tests, remove some duplication 2023-07-30 22:52:51 +02:00
lovasoa f76c9dd071 fix param binding for mssql 2023-07-30 13:06:23 +02:00
lovasoa d69ec081bc add experimental support for Microsoft SQL Server 2023-07-30 10:32:22 +02:00
lovasoa a9b41ad5f7 avoid folder redirects for .SQL files (in capital letters) 2023-07-26 22:58:19 +02:00
lovasoa 18cdb6326b fix infinite error stream issue
It was possible for an SQL error to trigger an infinite loop where SQLPage would stream error messages to the browsers forever
2023-07-26 18:32:04 +02:00
lovasoa d6e538e343 Redirect index pages without a trailing slash to the same page with the trailing slash. 2023-07-25 17:48:35 +02:00
lovasoa 2ca311d18a avoid taking a db connection fromthe pool before it is necessary 2023-07-25 16:21:13 +02:00
lovasoa c5f9c91058 avoid database roundtrips for simple static select statements 2023-07-25 15:48:20 +02:00
lovasoa 9e433cab05 add support for building JSON APIs in SQLPage 2023-07-22 15:08:08 +02:00
lovasoa 524d4a10dc Fix error displayed in logs on redirects
Now we don't open a body context when it won't be needed
(when there is nothing to add to the body of the page)

Fixes error messages in logs when a request had no body (redirects, for
instance)
2023-07-18 14:42:26 +02:00
lovasoa ba3188ceef cargo fmt 2023-07-17 02:41:52 +02:00
lovasoa fdb5107517 simplify 404 error testing 2023-07-17 02:35:13 +02:00
lovasoa c131a95ff8 remove usage of is_some_and to allow compilation with old rust versions 2023-07-17 02:26:22 +02:00
lovasoa 0061d1302b small code reorganization
make functions available in a separate module
2023-07-16 21:24:47 +02:00
lovasoa 7cbe89aeb7 custom background colors in tables
Closes #25
2023-07-15 19:41:41 +02:00
lovasoa 634c47aec3 avoid repeatedly acquiring and releasing connections when running a single SQL file
... and return better errors when we are getting too many requests
2023-07-15 01:09:02 +02:00
lovasoa 9f6c087ed7 remove unnecessary error handling 2023-07-11 21:04:53 +02:00
lovasoa 404994fc90 change default configuration loading order 2023-07-11 19:07:00 +02:00
lovasoa a06efd6df7 improve 404 errors
Return proper 404 errors when a page is not found
2023-07-11 08:55:06 +02:00
lovasoa 08832bb52f cargo fmt 2023-07-10 23:53:56 +02:00
lovasoa 6dbe4651ba better error message on invalid function call 2023-07-10 21:59:23 +02:00
lovasoa 3e1ff28a52 new builtin function sqlpage.random_string 2023-07-10 20:45:16 +02:00
lovasoa f09f828ccf implement the new hash_password function 2023-07-10 03:31:06 +02:00