์ปจํ ์ธ ๋ฅผ ๋ฑ๋กํ๊ณ ์์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์, JS ๋ฐ SH ํ์ผ์ ์๋์ผ๋ก ์์ฑ ๋ฐ ์ ๋ฐ์ดํธํ๋ ๋ก์ง์ ์ถ๊ฐํ๋ค.
๊ธฐ์กด์๋ ์ปจํ
์ธ ํ
์ด๋ธ์์ server_host
์ server_port
์ ๋ณด๋ฅผ ๋ณ๊ฒฝํด๋ ํด๋น ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์์ผ๋, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํด๋น ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก SH ๋ฐ JS ํ์ผ์ด ํจ๊ป ์์ ๋๋๋ก ๊ตฌํํ๋ค.
์ปจํ ์ธ ๋ฅผ ์ ๊ท ๋ฑ๋กํ ๋, ์ค๋ณต ๊ฒ์ฌ๋ฅผ ์ํํ๊ณ SH ๋ฐ JS ํ์ผ์ ํจ๊ป ์์ฑํ๋๋ก ํ๋ค.
server_host
, server_port
๋ฑ ํ์ ์ ๋ณด๋ฅผ JSON ๊ฐ์ฒด๋ก ์ ์ฅcreateOrUpdateJsFile()
: JS ํ์ผ ์์ฑcreateShFile()
: SH ํ์ผ ์์ฑ@PostMapping("content")
public ResponseEntity<GResponse> createContents(HttpServletResponse response, @RequestBody ContentParam param) {
response.setHeader("Job-Log", "์ปจํ
์ธ ์ ๋ณด ๋ฑ๋ก");
// ์ค๋ณต ๊ฒ์ฌ
ContentEntity content = contentRepo.findByName(param.getName());
if (content != null) {
return ResponseEntity.ok(new GResponse("400", "์ด๋ฏธ ์กด์ฌํ๋ ์ปจํ
์ธ ๋ช
"));
}
// JSON ๋ฐ์ดํฐ ์์ฑ
JSONObject info = new JSONObject();
info.put("server_host", param.getServerHost());
info.put("server_port", param.getServerPort().isEmpty() ? ":443" : param.getServerPort());
JSONObject define = new JSONObject();
define.put("server_host", param.getServerHost());
define.put("server_port", param.getServerPort().isEmpty() ? ":443" : param.getServerPort());
// ์ปจํ
์ธ ์ ์ฅ
content = new ContentEntity();
content.setCreator(userHelper.getCurrentUserID());
content.setInfo(info.toString());
content.setDefine(define.toString());
content = contentRepo.save(content);
// SH ๋ฐ JS ํ์ผ ์์ฑ
fileService.createOrUpdateJsFile(param.getName(), param.getProductName(), define);
fileService.createShFile(param.getName(), param.getProductName(), param.getServerHost(), param.getServerPort(), content);
return ResponseEntity.ok(new GResponse("0000", "๋ฑ๋ก ์๋ฃ"));
}
์ปจํ
์ธ ๋ฅผ ์์ ํ ๋, ๊ธฐ์กด server_host
์ server_port
์ ๋ณด๋ฅผ ์
๋ฐ์ดํธํ๋ฉฐ, ํด๋น ๋ณ๊ฒฝ์ฌํญ์ด JS ๋ฐ SH ํ์ผ์๋ ๋ฐ์๋๋๋ก ํ๋ค.