초기커밋
This commit is contained in:
97
ServerCommon/Doc/Global/UserNicknameRegistryDoc.cs
Normal file
97
ServerCommon/Doc/Global/UserNicknameRegistryDoc.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
|
||||
using ServerControlCenter;
|
||||
|
||||
|
||||
using SESSION_ID = System.Int32;
|
||||
using META_ID = System.UInt32;
|
||||
using ENTITY_GUID = System.String;
|
||||
using ACCOUNT_ID = System.String;
|
||||
using OWNER_GUID = System.String;
|
||||
using USER_GUID = System.String;
|
||||
using CHARACTER_GUID = System.String;
|
||||
using ITEM_GUID = System.String;
|
||||
|
||||
|
||||
namespace ServerCommon
|
||||
{
|
||||
public class UserNicknameRegistryAttrib : AttribBase
|
||||
{
|
||||
[JsonProperty("nickname")]
|
||||
public string Nickname { get; set; } = string.Empty;
|
||||
|
||||
[JsonProperty("user_guid")]
|
||||
public USER_GUID UserGuid { get; set; } = string.Empty;
|
||||
|
||||
[JsonProperty("account_id")]
|
||||
public ACCOUNT_ID AccountId { get; set; } = string.Empty;
|
||||
|
||||
public UserNicknameRegistryAttrib()
|
||||
: base(typeof(UserNicknameRegistryAttrib).Name)
|
||||
{ }
|
||||
}
|
||||
|
||||
//=============================================================================================
|
||||
// PK(Partition Key) : "user_nickname_registry#"
|
||||
// SK(Sort Key) : "user_nickname"
|
||||
// DocType : UserNicknameRegistryDoc
|
||||
// UserNicknameRegistryAttrib : {}
|
||||
// ...
|
||||
//=============================================================================================
|
||||
public class UserNicknameRegistryDoc : DynamoDbDocBase
|
||||
{
|
||||
private static string getPrefixOfPK() { return "user_nickname_registry#"; }
|
||||
private static string getPrefixOfSK() { return ""; }
|
||||
|
||||
public UserNicknameRegistryDoc()
|
||||
: base(typeof(UserNicknameRegistryDoc).Name)
|
||||
{
|
||||
appendAttribWrapperAll();
|
||||
}
|
||||
|
||||
public UserNicknameRegistryDoc(string userNickname)
|
||||
: base(typeof(UserNicknameRegistryDoc).Name)
|
||||
{
|
||||
setCombinationKeyForPKSK(DynamoDbClient.PK_GLOBAL, userNickname.ToLower());
|
||||
|
||||
appendAttribWrapperAll();
|
||||
|
||||
fillUpPrimaryKey(onMakePK(), onMakeSK());
|
||||
|
||||
var user_nickname_registry_attrib = getAttrib<UserNicknameRegistryAttrib>();
|
||||
NullReferenceCheckHelper.throwIfNull(user_nickname_registry_attrib, () => $"user_nickname_registry_attrib is null !!!");
|
||||
user_nickname_registry_attrib.Nickname = userNickname;
|
||||
|
||||
setExceptionHandler(new DynamoDbQueryExceptionNotifier.ExceptionHandler(DynamoDbQueryExceptionNotifier.ConditionalCheckFailed, ServerErrorCode.UserNicknameDuplicated));
|
||||
}
|
||||
|
||||
private void appendAttribWrapperAll()
|
||||
{
|
||||
appendAttribWrapper(new AttribWrapper<UserNicknameRegistryAttrib>());
|
||||
}
|
||||
|
||||
protected override string onGetPrefixOfPK()
|
||||
{
|
||||
return getPrefixOfPK();
|
||||
}
|
||||
|
||||
protected override ServerErrorCode onCheckAndSetSK(string sortKey)
|
||||
{
|
||||
getPrimaryKey().fillUpSK(sortKey);
|
||||
setCombinationKeyForSK(sortKey);
|
||||
|
||||
return ServerErrorCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user