idafurjes
9340430723
Chore: Add alert ctx ( #41161 )
...
* Add context for alert
* Remove context.TODO
* Remove xorm
* Remove context.TODO
* Fix UsageStatsQuerier interface
2021-11-03 14:10:39 +01:00
Agnès Toulet
57b20335e6
LibraryPanels: Refactor to use context.Context instead of models.ReqContext ( #39561 )
2021-09-27 09:04:36 +02:00
Hugo Häggmark
2696be49b9
LibraryPanels: Improves export and import of library panels between orgs ( #39214 )
...
* Chore: adds tests to reducer
* Refactor: rewrite state
* Refactor: adds library panels to export
* wip
* Refactor: adds import library panels
* Refactor: changes UI
* Chore: pushing drone
* Update public/app/features/manage-dashboards/components/ImportDashboardForm.tsx
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
* Update public/app/features/manage-dashboards/components/ImportDashboardForm.tsx
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
* Chore: reverted unknown merge changes
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
2021-09-20 10:58:24 +02:00
Marcus Efraimsson
fa9857499b
Chore: GetDashboardQuery should be dispatched using DispatchCtx ( #36877 )
...
* Chore: GetDashboardQuery should be dispatched using DispatchCtx
* Fix after merge
* Changes after review
* Various fixes
* Use GetDashboardCtx function instead of GetDashboard
2021-09-14 16:08:04 +02:00
Hugo Häggmark
17f9bc138e
LibraryPanels: Fixes update issues related to library panels in rows ( #38963 )
2021-09-08 10:53:55 +02:00
Serge Zaitsev
c3ab2fdeb7
Macaron: remove custom Request type ( #37874 )
...
* remove macaron.Request, use http.Request instead
* remove com dependency from bindings module
* fix another c.Req.Request
2021-09-01 11:18:30 +02:00
Arve Knudsen
78596a6756
Migrate to Wire for dependency injection ( #32289 )
...
Fixes #30144
Co-authored-by: dsotirakis <sotirakis.dim@gmail.com >
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com >
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
Co-authored-by: Leon Sorokin <leeoniya@gmail.com >
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com >
Co-authored-by: spinillos <selenepinillos@gmail.com >
Co-authored-by: Karl Persson <kalle.persson@grafana.com >
Co-authored-by: Leonard Gram <leo@xlson.com >
2021-08-25 15:11:22 +02:00
Hugo Häggmark
7b17801047
LibraryPanels: Fixes error when importing plugin dashboard ( #34557 )
2021-05-24 09:31:34 +02:00
Hugo Häggmark
7204a64717
LibraryElements: Creates usage stats for panels and variables ( #34476 )
...
* LibraryPanels: Adds usage collection
* Refactor: renames Panel and Variable consts
* Chore: initialize stats
* Refactor: moves library element migrations to migration namespace
2021-05-24 06:11:01 +02:00
Hugo Häggmark
740f1ab3e2
LibraryPanels: Fixes connections after dashboard import ( #34461 )
2021-05-20 09:40:23 +02:00
Hugo Häggmark
69d9f427e1
LibraryPanels: removes feature toggle ( #33839 )
...
* WIP: intial structure
* Refactor: adds create library element endpoint
* Feature: adds delete library element
* wip
* Refactor: adds get api
* Refactor: adds get all api
* Refactor: adds patch api
* Refactor: changes to library_element_connection
* Refactor: add get connections api
* wip: in the middle of refactor
* wip
* Refactor: consolidating both api:s
* Refactor: points front end to library elements api
* Tests: Fixes broken test
* LibraryPanels: removes feature toggle
* Fix: fixes delete library elements in folder and adds tests
* Tests: fixes snapshot
* Refactor: adds service interfaces so they can be easily mocked
* Refactor: changes order of tabs in manage folder
* Refactor: fixes so link does not cover whole card
* Refactor: fixes index string name
* Update pkg/services/libraryelements/libraryelements.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/libraryelements/libraryelements_permissions_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/libraryelements/database.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: changes after PR comments
* Update libraryelements.go
* Update libraryelements.go
* Chore: updates after PR comments
* Chore: trying to fix build error
* Refactor: fixed stupid mistake
* Update libraryelements.go
* Chore: tries to fix build errors
* Refactor: trying to fix MySQL key length
* Update libraryelements.go
* Update pkg/services/libraryelements/libraryelements.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Refactor: changes after PR comments
* Refactor: changes after PR comments
* Tests: fixes tests
* Refactor: renames connections to connectedDashboards
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-05-12 08:48:17 +02:00
Hugo Häggmark
f1b2c750e5
LibraryElements: Adds library elements api and tables ( #33741 )
...
* WIP: intial structure
* Refactor: adds create library element endpoint
* Feature: adds delete library element
* wip
* Refactor: adds get api
* Refactor: adds get all api
* Refactor: adds patch api
* Refactor: changes to library_element_connection
* Refactor: add get connections api
* wip: in the middle of refactor
* wip
* Refactor: consolidating both api:s
* Refactor: points front end to library elements api
* Tests: Fixes broken test
* Fix: fixes delete library elements in folder and adds tests
* Refactor: changes order of tabs in manage folder
* Refactor: fixes so link does not cover whole card
* Update pkg/services/libraryelements/libraryelements.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/libraryelements/libraryelements_permissions_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/libraryelements/database.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: changes after PR comments
* Update libraryelements.go
* Chore: updates after PR comments
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-05-11 07:10:19 +02:00
Hugo Häggmark
605bae8e2c
LibraryPanels: Adds folder name to Library Panel card ( #33697 )
...
* LibraryPanels: Adds folder filter
* Refactor: Adds folder filter to library search
* Refactor: splits huge function into smaller functions
* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618 )
* Chore: adds tests to LibraryPanelsSearch
* Refactor: Adds reducer and tests
* Chore: changes GrafanaThemeV2
* Refactor: adds folderName to get all result
* Refactor: adds folderName to get result
* Refactor: adds folder name to LibraryPanelDTOMeta
* Refactor: adds folder name to lbirary panels result
* Chore: reverts public/app/routes/routes.tsx to master
* Minor style tweak
* Refactor: adds folder uid to meta
* Chore: updates after PR comments
Co-authored-by: Torkel Ödegaard <torkel@grafana.com >
2021-05-05 11:09:12 +02:00
Hugo Häggmark
c6d4d14a89
LibraryPanels: Adds folder filter to manage library panel page ( #33560 )
...
* LibraryPanels: Adds folder filter
* Refactor: Adds folder filter to library search
* Refactor: splits huge function into smaller functions
* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618 )
* Chore: adds tests to LibraryPanelsSearch
* Refactor: Adds reducer and tests
* Chore: changes GrafanaThemeV2
* Refactor: pulls everything behind the feature toggle
* Chore: removes clear icon from FolderFilter
* Chore: adds filter to SortPicker
* Refactor: using useAsync instead
2021-05-04 13:59:40 +02:00
Hugo Häggmark
20ee0e9601
LibraryPanels: Adds panel type filter and sorting ( #33425 )
...
* Wip: inital commit
* Chore: updating api
* Refactor: adds description search and sorting
* Refactor: adds panel filtering
* Refactor: limits the height of select
* Tests: updates snapshot
* Refactor: small UI improvements
2021-04-28 09:18:13 +02:00
Hugo Häggmark
7f5487a461
LibraryPanels: Adds Type and Description to DB ( #32258 )
...
* Refactor: adds description to getCreateCommand
* Refactor: Adds type and description fields
* Chore: Updates FrontEnd
* Update pkg/services/librarypanels/database.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/database.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: fixes backend linting error
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-03-24 13:43:51 +01:00
Hugo Häggmark
376ed8a381
LibraryPanels: Prevents deletion of connected library panels ( #32277 )
...
* LibraryPanels: Prevents deletion of connected library panels
* Refactor: adds the delete library panel modal
* Chore: updates after PR comments
2021-03-24 11:43:27 +01:00
Hugo Häggmark
f508a16a43
LibraryPanels: Improves the Get All experience ( #32028 )
...
* LibraryPanels: Improves Get All Api
* Refactor: using useReducer instead of useState
* Refactor: adds Pagination to UI
* Tests: adds reducer tests
* Refactor: using Observable instead to avoid flickering
* Refactor: moves exclusion to backend instead
* Chore: changing back the perPage default value
2021-03-18 11:19:41 +01:00
Arve Knudsen
87c3a2b790
PluginManager: Make Plugins, Renderer and DataSources non-global ( #31866 )
...
* PluginManager: Make Plugins and DataSources non-global
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix integration tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Replace outdated command
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* DashboardService: Ensure it gets constructed with necessary parameters
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix build
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* DashboardService: Ensure it gets constructed with necessary parameters
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove dead code
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove FocusConvey
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove dead code
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Undo interface changes
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Backend: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Rename to DataSourceCount
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Consolidate dashboard interfaces into one
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix dashboard integration tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-03-17 16:06:10 +01:00
Arve Knudsen
1716de88b5
DashboardService: Consolidate constructors ( #31886 )
...
* DashboardService: Consolidate constructors
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-03-12 11:51:02 +01:00
Arve Knudsen
b79e61656a
Introduce TSDB service ( #31520 )
...
* Introduce TSDB service
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com >
Co-authored-by: Will Browne <will.browne@grafana.com >
Co-authored-by: Torkel Ödegaard <torkel@grafana.org >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com >
2021-03-08 07:02:49 +01:00
Hugo Häggmark
d84cfdbb0f
LibraryPanels: Adds version column ( #31590 )
...
* Refactor: adds version column and fixes tests
* Chore: adds version check when patching the library panel
* Refactor: adds support for version in FrontEnd
2021-03-02 13:33:26 +01:00
Hugo Häggmark
4bc6a7c407
LibraryPanels: Deletes library panels during folder deletion ( #31572 )
...
* Refactor: adds permissions for library panel creation
* Refactor: checks folder permissions for patch requests
* Chore: changes after PR comments
* Refactor: adds permissions to delete
* Refactor: moves get all permission tests out of get all tests
* Chore: move out get all tests to a separate file
* Refactor: adds permissions to get handler
* Refactor: fixes a bug with getting library panels in General folder
* Refactor: adds permissions for connect/disconnect
* Refactor: adds permissions and tests for get connected dashboards
* Tests: adds tests for connected dashboards in General Folder
* LibraryPanels: Deletes library panels during folder deletion
* LibraryPanels: Deletes library panels during folder deletion
* Update pkg/api/folder.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_permissions_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: updates after PR comments
* Chore: forgot to change some function signatures
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-03-02 10:34:01 +01:00
Hugo Häggmark
583b94557b
LibraryPanels: Adds folder checks and permissions ( #31473 )
...
* Refactor: adds permissions for library panel creation
* Refactor: checks folder permissions for patch requests
* Chore: changes after PR comments
* Refactor: adds permissions to delete
* Refactor: moves get all permission tests out of get all tests
* Chore: move out get all tests to a separate file
* Refactor: adds permissions to get handler
* Refactor: fixes a bug with getting library panels in General folder
* Refactor: adds permissions for connect/disconnect
* Refactor: adds permissions and tests for get connected dashboards
* Tests: adds tests for connected dashboards in General Folder
2021-03-01 15:33:17 +01:00
Hugo Häggmark
466462de37
LibraryPanels: Adds permissions to getAllHandler ( #31416 )
...
* LibraryPanels: Adds permissions to getAllHandler
* Chore: adds a test to verify the permissions
* Chore: tests refactor
2021-02-24 14:06:22 +01:00
Hugo Häggmark
0a4c3b8779
LibraryPanels: Syncs panel title with name ( #31311 )
2021-02-19 06:05:21 +01:00
Hugo Häggmark
06e6bcf091
LibraryPanels: Disconnect before connect during dashboard save ( #31235 )
...
* LibraryPanels: Disconnect before connect during dashboard save
* Tests: fixed test
* Chore: updates after PR comments
* Chore: changes from context.Background() to c.Context.Req.Context()
* Chore: fixes lint issue
2021-02-16 13:00:56 +01:00
Hugo Häggmark
179f35a537
PanelLibrary: Adds library panel meta information to dashboard json ( #30770 )
2021-02-02 06:25:35 +01:00
Hugo Häggmark
0b1f5c5e32
PanelLibrary: better handling of deleted panels ( #30709 )
2021-01-29 06:11:13 +01:00
Hugo Häggmark
0a8eae2c12
PanelLibrary: changes casing of responses and adds meta property ( #30668 )
...
* PanelLibrary: changes casing of responses and adds meta property
* Chore: updates comments
* Chore: updates after PR comments
* Chore: changes casing of orgId
2021-01-28 12:36:28 +01:00
Hugo Häggmark
b7b6632a4d
PanelLibrary: adding library panels to Dashboard Api ( #30278 )
...
* Wip: First naive impl
* Chore: fix after merge
* Chore: changes after PR comments
* Chore: removes unused types
* Chore: adds feature toggle
* Refactor: adds library panels cleanup and connect when storing dashboards
* Refactor: adds feature toggle
* Update pkg/services/librarypanels/librarypanels.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Refactor: adds disconnect library panels when deleting a dashboard
* Chore: changes after PR comments
* Tests: adds tests for LoadLibraryPanelsForDashboard
* Tests: adds tests for CleanLibraryPanelsForDashboard
* Tests: adds tests for ConnectLibraryPanelsForDashboard
* Tests: adds tests for DisconnectLibraryPanelsForDashboard and small refactor
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Refactor: deletes all connections in one call and connects all in the same transaction
* Chore: adds better comments
* Chore: changes after PR comments
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-01-20 09:28:10 +01:00
Hugo Häggmark
3d41267fc4
Chore: Moves common and response into separate packages ( #30298 )
...
* Chore: moves common and response into separate packages
* Chore: moves common and response into separate packages
* Update pkg/api/utils/common.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: changes after PR comments
* Chore: move wrap to routing package
* Chore: move functions in common to response package
* Chore: move functions in common to response package
* Chore: formats imports
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-01-15 14:43:20 +01:00
Hugo Häggmark
d6449c16c7
LibraryPanels: adds connections ( #30212 )
...
* LibraryPanels: adds connections
* Chore: testing signing verification
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: changes after PR comments
* Chore: changes after PR comments
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-01-12 12:57:40 +01:00
Hugo Häggmark
40d17af2e3
PanelLibrary: Add PATCH to the API ( #29956 )
...
* PanelLibrary: Adds uid and renames title to name
* Chore: removing lines
* PanelLibrary: Adds update to api
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/database.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/librarypanels_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: changes after PR comments
* Replace references to put with patch
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-12-23 12:42:52 +01:00
Arve Knudsen
be62dc4d2f
librarypanels: Fix JSON field casing in tests ( #29954 )
...
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-12-22 14:52:43 +01:00
Hugo Häggmark
35a755fe50
PanelLibrary: Adds uid and renames title to name ( #29944 )
...
* PanelLibrary: Adds uid and renames title to name
* Chore: removing lines
* Chore: updates comments
* Chore: changes after PR comments
2020-12-22 12:00:41 +01:00
Hugo Häggmark
433b861093
PanelLibrary: Adds get and getAll to the api ( #29772 )
...
* PanelLibrary: Adds get to the API
* Refactor: adds tests for get and getAll and cleans up other tests
* Refactor: changed name on DTO
* Update pkg/services/librarypanels/api.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Update pkg/services/librarypanels/database.go
2020-12-21 09:40:27 +01:00
Hugo Häggmark
47afe1fa42
PanelLibrary: Adds delete Api ( #29741 )
...
* PanelLibrary: Adds delete
* Chore: fixes some comments
* Chore: changes after PR comments
* Refactor: deletes from correct org
2020-12-11 06:08:32 +01:00
Hugo Häggmark
941ba1d2f7
PanelLibrary: Adds api and db to create Library/Shared/Reusable Panel ( #29642 )
...
* PanelLibrary: Adds panellib table
* Refactor: removes drop table migration
* Refactor: fixes spelling mistake
* Refactor: changes after PR comments
* Refactor: some more renames
* PanelLibrary: Adds api and db to create Library/Shared/Reusable Panel
* Refactor: reverts SqlStore change and uses RegisterOverride instead
* Refactor: fixes lint error
* Refactor: fixes imports
* Refactor: reverts unintentional changes
* Refactor: Adds repository
* Revert "Refactor: Adds repository"
This reverts commit 4c46e8a6c4 .
* Refactor: changes after PR comments
* Refactor: Simplfies further
* Chore: fixes linting
* Chore: Changes after PR comments
* Update pkg/services/librarypanels/api.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
* Chore: fixes import after commited suggestion
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2020-12-09 13:10:18 +01:00
Hugo Häggmark
562a1c36b1
PanelLibrary: Adds library_panel table ( #29565 )
...
* PanelLibrary: Adds panellib table
* Refactor: removes drop table migration
* Refactor: fixes spelling mistake
* Refactor: changes after PR comments
* Refactor: some more renames
2020-12-03 15:18:10 +01:00