generated from Kentico/repo-template
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #62 from Kentico/feat/import-members
Support for importing members
- Loading branch information
Showing
12 changed files
with
255 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<!-- generated file with tool "Kentico.Xperience.UMT.DocUtils" - edited through template "UmtModel.cshtml" --> | ||
## MemberInfoModel | ||
Model represents XbyK MemberInfo | ||
|
||
Model [discriminator](../UmtModel.md#discriminator): `MemberInfo` | ||
|
||
|PropertyName|Summary|.NET Type|Notes| | ||
|---|---|---|---| | ||
|MemberName\*|member name / login name - must be unique|string?|| | ||
|MemberEmail\*|valid email address according to XbyK API domain requirements (ValidationHelper.IsEmail()) or custom regex set through configuration "CMSEmailValidationRegex"|string?|| | ||
|MemberPassword|hashed member password|string?|| | ||
|MemberEnabled\*|disable/enable member|bool?|| | ||
|MemberCreated|datetime of member creation, defaults to current server time|System.DateTime?|| | ||
|MemberGUID\*|uniqueId of member used for reference in other models|System.Guid?|[UniqueId](../UmtModel.md#UniqueId)| | ||
|MemberIsExternal\*||bool?|| | ||
|MemberSecurityStamp||string?|| | ||
|[customPropertyName]|custom property defined by created [DataClass](./DataClassModel.md)|.NET type defined by data class field|| | ||
|
||
<p>*) value is required</p> | ||
|
||
|
||
### Instance of dataclass MemberInfo - Sample member without custom fields | ||
Sample demonstrates how to create a member without custom fields | ||
```json | ||
{ | ||
"$type": "MemberInfo", | ||
"MemberName": "John Doe", | ||
"MemberEmail": "[email protected]", | ||
"MemberPassword": "[sample hash]", | ||
"MemberEnabled": true, | ||
"MemberCreated": "2003-02-01T04:05:06.007Z", | ||
"MemberGUID": "4834f3c4-f7a5-46b8-a83d-607fcfc555d7", | ||
"MemberIsExternal": false, | ||
"MemberSecurityStamp": "[sample security stamp]" | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -113,6 +113,17 @@ | |
"UserAdministrationAccess": true, | ||
"UserIsExternal": false | ||
}, | ||
{ | ||
"$type": "MemberInfo", | ||
"MemberName": "John Doe", | ||
"MemberEmail": "[email protected]", | ||
"MemberPassword": "[sample hash]", | ||
"MemberEnabled": true, | ||
"MemberCreated": "2003-02-01T04:05:06.007Z", | ||
"MemberGUID": "4834f3c4-f7a5-46b8-a83d-607fcfc555d7", | ||
"MemberIsExternal": false, | ||
"MemberSecurityStamp": "[sample security stamp]" | ||
}, | ||
{ | ||
"$type": "ContentLanguage", | ||
"ContentLanguageGUID": "f454e93b-5fe9-42a9-b1af-b572234ed9c4", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -113,6 +113,17 @@ | |
"UserAdministrationAccess": true, | ||
"UserIsExternal": false | ||
}, | ||
{ | ||
"$type": "MemberInfo", | ||
"MemberName": "John Doe", | ||
"MemberEmail": "[email protected]", | ||
"MemberPassword": "[sample hash]", | ||
"MemberEnabled": true, | ||
"MemberCreated": "2003-02-01T04:05:06.007Z", | ||
"MemberGUID": "4834f3c4-f7a5-46b8-a83d-607fcfc555d7", | ||
"MemberIsExternal": false, | ||
"MemberSecurityStamp": "[sample security stamp]" | ||
}, | ||
{ | ||
"$type": "ContentLanguage", | ||
"ContentLanguageGUID": "f454e93b-5fe9-42a9-b1af-b572234ed9c4", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
37 changes: 37 additions & 0 deletions
37
examples/Kentico.Xperience.UMT.Examples/Samples/MemberSamples.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
using Kentico.Xperience.UMT.Model; | ||
|
||
namespace Kentico.Xperience.UMT.Examples; | ||
|
||
public static class MemberSamples | ||
{ | ||
[Sample("memberinfo.sample.nocustomfields", "Sample demonstrates how to create a member without custom fields", "Instance of dataclass MemberInfo - Sample member without custom fields")] | ||
public static MemberInfoModel SampleMemberNoCustomFields => new() | ||
{ | ||
MemberGUID = new Guid("4834F3C4-F7A5-46B8-A83D-607FCFC555D7"), | ||
MemberEmail = "[email protected]", | ||
MemberName = "John Doe", | ||
MemberCreated = new DateTime(2003, 02, 01, 4, 5, 6, 7, DateTimeKind.Utc), | ||
MemberEnabled = true, | ||
MemberIsExternal = false, | ||
MemberPassword = "[sample hash]", | ||
MemberSecurityStamp = "[sample security stamp]" | ||
}; | ||
|
||
[Sample("memberinfo.sample.withcustomfields", "Sample demonstrates how to create a member with custom fields. Prior to usage, add the Member custom fields (see XbyK docs)", "Instance of dataclass MemberInfo - Sample member with custom fields")] | ||
public static MemberInfoModel SampleMemberWithCustomFields => new() | ||
{ | ||
MemberGUID = new Guid("3DBA2983-33A3-46F5-B77C-EAC89FDB9559"), | ||
MemberEmail = "[email protected]", | ||
MemberName = "Martin Atkins", | ||
MemberCreated = new DateTime(2004, 06, 07, 3, 0, 0, 0, DateTimeKind.Utc), | ||
MemberEnabled = true, | ||
MemberIsExternal = false, | ||
MemberPassword = "[sample hash]", | ||
MemberSecurityStamp = "[sample security stamp]", | ||
CustomProperties = | ||
{ | ||
["MemberCity"] = "New York", | ||
["MemberScore"] = 5, | ||
} | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
using CMS.Membership; | ||
using Microsoft.Extensions.Logging; | ||
|
||
namespace Kentico.Xperience.UMT.InfoAdapter; | ||
|
||
internal class MemberAdapter : GenericInfoAdapter<MemberInfo> | ||
{ | ||
internal MemberAdapter(ILogger<MemberAdapter> logger, GenericInfoAdapterContext context) : base(logger, context) | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
// ReSharper disable InconsistentNaming | ||
|
||
using System.ComponentModel.DataAnnotations; | ||
using Kentico.Xperience.UMT.Attributes; | ||
|
||
namespace Kentico.Xperience.UMT.Model; | ||
|
||
/// <summary> | ||
/// Model represents XbyK MemberInfo | ||
/// </summary> | ||
/// <sample>memberinfo.sample.nocustomfields</sample> | ||
[UmtModel(DISCRIMINATOR)] | ||
public class MemberInfoModel : UmtModel | ||
{ | ||
/// <summary> | ||
/// Discriminator used in serialized structures to identify model | ||
/// </summary> | ||
public const string DISCRIMINATOR = "MemberInfo"; | ||
|
||
/// <summary> | ||
/// member name / login name - must be unique | ||
/// </summary> | ||
[Map] | ||
[Required] | ||
public string? MemberName { get; set; } | ||
|
||
/// <summary> | ||
/// valid email address according to XbyK API domain requirements (ValidationHelper.IsEmail()) or custom regex set through configuration "CMSEmailValidationRegex" | ||
/// </summary> | ||
[Map] | ||
[Required] | ||
public string? MemberEmail { get; set; } | ||
|
||
/// <summary> | ||
/// hashed member password | ||
/// </summary> | ||
[Map] | ||
public string? MemberPassword { get; set; } | ||
|
||
/// <summary> | ||
/// disable/enable member | ||
/// </summary> | ||
[Map] | ||
[Required] | ||
public bool? MemberEnabled { get; set; } | ||
|
||
/// <summary> | ||
/// datetime of member creation, defaults to current server time | ||
/// </summary> | ||
[Map] | ||
public DateTime? MemberCreated { get; set; } | ||
|
||
/// <summary> | ||
/// uniqueId of member used for reference in other models | ||
/// </summary> | ||
[UniqueIdProperty] | ||
[Required] | ||
public Guid? MemberGUID { get; set; } | ||
|
||
[Map] | ||
[Required] | ||
public bool? MemberIsExternal { get; set; } | ||
|
||
[Map] | ||
public string? MemberSecurityStamp { get; set; } | ||
|
||
protected override (Guid? uniqueId, string? name, string? displayName) GetPrintArgs() => (MemberGUID, MemberName, NOT_AVAILABLE); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters