Convert Tourdata into a more generic concept (#15923)

* Added UserData and migrated tours data into it

* Remove tourdata from user

* Removed tour definition/manipulation classes

Fixed a userData error typo

* Removed toursettings

* Update openapi spec

* V13: Align database schemas of migrated and new database (#15934)

* Drop default constraint umbracoCacheInstruction table

* Align umbracoContentVersion table

* Update indexes on external login table

* Align node table

* Make relation type index unique

* Remove user-group default constraint

* Re-order methods

* Make webhook url not nullable

* Cleanup

* Cleanup

* Update OpenApi.json

* Update src/Umbraco.Cms.Api.Management/Controllers/UserData/UserDataControllerBase.cs

* Remove tour settings from schema

* Add cancelation tokens

* Dont inject, but take as parameter

* Remove some from injection

* Update schema

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Zeegaan <skrivdetud@gmail.com>
This commit is contained in:
Sven Geusens
2024-04-09 11:59:43 +02:00
committed by GitHub
parent de1fc65393
commit b8ae3e34ff
60 changed files with 1616 additions and 907 deletions

View File

@@ -53,6 +53,7 @@ public static partial class Constants
public const string User2UserGroup = TableNamePrefix + "User2UserGroup";
public const string User2NodeNotify = TableNamePrefix + "User2NodeNotify";
public const string UserGroup2App = TableNamePrefix + "UserGroup2App";
public const string UserData = TableNamePrefix + "UserData";
[Obsolete("Will be removed in Umbraco 18 as this table haven't existed since Umbraco 14.")]
public const string UserGroup2Node = TableNamePrefix + "UserGroup2Node";

View File

@@ -0,0 +1,10 @@
namespace Umbraco.Cms.Infrastructure.Persistence.Querying;
public interface IUserDataFilter
{
public ICollection<Guid>? UserKeys { get; set; }
public ICollection<string>? Groups { get; set; }
public ICollection<string>? Identifiers { get; set; }
}

View File

@@ -0,0 +1,18 @@
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Membership;
using Umbraco.Cms.Infrastructure.Persistence.Querying;
namespace Umbraco.Cms.Core.Persistence.Repositories;
public interface IUserDataRepository
{
Task<IUserData?> GetAsync(Guid key);
Task<PagedModel<IUserData>> GetAsync(int skip, int take, IUserDataFilter? filter = null);
Task<IUserData> Save(IUserData userData);
Task<IUserData> Update(IUserData userData);
Task Delete(IUserData userData);
}