Skip to content

Commit

Permalink
Merge pull request #14 from KNU-CSE-APP/#9/Implementing-Rest-api
Browse files Browse the repository at this point in the history
#9/implementing rest api
  • Loading branch information
JunseokNoh authored Aug 22, 2021
2 parents 32b9bd4 + e089f7c commit c7220e5
Show file tree
Hide file tree
Showing 455 changed files with 191 additions and 48,995 deletions.
94 changes: 0 additions & 94 deletions .gitignore

This file was deleted.

Binary file removed KNU_CSE.zip
Binary file not shown.
8 changes: 6 additions & 2 deletions KNU_CSE/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,9 @@ fastlane/test_output

iOSInjectionProject/

KNU_CSE/KNU_CSE/Network Service/Base/

KNU_CSE/KNU_CSE/Network Service/Base/BaseApiRequest.swift
Pods/
Podfile
Podfile.lock
KNU_CSETests/
KNU_CSEUITests/
185 changes: 185 additions & 0 deletions KNU_CSE/KNU_CSE/Network Service/Base/BaseApiRequest.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
//
// URL.swift
// MVVM_Practice
//
// Created by junseok on 2021/07/09.
//

//
// ApiRequest.swift
// MvvmExampleSwift5.0
//
// Created by Bekir on 14.01.2020.
// Copyright © 2020 Bekir. All rights reserved.
//

import Alamofire

protocol BaseApiRequest {
var requestMethod: RequestHttpMethod?{ get }
var requestBodyObject: BaseObject?{ get }
var requestMultipart:MultipartFormData!{ get }
func request() -> URLRequest
var enviroment: Environment? { get }
}

extension BaseApiRequest{
func getAddress(domain:String)->String{
// let ip = "218.233.221.188"
// let port = "5002"
//
let ip = "3.34.14.12"
let port = ""

if port == ""{
return "http://\(ip)/\(domain)"
}else{
return "http://\(ip):\(port)/\(domain)"
}
}

public func request() -> URLRequest {
let encoding = baseUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url: URL! = URL(string: encoding!)
print(baseUrl)
var request = URLRequest(url: url)
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
switch requestMethod {
case .get:
request.method = .get
case .post:
request.method = .post
case .put:
request.method = .put
case .delete:
request.method = .delete
default:
request.httpMethod = "GET"
break
}

if(requestBodyObject != nil){
let jsonEncoder = JSONEncoder()
do {
if let data = try? jsonEncoder.encode(requestBodyObject.self){
let jsonString = String(decoding: data, as: UTF8.self)
request.httpBody = data
print(jsonString)
}
}
}

return request
}

var baseUrl: String {
switch enviroment {
case .SignIn:
return getAddress(domain: "user/signIn")
case .SignUp:
return getAddress(domain: "user/signUp")
case .deleteAccount:
return getAddress(domain: "user/deleteMember")
case .codeForPw(let email):
return getAddress(domain: "user/findPassword/\(email)")
case .codeConfirmForPw:
return getAddress(domain: "user/verifyPassword")
case .changePasswordForFindPw:
return getAddress(domain: "user/changeValidatedPassword")
case .getInform:
return getAddress(domain: "user/getUserEmailNickname")
case .setInform:
return getAddress(domain: "user/image/nickname")
case .resetImage:
return getAddress(domain: "user/profileimage")
case .changePassword:
return getAddress(domain: "user/changePassword")
case .codeRequest(let email):
return (getAddress(domain: "user/verify/\(email)"))
case .codeConfirm:
return getAddress(domain: "user/verify")
case .BoardWrite:
return getAddress(domain: "board/write")
case .getBoardPaging(let category, let page, let size):
return getAddress(domain: "board/list?category=\(category)&page=\(page)&size=\(size)")
case .getBoard(let boardId):
return getAddress(domain: "board/\(boardId)")
case .getBoardWithTitle(let title):
return getAddress(domain: "board/findTitle?title=\(title)")
case .getBoardWithContent(let content):
return getAddress(domain: "board/findContent?content=\(content)")
case .getBoardWithAuthor(let author):
return getAddress(domain: "board/findAuthor?author=\(author)")
case .getBoardWithCategory(let category):
return getAddress(domain: "board/findCategory?category=\(category)")
case .getBoardMyBoard:
return getAddress(domain: "board/findMyBoards")
case .writeComment:
return getAddress(domain: "comment/write")
case .getComment(let commentId):
return getAddress(domain: "comment/\(commentId)")
case .deleteComment(let commentId):
return getAddress(domain: "comment/\(commentId)")
case .writeReply:
return getAddress(domain: "comment/reply/write")
case .findContentsByBoardId(let boardId):
return getAddress(domain: "comment/findContentsByBoardId?boardId=\(boardId)")
case .searchSeat(let building, let roomNumber):
return getAddress(domain: "classRoom/searchSeats/\(building)/\(roomNumber)")
case .reservation:
return getAddress(domain: "reservation/reservation")
case .reservationFind:
return getAddress(domain: "reservation/findReservation")
case .reservationDelete:
return getAddress(domain: "reservation/delete")
case .reservationExtension:
return getAddress(domain: "reservation/extension")
case .none:
return ""
}
}
}

enum RequestHttpMethod{
case get
case post
case put
case delete
}

enum Environment{
case SignIn
case SignUp
case deleteAccount
case codeForPw(String)
case codeConfirmForPw
case changePasswordForFindPw
case getInform
case setInform
case resetImage
case changePassword
case codeRequest(String)
case codeConfirm
case BoardWrite
case getBoardPaging(String,Int,Int)
case getBoard(Int)
case getBoardWithTitle(String)
case getBoardWithContent(String)
case getBoardWithAuthor(String)
case getBoardWithCategory(String)
case getBoardMyBoard
case writeComment
case getComment(Int)
case deleteComment(Int)
case writeReply
case findContentsByBoardId(Int)
case searchSeat(String, Int)
case reservation
case reservationFind
case reservationDelete
case reservationExtension
}




22 changes: 0 additions & 22 deletions KNU_CSE/KNU_CSETests/Info.plist

This file was deleted.

33 changes: 0 additions & 33 deletions KNU_CSE/KNU_CSETests/KNU_CSETests.swift

This file was deleted.

22 changes: 0 additions & 22 deletions KNU_CSE/KNU_CSEUITests/Info.plist

This file was deleted.

Loading

0 comments on commit c7220e5

Please sign in to comment.