From b2e72a2f9c08031795f33c8569dde704edd004ef Mon Sep 17 00:00:00 2001 From: Seonkyu_Kim Date: Wed, 19 Feb 2025 17:22:50 +0900 Subject: [PATCH] =?UTF-8?q?[=E2=9C=A8]=20=EC=9C=A0=EC=A0=80=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20API?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80=20+=20=EC=95=84=EC=B9=B4=EB=8D=B0?= =?UTF-8?q?=EB=AF=B8=20=EC=9D=B4=EB=A6=84=20=EB=B6=88=EB=9F=AC=EC=98=A4?= =?UTF-8?q?=EA=B8=B0=20API=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program/Common/Data/AppDbContext.cs | 1 + Program/Common/Model/Status.cs | 2 +- Program/V1/Controllers/MemberController.cs | 21 ------ Program/V1/Controllers/UserController.cs | 77 +++++++++++++++++++++- Program/V1/Models/{Login.cs => User.cs} | 18 ++++- 5 files changed, 94 insertions(+), 25 deletions(-) rename Program/V1/Models/{Login.cs => User.cs} (62%) diff --git a/Program/Common/Data/AppDbContext.cs b/Program/Common/Data/AppDbContext.cs index f3832c9..f03f11c 100644 --- a/Program/Common/Data/AppDbContext.cs +++ b/Program/Common/Data/AppDbContext.cs @@ -17,6 +17,7 @@ public class AppDbContext: DbContext //MARK: USER public DbSet Login { get; set; } public DbSet UserAcademy { get; set; } + public DbSet User { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { diff --git a/Program/Common/Model/Status.cs b/Program/Common/Model/Status.cs index 18752e1..593d759 100644 --- a/Program/Common/Model/Status.cs +++ b/Program/Common/Model/Status.cs @@ -2,7 +2,7 @@ using System.Text.Json; namespace AcaMate.Common.Models; -public class APIResponseStatus +public class APIResponseStatus { public Status status { get; set; } public T? data { get; set; } diff --git a/Program/V1/Controllers/MemberController.cs b/Program/V1/Controllers/MemberController.cs index a45dacc..bf8d442 100644 --- a/Program/V1/Controllers/MemberController.cs +++ b/Program/V1/Controllers/MemberController.cs @@ -27,27 +27,6 @@ public class MemberController: ControllerBase return Ok("DB 참조"); } - [HttpPost("academy")] - [CustomOperation("앱 버전 확인","앱 버전을 확인해서 업데이트 여부 판단", "시스템")] - public IActionResult ReadAcademyInfo([FromBody] RequestAcademy request) - { - if (request.bids == null || !request.bids.Any()) - { - var response = DefaultResponse.InvalidInputError; - return Ok(response); - } - - var academies = _dbContext - .Academy - .Where(a => request.bids.Contains(a.bid)) - .Select(a => new AcademyName - { - bid = a.bid, - name = a.business_name - }) - .ToList(); - return Ok(academies); - } diff --git a/Program/V1/Controllers/UserController.cs b/Program/V1/Controllers/UserController.cs index a0af8ad..1a83408 100644 --- a/Program/V1/Controllers/UserController.cs +++ b/Program/V1/Controllers/UserController.cs @@ -19,9 +19,51 @@ public class UserController: ControllerBase _dbContext = dbContext; } + [HttpGet()] + [CustomOperation("회원 정보 조회", "회원 정보 조회", "사용자")] + public IActionResult GetUserData(string uid) + { + if (string.IsNullOrEmpty(uid)) + { + return BadRequest(DefaultResponse.InvalidInputError); + } + + try + { + var user = _dbContext.User + .Where(u => u.uid == uid) + .Select(u => new User + { + uid = u.uid, + name = u.name, + auto_login_yn = u.auto_login_yn, + birth = u.birth, + device_id = u.device_id, + login_date = u.login_date, + type = u.type, + }) + .FirstOrDefault(); + + var response = new APIResponseStatus + { + status = new Status() + { + code = "000", + message = "정상" + }, + data = user + }; + return Ok(response.JsonToString()); + } + catch(Exception ex) + { + return StatusCode(500, DefaultResponse.UnknownError); + } + } + [HttpGet("login")] [CustomOperation("SNS 로그인", "로그인 후 회원이 있는지 확인", "사용자")] - public IActionResult SNSLogin(string acctype,string sns_id) + public IActionResult SNSLogin(string acctype, string sns_id) { if (string.IsNullOrEmpty(acctype) && string.IsNullOrEmpty(sns_id)) @@ -74,4 +116,37 @@ public class UserController: ControllerBase } } + [HttpPost("academy")] + [CustomOperation("학원 리스트 확인","등록된 학원 리스트 확인", "사용자")] + public IActionResult ReadAcademyInfo([FromBody] RequestAcademy request) + { + if (!request.bids.Any()) + { + var error = DefaultResponse.InvalidInputError; + return Ok(error); + } + + var academies = _dbContext + .Academy + .Where(a => request.bids.Contains(a.bid)) + .Select(a => new AcademyName + { + bid = a.bid, + name = a.business_name + }) + .ToList(); + + var response = new APIResponseStatus> + { + status = new Status() + { + code = "000", + message = "정상" + }, + data = academies + }; + return Ok(response); + } + + } \ No newline at end of file diff --git a/Program/V1/Models/Login.cs b/Program/V1/Models/User.cs similarity index 62% rename from Program/V1/Models/Login.cs rename to Program/V1/Models/User.cs index eed116d..576dc8f 100644 --- a/Program/V1/Models/Login.cs +++ b/Program/V1/Models/User.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using System.Runtime.InteropServices.JavaScript; namespace AcaMate.V1.Models; @@ -13,7 +14,7 @@ public class Login public string uid {get; set;} [MaxLength(4)] public string sns_type {get; set;} - [MaxLength(255)] + [MaxLength(255)] public string sns_token {get; set;} [MaxLength(100)] public string sns_email {get; set;} @@ -27,4 +28,17 @@ public class User_Academy public string bid { get; set; } public DateTime register_date { get; set; } public bool status { get; set; } -} \ No newline at end of file +} + +[Table("user")] +public class User +{ + [Key] + public string uid { get; set; } + public string name { get; set; } + public DateTime birth { get; set; } + public string type { get; set; } + public string device_id { get; set; } + public int auto_login_yn { get; set; } + public DateTime login_date { get; set; } +}