62 lines
2.4 KiB
C#
62 lines
2.4 KiB
C#
|
|
using ServerCore; using ServerBase;
|
|
|
|
namespace BrokerTest;
|
|
public class UserTestActorLog : ILogActor
|
|
{
|
|
}
|
|
|
|
// EntityBase를 상속 받은 Entity는 EntityAttributeBase와 EntityActionBase를 상속받아 자동으로 만들어진 Attribute들과 Action들을 가지고 있습니다.
|
|
// 위 내용은 onInit()에서 직접 생성해서 초기화 한다.
|
|
|
|
|
|
public class DynamoDbExample
|
|
{
|
|
private readonly DynamoDbClient m_dynamo_db_client;
|
|
private readonly UserTestEntity m_user_entity;
|
|
|
|
public DynamoDbExample(DynamoDbClient dynamoDbClient)
|
|
{
|
|
m_dynamo_db_client = dynamoDbClient;
|
|
m_user_entity = new UserTestEntity();
|
|
}
|
|
|
|
public async Task<(Result, UserTestDoc?)> insertUser(string userId, string name)
|
|
{
|
|
await m_user_entity.onInit();
|
|
var action = m_user_entity.getEntityAction<UserTestInsertAction>();
|
|
NullReferenceCheckHelper.throwIfNull(action,
|
|
() => $"UserTestInsertAction is null !!! - {m_user_entity.toBasicString()}");
|
|
var (result, user_test_doc) = await action.tryInsertUser(userId, name, m_dynamo_db_client);
|
|
return (result, user_test_doc);
|
|
}
|
|
|
|
|
|
public async Task<(Result, UserTestDoc?)> findUserOne(string userId)
|
|
{
|
|
await m_user_entity.onInit();
|
|
var action = m_user_entity.getEntityAction<UserTestFindOneAction>();
|
|
NullReferenceCheckHelper.throwIfNull(action,
|
|
() => $"UserTestInsertAction is null !!! - {m_user_entity.toBasicString()}");
|
|
return await action.findUserOne(userId, m_dynamo_db_client);
|
|
}
|
|
|
|
public async Task<(Result, UserTestDoc?)> updateUser(string userId, string newName)
|
|
{
|
|
await m_user_entity.onInit();
|
|
var action = m_user_entity.getEntityAction<UserTestUpdateOneAction>();
|
|
NullReferenceCheckHelper.throwIfNull(action,
|
|
() => $"UserTestUpdateOneAction is null !!! - {m_user_entity.toBasicString()}");
|
|
return await action.updateOne(userId, newName, m_dynamo_db_client);
|
|
}
|
|
|
|
public async Task<Result> DeleteUserOne(string userId)
|
|
{
|
|
await m_user_entity.onInit();
|
|
var action = m_user_entity.getEntityAction<UserTestDeleteOneAction>();
|
|
NullReferenceCheckHelper.throwIfNull(action,
|
|
() => $"UserTestDeleteOneAction is null !!! - {m_user_entity.toBasicString()}");
|
|
return await action.deleteOne(userId, m_dynamo_db_client);
|
|
}
|
|
}
|