초기커밋
This commit is contained in:
198
UGQApiServer/Controllers/MetaDataController.cs
Normal file
198
UGQApiServer/Controllers/MetaDataController.cs
Normal file
@@ -0,0 +1,198 @@
|
||||
using System.Globalization;
|
||||
using Asp.Versioning;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using UGQApiServer.Converter;
|
||||
using UGQApiServer.Models;
|
||||
using UGQApiServer.UGQData;
|
||||
using UGQDataAccess;
|
||||
using ServerCommon.UGQ;
|
||||
using ServerCommon.UGQ.Models;
|
||||
using ServerCommon;
|
||||
using UGQApiServer.Auth;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using UGQApiServer.Controllers.Common;
|
||||
using MetaAssets;
|
||||
using ServerBase;
|
||||
|
||||
|
||||
namespace UGQApiServer.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[ApiController]
|
||||
[ApiVersion("1.0")]
|
||||
[Route("api/v{version:apiVersion}/[controller]")]
|
||||
[UGQWebApi]
|
||||
[AllowWhenSingleLogin]
|
||||
public class MetaDataController : ControllerBase
|
||||
{
|
||||
const int PAGE_SIZE = 30;
|
||||
UGQMetaData _ugqMetaData;
|
||||
DynamoDbClient _dynamoDbClient;
|
||||
|
||||
MetaDataApi _metaDataApi;
|
||||
|
||||
public MetaDataController(UGQMetaData ugqMetaData,
|
||||
DynamoDbClient dynamoDbClient,
|
||||
MetaDataApi metaDataApi)
|
||||
{
|
||||
_ugqMetaData = ugqMetaData;
|
||||
_dynamoDbClient = dynamoDbClient;
|
||||
_metaDataApi = metaDataApi;
|
||||
}
|
||||
|
||||
string? userGuidFromToken()
|
||||
{
|
||||
return User.Claims.FirstOrDefault(c => c.Type == "Id")?.Value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD>밡<EFBFBD><EBB0A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> npc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 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] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
var userGuid = userGuidFromToken();
|
||||
if (userGuid == null)
|
||||
return Results.Unauthorized();
|
||||
|
||||
return await _metaDataApi.getAssignableNpcs(userGuid, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD>밡<EFBFBD><EBB0A1><EFBFBD><EFBFBD> task action <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 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] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getAvailableTaskActions(pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><EFBFBD><D7BC><EFBFBD> <20>Է°<D4B7><C2B0><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Task Action<6F><6E> <20>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>쿡 <20><><EFBFBD><EFBFBD>
|
||||
/// </remarks>
|
||||
/// <param name="taskActionId">TaskAction<6F><6E> <20><><EFBFBD>̵<EFBFBD></param>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 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] int taskActionId, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
var userGuid = userGuidFromToken();
|
||||
if (userGuid == null)
|
||||
return Results.Unauthorized();
|
||||
|
||||
return await _metaDataApi.getActionValues(userGuid, taskActionId, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD>밡<EFBFBD><EBB0A1><EFBFBD><EFBFBD> dialog <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 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] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getDialogTypes(pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// dialog <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>밡<EFBFBD><EBB0A1><EFBFBD><EFBFBD> dialog <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="dialogType">dialog <20><><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 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] int dialogType, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getDialogActions(dialogType, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// dialog <20>ǿ<D7BC> <20><><EFBFBD><EFBFBD> <20>Է<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="dialogType"><3E><><EFBFBD>̾<EFBFBD><CCBE>α<EFBFBD> Ÿ<><C5B8></param>
|
||||
/// <param name="dialogActionId"><3E><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 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] int dialogType, [FromQuery] int dialogActionId, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getDialogConditionValues(dialogType, dialogActionId, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// NPC <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="gender">npc gender</param>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 100)</param>
|
||||
[HttpGet]
|
||||
[Route("npc-action-values")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(NpcActionValueList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getNpcActionValues([FromQuery] EGenderType gender, [FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getNpcActionValues(pageNumber, pageSize, gender);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Map <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="pageNumber"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
||||
/// <param name="pageSize">pageSize (<28>ִ<EFBFBD> 100)</param>
|
||||
[HttpGet]
|
||||
[Route("map-data-values")]
|
||||
[Produces("application/json")]
|
||||
[SwaggerResponse(StatusCodes.Status200OK, Type = typeof(MapDataValueList))]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, Type = typeof(ApiErrorResponse))]
|
||||
public async Task<IResult> getNpcActionValues([FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
return await _metaDataApi.getMapDataValues(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] PresetKind kind, [FromQuery] PresetCategory category)
|
||||
{
|
||||
return await _metaDataApi.getPresetImages(kind, category);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user