Commit Graph

745 Commits (112f6f43fbef23509ff3c255da00d90e2c503e49)

Author SHA1 Message Date
Joas Schilling 1bcc381e28
fix(setupcheck): Make the Memcache setupcheck use the cache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-12-02 09:18:07 +07:00
Joas Schilling d1e17e78b7
fix(activity): Fix activity object type warnings
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-11-27 10:54:15 +07:00
skjnldsv 52020b5ea6 fix(settings): psalm PhpMaxFileSize setup check warning
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-19 18:27:35 +07:00
skjnldsv 4a88848109 feat(settings): add big file upload setup checks
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-19 16:43:41 +07:00
Ferdinand Thiessen 9e327a5890
fix(apps-store): Remove apps from force-enabled state when uninstalled
If an app is force-enabled and then uninstalled the force-enabled state was kept.
This is now removed, so when the app should be re-installed the compatibility should be reevaluated.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-18 14:09:54 +07:00
rakekniven 49c7f7dd1c
chore(i18n): Fixed grammar
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-11-14 12:59:14 +07:00
Daniel 22e2419b28
Merge pull request #48134 from nextcloud/feat/mail-provider-settings
feat: mail provider settings
2024-11-13 14:31:21 +07:00
Ferdinand Thiessen a3e80e4195
feat: Update supported PostgreSQL versions
12 is now EOL but 17 was released and should be supported and tested.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-13 02:50:13 +07:00
SebastianKrupinski 3e870695bc feat: mail provider settings
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-11-12 13:19:35 +07:00
Benjamin Gaussorgues 46abfc6d50
Merge pull request #48792 from nextcloud/chore/update_mysql_setup_check_i18n 2024-11-05 10:06:29 +07:00
rakekniven 25d1628e30
chore(i18n): Fix grammar
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-11-03 16:34:57 +07:00
Benjamin Gaussorgues a40f21b4db chore(setupchecks): update translation for MySQL row format check
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-10-30 09:56:02 +07:00
Benjamin Gaussorgues 34ade098bd fix(users): use correct active user count
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-10-30 07:53:10 +07:00
Andrey Borysenko a12b4da6af
fix(ci): psalm, suppress undefined for viewApps
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-29 20:54:08 +07:00
Andrey Borysenko e4d586697c
WIP: address review comments, small fixes
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-29 20:54:08 +07:00
Andrey Borysenko 3a840c102a
fix(ci): suppress UndefinedClass for AppAPI related classes since it's bundled
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-29 20:54:07 +07:00
Andrey Borysenko 95b06309f3
feat(app_api): add initial state data for AppAPI UI part
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php
2024-10-29 20:54:05 +07:00
Kate e8dbf022c9
Merge pull request #48919 from nextcloud/fix/settings/userid-dependency-injection 2024-10-28 11:44:16 +07:00
Claudio Cambra 5969b4bea8
fix(appsmanagement): Fix exception on generating preview url for screenshots
Some installed apps meant for older server versions might unexpectedly
offer up screenshot values in a non-string format (e.g. health). Avoid
an exception by checking first if the first app screenshot is indeed a
string and otherwise we take the value of the parameter

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-10-28 08:29:16 +07:00
provokateurin 35d614057c
fix(settings): Fix dependency injection
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-28 08:14:17 +07:00
Josh 4c9877c082
fix(settings): Change "setup warnings" -> "setup checks" in Overview
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-10-23 17:31:59 +07:00
Ferdinand Thiessen 6d2c63ecff
fix(settings): Do not use `null` on `string` parameter for sharing disclaimer
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-23 20:12:32 +07:00
Kate b5ac989ecd
Merge pull request #48854 from nextcloud/fix/proxy-app-screenshot 2024-10-23 17:18:13 +07:00
Ferdinand Thiessen 3b6915e96d
fix(app-store): Also proxy images of locally installed apps
Before this only app store apps got their screenshots proxied,
but this will cause locally installed apps to not be correctly shown on the app-store.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-23 13:36:27 +07:00
Ferdinand Thiessen 9955b13564
fix(app-store): Ensure the `groups` property is always an array
If the value was a string, like a single group, then `json_decode` will also yield only a string.
So in this case we ensure the property is always an array with that value.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-23 13:32:36 +07:00
provokateurin 381077028a
refactor(apps): Use constructor property promotion when possible
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +07:00
Benjamin Gaussorgues 7e99fd31ea
Merge pull request #48547 from nextcloud/feat/row_format_check 2024-10-18 11:59:58 +07:00
Marcel Müller 74d179edf3 fix(appstore): Hide last modified information for shipped apps
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2024-10-16 23:51:56 +07:00
Côme Chilliet 1580c8612b
chore(apps): Apply new rector configuration to autouse classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-15 10:40:25 +07:00
Christopher Ng 40823775d9 fix: Fix empty sections appearing in search results
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-10-08 10:57:20 +07:00
Benjamin Gaussorgues f70f70e0db
feat(setupchecks): add row format setup check for MySQL databases
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-10-08 17:13:30 +07:00
Maksim Sukharev 0d6acbf9e4 fix: do not reduce count for subadmins if they are members of group
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2024-10-02 18:32:53 +07:00
Kate 54cdd42ba9
Merge pull request #48437 from nextcloud/fix/noid/count-disabled-correct 2024-09-30 11:59:06 +07:00
Maksim Sukharev 2b2b4e9e96 fix: correctly count disabled users for subadmins
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2024-09-28 18:46:16 +07:00
Ferdinand Thiessen b5256181a4
fix(settings): Sort all settings - incl declarative settings - by priority
Previously declarative settings were sorted by priority but behind the "native" settings,
this is now fixed, meaning a declarative setting with higher priority than an `ISetting` will
be correctly rendered before that `ISetting` in the settings list.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-28 14:08:26 +07:00
Ferdinand Thiessen 9bc0aa03b2
fix: Ensure app discover section is returned as list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-24 12:34:22 +07:00
Joas Schilling 096f893d46
fix(activity): Update more activity providers to use new exceptions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-09-23 12:31:59 +07:00
Julius Knorr 606241caeb
chore(legacy): Introduce public version ct plass and drop version methods from OC_Util
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-20 14:53:34 +07:00
provokateurin 9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +07:00
Josh Richards e019eae347 fix(setupChecks): Having transactional file locking disabled is not supported
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-09-19 12:50:59 +07:00
John Molakvoæ (skjnldsv) 26abc86eca
feat: add profile pronouns
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2024-09-17 22:20:36 +07:00
Ferdinand Thiessen f5b73d2c77
fix: Remove legacy settings forms
`OC_App::getForms` was always returning an empty array,
because there were no setter for `adminForms` or `personalForms` anymore.
So removed all that legacy settings forms logic.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-17 14:54:39 +07:00
Anna Larch 1ce46c1fca refactor: move to new activity exception
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-17 12:06:24 +07:00
Robin Appelman ede0c26b78
Merge pull request #46480 from nextcloud/fix/mailer-binaryfinder-fallback
fix(Mailer): Fix sendmail binary fallback
2024-09-16 18:18:14 +07:00
Josh 87aa1267a8 fix(Mailer): Fix sendmail binary fallback
feat: add debug logging to sendmail binary finder

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-09-16 15:20:29 +07:00
Ferdinand Thiessen 7fbd518452
feat: Make `CheckServerResponseTrait` public and provide as `OCP\SetupCheck\CheckServerResponseTrait`
This trait is used by other apps for creating setup checks,
so we should provide it instead apps using private API.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-16 14:58:21 +07:00
Joas Schilling c7c031dbd2
fix(a11y): Add OTF font loading check
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-09-16 09:59:21 +07:00
Côme Chilliet bcb4e781a4
Merge pull request #47927 from nextcloud/fix/migrate-away-from-oc_app
Migrate away from OC_App to IAppManager
2024-09-13 17:44:38 +07:00
Ferdinand Thiessen be1cd7a308
refactor(settings): `CheckServerResponseTrait` always expect absolute path
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-13 13:09:40 +07:00
Ferdinand Thiessen 9e979d42b4
fix(setup-checks): Ensure URL with webroot works
We basically mock the way `URLGenerator::getAbsoluteURL` works,
so we must make sure that the URL might already contain the webroot.
Because `baseURL` and `cliURL` also contain the webroot we need to remove
the webroot from the URL first.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-13 13:06:24 +07:00
Côme Chilliet 7ed583cb8e
chore: Migrate cleanAppId and getAppPath calls to IAppManager from OC_App
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-13 10:08:43 +07:00
Anna Larch 8af7ecb257 chore: adjust code to adhere to coding standard
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +07:00
Côme Chilliet c224b8ced4
fix(setupchecks): Test overwrite.cli url first, then generated one, and
trusted domains as last fallback.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-05 11:54:45 +07:00
Daniel Kesselberg 4ce4d7b9b3
fix: add option to remove the webroot for setup checks and don't check trusted_domains.
1) The checks for well-known urls should always run against the root domain and therefore the option to remove the webroot.

2) For trusted domains, the available protocol is unknown, and thus some guesswork would be needed to make that work. I've decided for now to not consider them anymore to reduce false-positives.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-09-05 10:30:36 +07:00
provokateurin c88ae37844
fix(settings): Fix sharing exclude groups from password requirement option not working
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-03 14:28:44 +07:00
Julius Härtl f3419c5f57
feat(settings): Add setup check for apcu cache expunge
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-27 10:45:32 +07:00
Daniel Kesselberg af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +07:00
Joas Schilling 04944aaa23
fix(security): Update expiration date in security.txt
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-08-14 09:58:02 +07:00
Kate 4673e1a391
Merge pull request #46816 from nextcloud/refactor/settings/security-attributes 2024-08-14 09:38:08 +07:00
Ferdinand Thiessen 0563757ea4 fix(SetupCheck): Properly check public access to data directory
When checking for public (web) access to the data directory the status is not enough
as you might have a webserver that forwards to e.g. a login page.
So instead check that the content of the file matches.

For this the `.ncdata` file (renamed from `.ocdata`¹) has minimal text content
to allow checking.

¹The file was renamed from the legacy `.ocdata`, there is a repair step to remove the old one.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-08 22:08:42 +07:00
Git'Fellow 4488714148
Merge pull request #46353 from nextcloud/skipOPcacheCLI
fix(setupchecks): Skip checking for OPcache settings if running checks from CLI
2024-08-01 20:02:25 +07:00
Anupam Kumar cf4326539e
fix(AdminSettings/AI): show pref list of only the enabled translation providers
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
2024-08-01 13:36:37 +07:00
provokateurin f012c996ee
refactor(settings): Replace security annotations with respective attributes
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-07-27 22:49:43 +07:00
Benjamin Gaussorgues 2ddfbf3e79
Merge pull request #45092 from nextcloud/fix/user-provider-search-shown 2024-07-24 16:38:13 +07:00
Louis 7266a9ef33
Merge pull request #46418 from nextcloud/artonge/feat/user_admin_delegation
feat(users): Add users and group management to admin delegation
2024-07-24 11:15:54 +07:00
Richard Steinmetz b37fb43a32
feat: let users configure their first day of week
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-22 22:35:46 +07:00
Louis Chemineau 3574d7eec8
feat(users): Enable features for delegated user admins
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-07-22 19:58:44 +07:00
Louis Chemineau dff8815449
feat(users): Add support for admin delegation for users and groups management
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-07-22 17:17:35 +07:00
Joas Schilling 047479ccf9
feat(security): Add public API to allow validating IP Ranges and checking for "in range"
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-07-19 16:28:03 +07:00
Benjamin Gaussorgues 202e5b1e95
feat(security): restrict admin actions to IP ranges
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-07-19 16:28:03 +07:00
Marcel Klehr 7cb67c67c7
Merge pull request #46509 from nextcloud/feat/settings/taskprocessing
feat(settings/admin/ai): Add Task Processing API settings
2024-07-17 18:24:11 +07:00
Marcel Klehr 9dca5ae0e0
feat(settings/admin/ai): Add Task Processing API settings
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-07-17 15:24:19 +07:00
Anna Larch 2201bce7d3 fix(caldav): lower scheduling table size warning
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-07-17 11:20:49 +07:00
Christopher Ng e8cacc50a2 chore(settings): Rename user groups
- "Active accounts" -> "All accounts"
- "Recent accounts" -> "Recently active"

Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-07-11 11:19:09 +07:00
Christopher Ng 51e9651436 chore(l10n): Translate group names
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-07-11 11:19:09 +07:00
Christopher Ng 07319a118b feat: Add Recent accounts section
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-07-11 11:19:09 +07:00
Git'Fellow fa84f52c3f
fix: typo
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-07-08 15:11:35 +07:00
Git'Fellow 372c9d2ee6
fix: check both CLI and value
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-07-08 15:09:29 +07:00
Git'Fellow 39f052407a
fix(setupchecks): Skip checking for OPcache if running from CLI
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-07-08 10:43:20 +07:00
Ferdinand Thiessen 8fc498fb82
fix(IntegrityCheck): Ensure the check is run if no results are available
If there are no cached results the current implementation was also returning an empty array,
but this was the same as when there was a successful run.
So to distinguish this we return `null` if there are *no* results.
In this case we need to rerun the integrity checker.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-03 11:37:49 +07:00
Ferdinand Thiessen 682faad0b3
Merge pull request #46009 from nextcloud/refactor/ajax-cron
refactor(cron): Use `IAppConfig` for cron settings and migrate ajax cron away from jQuery
2024-06-29 16:29:34 +07:00
Daniel 02983f3317
Merge pull request #46190 from nextcloud/bug/45047/skip-check-when-disk-free-space-disabled
fix(setupchecks): skip check when disk_free_space is disabled
2024-06-29 15:59:17 +07:00
Ferdinand Thiessen 14778811b4
refactor: Use `IAppConfig` for setting cron type
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-28 18:00:39 +07:00
Daniel Kesselberg fd9fd1b6fb
fix(setupchecks): skip check when disk_free_space is disabled
Make it easier to discover that the check failed because disk_free_space is disabled.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-28 13:06:49 +07:00
Ferdinand Thiessen 6601adcd6d
refactor(SetupCheck): Make mariadb and mysql version variables
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-27 16:22:42 +07:00
Ferdinand Thiessen 6e48ca1cf8
fix(settings): Adjust SetupCheck for supported database versions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-27 16:15:16 +07:00
MichaIng ea994fe8fb
fix(settings): make trailing slash for caldav/carddav redirects optional
#43939 moved the CalDAV/CardDAV redirect checks from the frontend to a new backend API.

Since the backend does not send an authentication header, checking for the expected response code 207 of the DAV endpoint does not work anymore, hence the URL of the last redirect is checked instead.

This URL is expected to contain a trailing slash, which was not required before, since the DAV endpoint works properly without it (when authenticated).

While a trailing slash in the redirect does no harm, it causes many setups to throw an admin panel warning, while in fact the redirects work properly. Furthermore, the proposed "/.well-known/carddav" => "/remote.php/dav/" redirect leads to double slashes, when doing a request to "/.well-known/carddav/", which seems more wrong then right.

This change makes the trailing slash optional, hence old and adjusted setups won't throw the warning anymore, and the DAV endpoint works well in both cases.

Signed-off-by: MichaIng <micha@dietpi.com>
2024-06-24 17:52:22 +07:00
Robin Appelman e74f71b32e feat: add setup check for needed mimetype migrations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-18 14:46:19 +07:00
Arthur Schiwon 98b5cdc43d
Merge pull request #43942 from nextcloud/fix/43612/avoid-pwd-confirm-sso
fix(Session): avoid password confirmation on SSO
2024-06-07 11:25:36 +07:00
Arthur Schiwon f6d6efef3a
refactor(Token): introduce scope constants
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-05 19:01:14 +07:00
Andy Scherzinger ec5b60af28
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-03 20:33:31 +07:00
Anna Larch ad78f7e48e fix(caldav): automatically delete outdated scheduling objects
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-05-31 13:14:01 +07:00
Jake Nabasny f863290572
feat(ldap): sync additional properties to profile and SAB
Synced from LDAP to profile:
- Date of birth

Synced from LDAP to SAB (via the profile):
- Biography
- Date of birth

Original code by Jake Nabasny (GitHub: @slapcat)

Co-authored-by: Jake Nabasny <jake@nabasny.com>
Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-05-30 12:01:13 +07:00
Archisman Das e1331d9edc fix:Ensure security.txt file ends with a newline character
Signed-off-by: Archisman Das <archisman.officials@gmail.com>
2024-05-27 09:36:39 +07:00
Côme Chilliet c31d6b1fdc
Merge pull request #45262 from nextcloud/check-HttpsUrlGeneration
fix(SetupChecks): Detect CLI mode in HTTPS / URL generator check
2024-05-13 12:06:21 +07:00
Daniel 99f89bb3de
Merge pull request #45242 from nextcloud/check-memcache-memcached
fix(setupCheck): Only warn when memcache present w/o memcached
2024-05-13 11:53:27 +07:00
Ferdinand Thiessen ef320200b9
fix: Move hint about firewall issues to common helper string
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-13 09:27:19 +07:00
Julius Härtl a5fc9b1563
Merge pull request #45272 from nextcloud/check-db-missing-indices
feat(SetupChecks): Refactor DatabaseHasMissingIndices
2024-05-13 07:55:39 +07:00
Josh Richards 5b5178abe7 fix(SetupChecks): Detect CLI mode in HTTPS / URL generator check
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-05-12 18:09:36 +07:00
Josh Richards 229e5444c9 feat(SetupChecks): Refactor DatabaseHasMissingIndices
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-05-11 10:29:42 +07:00