11 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
9aa3203733
ttrss: Fix issue with installing after an uninstalling
Tests:

- Without the patch, uninstall and reinstall will fail. With patch it passes.

- Rerunning setup does not destroy the contents of the database.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-01-26 10:50:21 -05:00
Sunil Mohan Adapa
b99ead7aa6
db: Add more utilities for managing PostgreSQL databases
- Add methods for creating/dropping user/database.

Tests:

- ttrss and miniflux functional tests work which check for backup/restore.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-01-26 10:50:19 -05:00
Sunil Mohan Adapa
df55ba8c61
miniflux, ttrss: Factor out duplicated postgres utility methods
Tests:

- Run functional tests on miniflux app.
- Run backup and restore on ttrss app manually and notice that data is restored
and there are no errors.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2024-07-30 00:40:29 +05:30
Sunil Mohan Adapa
fdaba80de3
ttrss: Ensure that database is removed after uninstall
- Setting ttrss/purge to 'true' in debconf is not retrained after the package
has been install. So, set it again just before package removal.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-03-31 20:49:01 -04:00
Sunil Mohan Adapa
7c5c960400
ttrss: Improve backup and restore of the database
- Don't dump all the databases on the server. Instead dump only the ttrss
database and its role.

- Use database configuration instead of hardcoded database name 'ttrss'.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-03-31 20:48:36 -04:00
Sunil Mohan Adapa
38ece87c6c
*: Utilize newer 3.10 syntax for type hints
Tests:

- mypy does not show any errors.

- Installing ejabberd app works. Privileged actions run fine.

- Unit tests work.

- No additional testing was done as type annotations don't have any effect at
runtime.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-09-25 20:03:34 -04:00
Sunil Mohan Adapa
e525d0ff72
ttrss: Use the apache component to restart apache on config change
Tests:

- Install version 5 of ttrss app. Update to version 6. Notice that apache is
reloaded.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-05-03 08:00:43 -04:00
nbenedek
97d9174775
ttrss: Allow apps to use /tt-rss URL instead of separate one
- When tt-rss is accessed via a smart device, authenticate the
user with basic auth, otherwise authenticate with mod_auth_pubtkt.

- I tested logging in with the official TT-RSS Android app and
Fiery Feeds for iPhone.

- Reload apache2 to apply the changes.

Signed-off-by: nbenedek <contact@nbenedek.me>
[sunil: Use Authorization header instead of user agent]
[sunil: Update description to talk about both URLs]
[sunil: Increment app version to reload apache]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2023-04-25 12:13:42 -07:00
nbenedek
e3c285c4cb
ttrss: Completely uninstall app
Set debconf values so that the database gets dropped when the package is removed

Tests:

* Install App and subscribe to a feed
* Apply patches, then reinstall app: confirm the feed is purged
* Functional tests passed

Signed-off-by: nbenedek <contact@nbenedek.me>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2023-04-16 10:37:52 +05:30
nbenedek
bf2e53f323
ttrss: fix failing backup
Closes: #2206

Use pg_dumpall instead of pg_dump.

Test I did:
1. Install tt-rss and add a feed
2. Create a backup
3. On a fresh installation restore the backup from file

Signed-off-by: nbenedek <contact@nbenedek.me>
[jvalleroy: Add a comment about the limitation of this approach]
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-03-13 21:19:28 -04:00
Sunil Mohan Adapa
11a27d8efc
ttrss: Use privileged decorator for actions
Tests:

- Ignore setting a None domain
- Updated tests to use base class

- Functional tests work
  - Backup/restore works. Database is dumped and restored.
- Initial setup works
- Enabling/disabling works
  - API access is enabled and a valid domain is set when available
- Setting the domain works
  - Configuration is updated in update.php
  - App page show newly set domain
- Not tested: force upgrade of package

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-08 18:53:30 -04:00