초기커밋
This commit is contained in:
164
UGQApiServer/Controllers/Admin/AdminMetaDataController.cs
Normal file
164
UGQApiServer/Controllers/Admin/AdminMetaDataController.cs
Normal file
@@ -0,0 +1,164 @@
|
||||
using System.Globalization;
|
||||
using Asp.Versioning;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using ServerCommon;
|
||||
using ServerCommon.UGQ.Models;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using UGQApiServer.Controllers.Common;
|
||||
using UGQApiServer.Converter;
|
||||
using UGQApiServer.Models;
|
||||
using UGQDataAccess.Repository.Models;
|
||||
using UGQDataAccess.Service;
|
||||
using UGQApiServer.UGQData;
|
||||
using ServerBase;
|
||||
|
||||
namespace UGQApiServer.Controllers.Admin;
|
||||
|
||||
[Authorize]
|
||||
[ApiController]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiExplorerSettings(GroupName = "admin")]
|
||||
[Route("api/v{version:apiVersion}/Admin/MetaData")]
|
||||
[ControllerName("MetaData")]
|
||||
[UGQAdminApi]
|
||||
[Authorize(Roles = "Admin,Service")]
|
||||
public class AdminMetaDataController : ControllerBase
|
||||
{
|
||||
AccountService _accountService;
|
||||
QuestEditorService _questEditorService;
|
||||
|
||||
MetaDataApi _metaDataApi;
|
||||
QuestEditorApi _questEditorApi;
|
||||
|
||||
DynamoDbClient _dynamoDbClient;
|
||||
|
||||
public AdminMetaDataController(
|
||||
AccountService accountService,
|
||||
QuestEditorService questEditorService, MetaDataApi metaDataApi, QuestEditorApi questEditorApi, DynamoDbClient dynamoDbClient)
|
||||
{
|
||||
_accountService = accountService;
|
||||
_questEditorService = questEditorService;
|
||||
_metaDataApi = metaDataApi;
|
||||
_questEditorApi = questEditorApi;
|
||||
_dynamoDbClient = dynamoDbClient;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// 메타데이터 어드민
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// <summary>
|
||||
/// 사용가능한 시작 npc 가져오기
|
||||
/// </summary>
|
||||
/// <param name="userGuid">유저 Guid</param>
|
||||
/// <param name="pageNumber">페이지</param>
|
||||
/// <param name="pageSize">pageSize (최대 100)</param>
|
||||
[HttpGet]
|
||||
[Route("assignable-npcs")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(UGQNpcMetaDataList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getAssignableNpcs([FromQuery] string userGuid, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getAssignableNpcs(userGuid, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 사용가능한 task action 가져오기
|
||||
/// </summary>
|
||||
/// <param name="userGuid">유저 Guid</param>
|
||||
/// <param name="pageNumber">페이지</param>
|
||||
/// <param name="pageSize">pageSize (최대 100)</param>
|
||||
[HttpGet]
|
||||
[Route("available-task-actions")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(TaskActionList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getAvailableTaskActions([FromQuery] string userGuid, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getAvailableTaskActions(pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 액션의 입력가능한 값 리스트 얻어오기
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Task Action이 의상장착인 경우에 사용
|
||||
/// </remarks>
|
||||
/// <param name="userGuid">유저 Guid</param>
|
||||
/// <param name="taskActionId">TaskAction의 아이디</param>
|
||||
/// <param name="pageNumber">페이지</param>
|
||||
/// <param name="pageSize">pageSize (최대 100)</param>
|
||||
[HttpGet]
|
||||
[Route("task-action-values")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(TaskActionValueList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getActionValues([FromQuery] string userGuid, [FromQuery] int taskActionId, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getActionValues(userGuid, taskActionId, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 사용가능한 dialog 유형 가져오기
|
||||
/// </summary>
|
||||
/// <param name="userGuid">유저 Guid</param>
|
||||
/// <param name="pageNumber">페이지</param>
|
||||
/// <param name="pageSize">pageSize (최대 100)</param>
|
||||
[HttpGet]
|
||||
[Route("dialog-types")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(DialogTypeList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getDialogTypes([FromQuery] string userGuid, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getDialogTypes(pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// dialog 유형에 따라 사용가능한 dialog 액션 가져오기
|
||||
/// </summary>
|
||||
/// <param name="userGuid">유저 Guid</param>
|
||||
/// <param name="dialogType">dialog 유형</param>
|
||||
/// <param name="pageNumber">페이지</param>
|
||||
/// <param name="pageSize">pageSize (최대 100)</param>
|
||||
[HttpGet]
|
||||
[Route("dialog-actions")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(DialogActionList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getDialogActions([FromQuery] string userGuid, [FromQuery] int dialogType, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getDialogActions(dialogType, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// dialog 액션에 따라 입력 가능한 값 가져오기
|
||||
/// </summary>
|
||||
/// <param name="userGuid">유저 Guid</param>
|
||||
/// <param name="dialogType">다이얼로그 타입</param>
|
||||
/// <param name="dialogActionId">조건 종류</param>
|
||||
/// <param name="pageNumber">페이지</param>
|
||||
/// <param name="pageSize">pageSize (최대 100)</param>
|
||||
[HttpGet]
|
||||
[Route("dialog-action-values")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(DialogActionValueList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getDialogConditionValues([FromQuery] string userGuid, [FromQuery] int dialogType, [FromQuery] int dialogActionId, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getDialogConditionValues(dialogType, dialogActionId, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("preset-images")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(DialogActionValueList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getPresetImages([FromQuery] string userGuid, [FromQuery] PresetKind kind, [FromQuery] PresetCategory category)
|
||||
{
|
||||
return await _metaDataApi.getPresetImages(kind, category);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user