* Add default super user key to migrations
* Start refactoring all interfaces signatures with ids
* Refactor datatype service to use userKey pattern instead
* Refactor ContentEditingService to use userkeys
* Refactor services to userKey
* Refactor more services to use userkey instead of id
* Refactor RelationService to use userKeys
* Refactor template service to use keys instead of ids
* Refactor fileservice to use keys instead of ids
* Refactor LocalizationService to use keys instead of ids
* Refactor PackagingService to use keys instead of ids
* Refactor TemplateController to use current user keys
* Refactor DataTypeContainerService.cs
* Refactor DataTypeService to use keys instead of ids
* Fix up tests
* Fix up media editing service to use userkey instead of ID
* Update service ctor to avoid ambigious ctors
* refactor DataTypeService
* Refactor DataTypeService to not have a default value for parentKey
* Apply suggestions from code review
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Update comment
* Add suppression file
* Add backoffice CompatibilitySuppressions
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* API for domains and hostnames incl. unit tests
* Update Open API json
* Update other unit tests to use new domain service methods where applicable
* Fix merge + update models to new naming scheme
* Handle attempts to add the same domain twice + unit tests for duplicate domain handling
* Review fixes
* Use language ISO code for language fallback instead of language ID
* Remove language and language ID from dictionary item and dictionary item translation
* ADd unit test for dictionary item translation value extension
* Make the internal service implementations sealed
* Rename translation ISO code to be more explicit in its origin (Language)
* Add breaking changes suppression
* Handle save of invalid fallback iso code
* Fixed test
* Only allow non-UserCustomCulture's
* Fixed and added tests
* Rename ISO code validation method
* Fix language telemetry test (create Swedish with the correct ISO code)
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Rework language service and API
* Revert unintended commit of Directory.Build.props
* Create OS conditional test for invalid ISO codes
* Reintroduce and obsolete old Delete method on ILocalizationService + make new Delete method delete by ISO code + add obsoletion attrs to service implementation
* Review comments + utilize new Delete method
* Do not allow model reuse when creating a new language
* Fix bad merge
* Split localization service into dedicated services for language and dictionary item handling
* Replaced ILocalizationService usage in management API (as much as can be done for now)
* Ensure we can create dictionary items with explicit keys (but no duplicates)
* Fix culture controller so it works properly with pagination
* Update OpenAPI JSON
* Actually update the language being updated...
* Unit test for invalid ISO now no longer needs to differ between OS :)
* A little bit of code health improvements
* A litte less code duplication
* Remove duplicate validation
* Add initial classes
* Add TelemetryProviders
* Add new NodeCountService.cs and NodeTelemetryProvider
* Add data contract attribute to UsageInformation
Otherwise it wont serialize correctly
* Implement more providers
* Fix builders and propertyEditorTelemetry
* Add MediaTelemetryProvider
* Add MediaTelemetryProvider
* Fix doubling of media telemetry
* Move contentCount from NodeCountTelemetryProvider and move to ContentTelemetryProvider
* Revert ContentTelemetryProvider changes
* Add detailed information to TelemetryService
* Add integration tests
* Add more tests and todos for tests
* Fix stylecop warnings
* Use yield return instead of instantiating local list
* Implement Macro test
* Inject interface instead of implementation in TelemetryService
* Fix TelemetryServiceTests.cs
* Implement media tests
* Implement propertyTypeTests
* Implement constants instead of hardcoded strings
* Add SystemInformationTelemetryProvider
* Use SystemInformationTableDataProvider in UserDataService
* Implement more properties
* Add UsageInformation
* Replace UserDataService with SystemInformationTelemetryProvider
* Undo changes to UserDataService and obsolete it
* Remove ISystemInformationTableDataProvider
* Register SystemInformationTelemetryProvider as telemetry provider
* Use constants for telemetry names
* Make UserDataServiceTests test SystemInformationTelemetryProvider instead
* Update UserDataServiceTests to cover new data
* Add unit tests
* Add integration test testing expected data is returned
* Implement Analytics dashboard
* Improve assertion message
* Add text and styling to analyticspage
* Rename consent to analytic
* implement save button for consent level
* Implement save button
* Fix system information test
* Add TelemetryResource
* Move telemetry providers to infrastructure
* Add database provider to system information
* Set startvalue for slider
* Fix unit tests
* Implement MetricsConsentService using KeyValueService
* Return void hen setting the telemetry level
* fix startposition when not reloading
* Add a couple tests
* Update src/Umbraco.Core/Services/MetricsConsentService.cs
* Rename ConsentLevel.cs
* Use direct Enum instead of parsing
* rename consent resource
* add lazy database
* refactor slider
* Implement ng-if and propers pips
* Make classes internal
* Fix slider not loading when navigating to tab
* Add telemetry level check to TelemetryService.cs
* Add Consent for analytics text
* Fix build errors for unit tests
* Fix TelemetryServiceTests
* revert package-lock.json
* Fix integration test
* Update slider
* Update TelemetryService.cs
* Apply suggestions from code review
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>