초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,254 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.DocumentModel;
using Amazon.DynamoDBv2.Model;
namespace ServerBase;
//==============================================================================================
// DB 쿼리 종류별 재정의 클래스들 이다.
//==============================================================================================
public partial class DBRequestGetBatch : QueryDbRequesterWithItemRequestBase<BatchGetItemRequest>
{
public override async Task<Result> doDbRequestAsync()
{
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithItemRequest;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var db_client = query_batch.getDynamoDbConnector().getDbClient();
ArgumentNullException.ThrowIfNull(db_client, $"db_client is null !!!");
//=====================================================================================
// Batch 기반 DB Get Request 처리 : Non-Transaction
//=====================================================================================
var response = await db_client.BatchGetItemAsync(getDbRequestGenericType());
ArgumentNullException.ThrowIfNull(response, $"response is null !!!");
await response.logDetail();
query_runner.addDbResponse(response);
return result;
}
}
public partial class DBRequestWriteBatch : QueryDbRequesterWithItemRequestBase<BatchWriteItemRequest>
{
public override async Task<Result> doDbRequestAsync()
{
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithItemRequest;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var db_client = query_batch.getDynamoDbConnector().getDbClient();
ArgumentNullException.ThrowIfNull(db_client, $"db_client is null !!!");
//=====================================================================================
// Batch 기반 DB Write Request 처리 : Non-Transaction
//=====================================================================================
var response = await db_client.BatchWriteItemAsync(getDbRequestGenericType());
ArgumentNullException.ThrowIfNull(response, $"response is null !!!");
await response.logDetail();
query_runner.addDbResponse(response);
return result;
}
}
public partial class DBRequestUpdate : QueryDbRequesterWithItemRequestBase<UpdateItemRequest>
{
public override async Task<Result> doDbRequestAsync()
{
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithItemRequest;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var db_client = query_batch.getDynamoDbConnector().getDbClient();
ArgumentNullException.ThrowIfNull(db_client, $"db_client is null !!!");
//=====================================================================================
// Update 기반 DB Update Request 처리 : Non-Transaction
//=====================================================================================
var response = await db_client.UpdateItemAsync(getDbRequestGenericType());
ArgumentNullException.ThrowIfNull(response, $"response is null !!!");
await response.logDetail();
query_runner.addDbResponse(response);
return result;
}
}
public partial class DBRequestGetWithTransact : QueryDbRequesterWithItemRequestBase<TransactGetItemsRequest>
{
public override async Task<Result> doDbRequestAsync()
{
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithItemRequest;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var db_client = query_batch.getDynamoDbConnector().getDbClient();
ArgumentNullException.ThrowIfNull(db_client, $"db_client is null !!!");
//=====================================================================================
// Transaction 기반 DB Get Request 처리
//=====================================================================================
var response = await db_client.TransactGetItemsAsync(getDbRequestGenericType());
ArgumentNullException.ThrowIfNull(response, $"response is null !!!");
await response.logDetail(getDbRequestGenericType());
query_runner.addDbResponse(response);
return result;
}
}
public partial class DBRequestWriteWithTransact : QueryDbRequesterWithItemRequestBase<TransactWriteItemsRequest>
{
public override async Task<Result> doDbRequestAsync()
{
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithItemRequest;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var db_client = query_batch.getDynamoDbConnector().getDbClient();
ArgumentNullException.ThrowIfNull(db_client, $"db_client is null !!!");
//=====================================================================================
// Transaction 기반 DB Write Request 처리
//=====================================================================================
var response = await db_client.TransactWriteItemsAsync(getDbRequestGenericType());
ArgumentNullException.ThrowIfNull(response, $"response is null !!!");
await response.logDetail();
query_runner.addDbResponse(response);
return result;
}
}
//==============================================================================================
// DB 쿼리 Document 전용 재정의 클래스들 이다.
//==============================================================================================
public partial class DBRequestGetWithDocumentBatchGet : QueryDbRequesterWithDocumentBatchGetBase<DocumentBatchGet>
{
public override async Task<Result> doDbRequestAsync()
{
await Task.CompletedTask;
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithDocument;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var doc_batch_get = query_runner.getOrNewMultiTableDocumentBatchGet();
ArgumentNullException.ThrowIfNull(doc_batch_get, $"doc_batch_get is null !!!");
doc_batch_get.AddBatch(getDbRequestGenericType());
return result;
}
}
public partial class DBRequestWriteWithDocumentBatchWrite : QueryDbRequesterWithDocumentBatchWriteBase<DocumentBatchWrite>
{
public override async Task<Result> doDbRequestAsync()
{
await Task.CompletedTask;
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithDocument;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var doc_batch_write = query_runner.getOrNewMultiTableDocumentBatchWrite();
ArgumentNullException.ThrowIfNull(doc_batch_write, $"doc_batch_write is null !!!");
doc_batch_write.AddBatch(getDbRequestGenericType());
return result;
}
}
public partial class DBRequestGetWithDocumentTransactGet : QueryDbRequesterWithDocumentTransactGetBase<DocumentTransactGet>
{
public override async Task<Result> doDbRequestAsync()
{
await Task.CompletedTask;
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithDocument;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var doc_transact_get = query_runner.getOrNewMultiTableDocumentTransactGet();
ArgumentNullException.ThrowIfNull(doc_transact_get, $"doc_transact_get is null !!!");
doc_transact_get.AddTransactionPart(getDbRequestGenericType());
return result;
}
}
public partial class DBRequestWriteWithDocumentTransactWrite : QueryDbRequesterWithDocumentTransactWriteBase<DocumentTransactWrite>
{
public override async Task<Result> doDbRequestAsync()
{
await Task.CompletedTask;
var result = new Result();
var query_batch = getQueryBatch();
ArgumentNullException.ThrowIfNull(query_batch, $"query_batch is null !!!");
var query_runner = query_batch.getQueryRunner() as QueryRunnerWithDocument;
ArgumentNullException.ThrowIfNull(query_runner, $"query_runner is null !!!");
var doc_transact_write = query_runner.getOrNewMultiTableDocumentTransactWrite();
ArgumentNullException.ThrowIfNull(doc_transact_write, $"doc_transact_write is null !!!");
doc_transact_write.AddTransactionPart(getDbRequestGenericType());
return result;
}
}