Commit Graph

42 Commits

Author SHA1 Message Date
ced27123de refactor: turn columnSettings data from loose array to value object
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-07-15 17:37:49 +02:00
14d4b6f62a Merge pull request #1688 from AIlkiv/refactor/columns-to-column-settings
refactor: restructure column config to support additional settings
2025-06-16 19:32:40 +02:00
ca314e8522 refactor: restructure column config to support additional settings
Signed-off-by: ailkiv <a.ilkiv.ye@gmail.com>
2025-06-13 11:28:14 +00:00
06dd46d897 test(Behat): add test for inheriting permissions
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-04-25 21:51:23 +02:00
aa22d37ed8 tests: Add test for filtered views
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-19 13:10:19 +01:00
7e7d498f17 tests(Behat): add test case for server side sorting of rows
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-02-13 12:17:45 +01:00
1849033dbc style(PHP): adjust to codestyle updates
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-02-10 12:14:18 +01:00
6dde229c03 fix: allow adding meta data columns to views again
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-01-07 09:40:52 +01:00
126fa47db0 test(Integration): extend import test with xlsx data sets
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-11-18 21:58:08 +01:00
a796460998 test(Integration): extends csv import test data
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-11-18 21:58:08 +01:00
0ee59a2694 test(Behat): remove table from collection manager upon delete
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-10-15 21:38:41 +02:00
9b5a3b3443 style(PHP): satisfy code style linter
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-10-15 13:43:39 +02:00
b15395b65e tests(Behat): ensure folks without access cannot modify res via context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-10-15 13:43:39 +02:00
9eb081b18c tests(Behat): add CRUD tests on table issued via context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-10-15 13:43:39 +02:00
af1c93213f tests(Behat): add CRUD tests on table issued via context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-10-15 13:43:39 +02:00
0844c6e864 test(behat): check that returned created row matches input values
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-09-12 14:56:20 +02:00
3eeb1101b9 test(behat): add tests on adding columns to views
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-09-12 14:55:11 +02:00
9a46561716 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-08 15:35:37 +02:00
1e2a0da783 chore: Cleanup methods to parse/transform values
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-31 09:52:17 +02:00
6968538fdf enh: rename migration
Signed-off-by: Cleopatra Enjeck M <patrathewhiz@gmail.com>
2024-07-31 09:51:12 +02:00
8443dde347 feat: edit/create rows from tables interactive content widget (#952)
* feat: create and edit rows from tables interactive widget

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

---------

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Co-authored-by: Julius Härtl <jus@bitgrid.net>
2024-06-27 10:00:57 -04:00
0c1ff07f16 enh(API): add OCS API to create rows
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-24 17:36:35 +02:00
b8089f81b5 ci(integration): test against context sharing
- also updates openapi, "context" was missing as a valid option

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-10 13:49:25 +02:00
007ed25453 test(integration): cases against context transfer ownership
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-06 21:22:52 +02:00
9e394fb26d ci(integration): tests against context updates
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-04 11:41:42 +02:00
f5283e9823 ci(integration): tests against context deletion
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-05-06 12:31:14 +02:00
5a1ca5eb57 test(integration): add cases on invalid context reads
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-26 12:18:40 +02:00
f63f18c824 test(integration): add case on create context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-26 11:43:34 +02:00
af581caf9c test(integration): add case reading a Context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-25 12:54:22 +02:00
843ce3a61e test(integration): fix life cycle mgmt
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-25 11:20:33 +02:00
ad37925126 test(Integration): add contexts related tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-25 11:15:07 +02:00
44809da7e7 test(integration): improve failed test message
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-24 11:01:53 +02:00
19d15740da tests: Add integration tests for archive and favorites
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-03-01 14:09:49 +01:00
b5484a41e5 add integration test for new API endpoint
Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
2024-01-11 13:14:43 +01:00
e53bc51291 enh(api): renew API docs and setup API v2 (#615)
- adjust setup to make use of the new API extractor
- add all needed types to extract API v1
- setup structure and first endpoints for API v2

add selection column description and test it



fix php 7.4 backwards compatibility



add tests for basic column creations



add a endpoint to request column objects



update openapi.json



make psalm return type more precise



fix psalm types recognition



fix route



cleanup debug info



Cleanup annotations



Hide sensitive data from showing to the users.



Refactor OCS-API-Controller to abstract class



Update lib/Db/Column.php




Update lib/Controller/ApiGeneralController.php




Update lib/Controller/ApiTablesController.php




Update lib/Controller/ApiTablesController.php




Update lib/Controller/MyOCSController.php




add specific endpoints to create different columns by type
- fix error handling in ColumnService.php



add basic integration tests for the api v2 table endpoints



fix api routes & update API docs



cypress fix typo



initial new API setup
- introduce api v2
- organise API methods in own controllers
- Add virtual version tag to the names in docs
- use OCS routes and controllers



Setup skeleton to keep old api v1 and setup v2 with integration testing



try to use php8.1 for over all CI



add openapi.json



CI settings



Make use of automated API doc generating
- add annotations for API routed methods
- refactor to ensure type safety
- add psalm types and usage
- correct API return codes ️breaking changes ️

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
2023-11-13 13:57:41 +01:00
fcc72771cf let the api accept the old stringified data object OR the new json object directly (brings compatibility)
Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
2023-09-08 09:53:22 +02:00
d95e161618 fix(api): send data objects as array
- had to be stringified before
- closes 232

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
2023-09-08 08:25:05 +02:00
73c26e0822 basic API behat tests
Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
2023-09-08 08:25:05 +02:00
5def6980d5 Feat(Views): Manage data presentation of tables by views (#426)
* preparations for views on BE side

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Handover

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* views: Shows all views and displays them

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Enables creating, editing and deleting views

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* feat(views navigation): Show views of all tables beneath them

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* fix(views): Repairing main view functions (Edit, Delete)

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* enh(edit view): Enables Sorting in views

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* enh(view): Enables sharing and integration of views

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* work in progress

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* work in progress

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Implements backend logic for filtering and extracting the relevant rows

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Creates first mockup for frontend filter UI

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fixing after rebase

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Finishes filter ui

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* fixes backend filtering with magic values

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* implements orderBy in the backend

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Implements orderBy in the frontend

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Breaking Change: Replaces tables with base views

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Removes empty filters and sorting rules before saving view

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Create columns from every view and select to which view to add them

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Refactor column menu for frontend view filtering and more

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Enh: New features: Reset view config, save it or create new view with it

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Enh: Menu reordering

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Show meta columns

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Restructures the edit column settings and therefore also the edit column modal

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* fix: Fixing textlink column

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fix: Import now works again

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fix: Global search for views works

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fix: Smart Picker Fix

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Integration of link to a specific row of a table; Preparation for more Link Previews

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Small fixes: Renaming, create shares, selection check filtering

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Implements new permission handling

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Implements new permission handling in the frontend + some adjustments

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Solves unauthorised concurrency problem and fixes column create/edit bugs

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Small fixes

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Small backend fixes

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Design improvements: Edit view

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Design improvements: Column header options

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Design improvements: Sidebar

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Design improvement: Other enhancements like view templates

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fix: Muliple shares are merged correctly to provide the permissions for the share receiver, small refactoring

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fixes migration of existing data

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* First step of cleanup, Solves TODOs

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Second step of cleanup, Format code, linting

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fix: Fixes sharing bugs

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* refactor: Resolving some code reviews

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Propper logging of exceptions

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* fix: permission bug fixes, apply additional frontend filters

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Updated API

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fix: Small bugfix for creating templates

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Refactor: Cleaning php code, exception handling, documentation, etc.

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Security: Send only data from columns from the corresponding view to the frontend

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Import for not base views + Mandatory & parsing check

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Enh/views menu and views modal (#435)

* Enables creating, editing and deleting views

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* enh(view): Enables sharing and integration of views

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* adjust, shorten menus, change icon and fix typo

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* changed icon, add button to reset local view config

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* changed icon, add button to reset local view config

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* changed icon, add button to reset local view config

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* wording: clone -> duplicate

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* cleanup

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

---------

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>
Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
Signed-off-by: Florian <florian.steffens@nextcloud.com>
Co-authored-by: Philipp Hempel <Philipp.Hempel1@web.de>

* WIP: Removes base views, adds dashboard

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* WIP: Adding Table to Dashboard

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fixes most functionality

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* feat: Save/create view with frontend config repaired and improved

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fix: Create view repair, sharing shared elements possible now

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Prepares NcTable component for reusability

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* updated dashboard

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* View settings for hidden properties

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Refactor: reordering of structure of branch and clean up

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* move all modals into a new module
-> modals are independent from any modules etc. so it's good to have them in one place together

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* WIP, update Florian
- Dashboard
     edit table name and emoji
     make edit view and delete view usable
     remove hover-effects
- add delete table modal
- add delete view modal (was inline before)
- cleanup modals structure
- rename some "dashboard" to "Table" names
- add routes and methods to update tables (title && emoji)
- no routing after update view settings by default
- fix typos

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* small bug fixes

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* WIP pgsql compatibility

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Revert row path changes due to bugs and no time to fix

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Implements filter and sorting functionality for PostgreSQL

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fixes bugs: Show views shared with group, jump to created view, open table collapsable with view, improving searching, viewSetting in table

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Fixes small create view bug

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Update and cleanup API

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Show row id in url for row widget

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Small bug fixes

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* psalm fixes

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* WIP add custom smart picker

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* WIP smart picker with content views

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* WIP make NcTable scrollable in widget

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Makes ncTable reusable and thus the widgets working

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* code cleanup

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix unit tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* ci fixes

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* ci fixes

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* add editTable options

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* cypress fixes

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Small bug fixes and clean up

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* chore: Add cypress project id

Signed-off-by: Julius Härtl <jus@bitgrid.net>

* remove sqlite compatibility temporary

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* limit widget height for table content views

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* ci: Remove cypress debug for cleaner output

Signed-off-by: Julius Härtl <jus@bitgrid.net>

* ci: Record cypress runs in CI

Signed-off-by: Julius Härtl <jus@bitgrid.net>

* adjustments for case-insensitive way

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Update npm deps

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix space in column description outputs

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Nicer fox of space in column description outputs

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* fix data-table heading

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Release preparation

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Design: Main Column actions as inline icons to avoid scrolling by default
https://image-us.samsung.com/SamsungUS/support/solutions/apps/APPS_SN_More-options_Share-icon.png?$default-high-resolution-jpg$

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Fix: Reset and apply view setting

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Improves views dashboard table

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>

* Move detail info for table or view into sidebar description
remove from dashboard view

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore: Cleanup unused row widget

Signed-off-by: Julius Härtl <jus@bitgrid.net>

* fix: Hide actions, filter, hide columns in widgets

Signed-off-by: Julius Härtl <jus@bitgrid.net>

* add menu to "data" heading

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* npm update package-lock.json

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* lint fixes

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* add package-lock.json

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

---------

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>
Signed-off-by: Florian <florian.steffens@nextcloud.com>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Co-authored-by: Florian Steffens <florian.steffens@nextcloud.com>
Co-authored-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 13:18:30 +02:00
b7ec241a73 Feat/import (#263)
* feat(import rows): import rows from table file by API
- API interface to import files

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix/cleanup: very small fixes and code cleanup

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* add import option to FE

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(git): add cypress videos to gitignore

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(test): add integration tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(test): fix dav url

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Update lib/Service/ImportService.php

Use local copy for usage with object storages.

Co-authored-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Florian <florian.steffens@nextcloud.com>

* Update lib/Controller/ImportController.php

Co-authored-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Florian <florian.steffens@nextcloud.com>

* Update src/modules/navigation/modals/Import.vue

Co-authored-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Florian <florian.steffens@nextcloud.com>

* chore(refactor): use typecast (int) instead of parsing value with intval for better performance

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(test): update sql query count because of new integration tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(refactor): rename method to make the use case more clear

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix/enh(import): fix and enhance parsing for dates for importing, also ISO strings are now allowed
https://github.com/nextcloud/tables/wiki/Developing#date--time

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix(import): make return values more clear

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* cleanup

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(refactor): make error messages mor clear, use methods that are compatible with object storages

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix: handle if local tmp file copy was not possible

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix(tests): adjust integration test

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* cleanup

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* refactor: move iconTimerSand in own component
- more clear code
- reusable

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix(security): validate given userId

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* design: adjustments from design comment
- Destructive actions like "Delete table" should always be the last item in an action menu as per design guidelines
- The "Choose a file that should be imported" sentence can be cut, format info is enough.
- Typo "Columns are identifies by" → identified

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* design(import): add header for information section

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

---------

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
Signed-off-by: Florian <florian.steffens@nextcloud.com>
Co-authored-by: Julius Härtl <jus@bitgrid.net>
2023-05-13 06:43:25 +02:00
c5d674f735 enh(api): add API interface for managing tables (#170)
* refactor(integration): adjust widget rendering npm source

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* rebase

* fix(permissions): show or hide action buttons related to the permissions from shared tables

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* rebase

* enh(nav): add tutorial table if no tables are found for a user #155

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(cli): add more commands to manage tables from occ cli

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* rebase

* chore(release): add changelog skeleton

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(api): add API interface for managing tables including integration tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(api): add API interface for managing table sharing including integration tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(api): cleanup and update sql query counter because auf the new tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(api): update sql query counter

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(api): add API endpoint for columns
- add API description
- add API interface
- refactor all effected methods to make them more straight forward
- integration tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(api): add API endpoint for rows
- add API description
- add API interface
- some smaller code adjustments
- integration tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* enh(api): add Integrations tab to the sidebar
- add integrations tab to the sidebar
- add integration to the menu in navigation for tables
- small corresponding fixes

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* code cleanup

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(test): update query count
- new query count because of the new api tests

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(api): update api doc

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix(error handling): add logging and return state for errors

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* fix(updat table): you can now update only the emoji for a table

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(cleanup): avoid else statements if not really needed

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

---------

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
Signed-off-by: Florian <florian.steffens@nextcloud.com>
2023-04-05 14:12:31 +02:00
2fd157827b Behat and phpunit skeleton (#131)
* fix(navigation): rows count was 0 at postgres db backends #140

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* fix(navigation): can delete tables, even if no table is selected #141

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* refactor(permissionsService): change method to return userId and parameter by value, needed for phpunit testing

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* tests: Add behat skeleton

Signed-off-by: Julius Härtl <jus@bitgrid.net>

* Merge

* fix(testing): setup phpunit testing

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* chore(testing): prepare unit tests: PermissionsServiceTest.php

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* chore(testing): update gitignore

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* chore(testing): update test setup

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* rebase

* tests(phpunit): setup basic unit test

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* tests(behat): psalm fix

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* tests(phpunit): add github action - phpunit testing

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* tests(phpunit): add github action - add config splitter

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* rebase

* chore(testing): update and setup tests

Signed-off-by: Florian Steffens <florian@nextcloud.com>

* rebase

* chore(tests):setup integration

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* rebase

* chore(tests): no sqlite tests, sqlite is not supported

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(tests): add file for sql statistics

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* chore(tests): set initial value for sql statistics

Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>

* Update lib/Db/RowMapper.php

Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Florian <florian.steffens@nextcloud.com>

---------

Signed-off-by: Florian Steffens <florian@nextcloud.com>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Florian Steffens <florian.steffens@nextcloud.com>
Signed-off-by: Florian <florian.steffens@nextcloud.com>
Co-authored-by: Florian Steffens <florian@nextcloud.com>
Co-authored-by: Florian Steffens <florian.steffens@nextcloud.com>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2023-03-09 22:37:09 +01:00