diff --git a/fe-backend/module/apiQuery.js b/fe-backend/module/apiQuery.js index a6beffe1..3e3430e5 100644 --- a/fe-backend/module/apiQuery.js +++ b/fe-backend/module/apiQuery.js @@ -10,7 +10,7 @@ const router = express.Router(); // router.post("/registerUser", registerUser); router.post("/getApiInfo", getApiInfo); // router.post("/verifyToken", verifyToken); -// router.post("/deleteUser", deleteUser); +router.post("/deleteUser", deleteUser); async function getApiInfo(req, res) { let userEmail = req.body.email; @@ -24,7 +24,7 @@ async function getApiInfo(req, res) { for (let item of result){ delete item.veri_code; } - + return res .status(200) .json( @@ -58,7 +58,24 @@ async function getApiInfo(req, res) { // }) // ); // }); - } +} + +async function deleteUser(req, res) { + let userEmail = req.body.email; + apiuser.deleteMany( + { user_email: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +} + - -module.exports = router; \ No newline at end of file +module.exports = router; diff --git a/fe-backend/module/keepMyDocQuery.js b/fe-backend/module/keepMyDocQuery.js index dbb24a20..bf8760dd 100755 --- a/fe-backend/module/keepMyDocQuery.js +++ b/fe-backend/module/keepMyDocQuery.js @@ -206,4 +206,22 @@ router.post("/getMyKeyword", (req, res) => { }); }); + +router.post("/deleteUser", (req, res) => { + let userEmail = req.body.email; + myDoc.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + module.exports = router; diff --git a/fe-backend/module/textMiningQuery.js b/fe-backend/module/textMiningQuery.js index 17209ac9..09e0474d 100644 --- a/fe-backend/module/textMiningQuery.js +++ b/fe-backend/module/textMiningQuery.js @@ -77,7 +77,7 @@ async function uploadDict(req, res) { async function getPreprocessedData(req, res) { let userEmail = req.body.userEmail; let savedDate = req.body.savedDate; - + preprocessing .findOne( { $and : [ { 'userEmail' : userEmail }, { 'savedDate' : savedDate }] } @@ -107,7 +107,7 @@ async function uploadDict(req, res) { .status(400) .json(new Res(false, "successfully saved doc HashKeys", null)); }); - + /* preprocessing .findOne( @@ -144,11 +144,11 @@ async function uploadDict(req, res) { } async function uploadChart(req, res) { - if(req.body.userEmail == null || req.body.chartImg == null) + if(req.body.userEmail == null || req.body.chartImg == null) return res.status(400).json( new Res(false, "Request body does not exist",null) ); - + // console.log('req',req); // let doc = { // 'userEmail': req.body.userEmail, @@ -196,7 +196,7 @@ async function getCharts(req, res) { new Res(true, "successfully loaded", result) ); }else{ - return res + return res .status(400) .json( new Res(false, "no saved chart",null) @@ -243,7 +243,7 @@ async function deleteCharts(req, res){ async function getChartData(req, res){ if(req.body.activity === 'tfidf'){ tfidf.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ return res @@ -268,7 +268,7 @@ async function getChartData(req, res){ }); }else if(req.body.activity === "count"){ count.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ @@ -294,7 +294,7 @@ async function getChartData(req, res){ }); }else if(req.body.activity === "kmeans"){ kmeans.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ @@ -320,7 +320,7 @@ async function getChartData(req, res){ }); }else if(req.body.activity === "network"){ network.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ @@ -346,7 +346,7 @@ async function getChartData(req, res){ }); }else if(req.body.activity === "ngrams"){ ngrams.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ @@ -372,7 +372,7 @@ async function getChartData(req, res){ }); }else if(req.body.activity === "hcluster"){ hcluster.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ @@ -398,7 +398,7 @@ async function getChartData(req, res){ }); }else if(req.body.activity === "word2vec"){ word2vec.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ @@ -424,7 +424,7 @@ async function getChartData(req, res){ }); }else if(req.body.activity === "topicLDA"){ topicLDA.findOne( - { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } + { $and: [{ userEmail: req.body.userEmail }, { analysisDate: req.body.analysisDate}] } ).then((result) => { if(result){ @@ -451,6 +451,191 @@ async function getChartData(req, res){ } } +router.post("/deleteCount", (req, res) => { + let userEmail = req.body.email; + count.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteHcluster", (req, res) => { + let userEmail = req.body.email; + hcluster.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteKmeans", (req, res) => { + let userEmail = req.body.email; + kmeans.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteMyAnalysis", (req, res) => { + let userEmail = req.body.email; + myAnalysis.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteNetwork", (req, res) => { + let userEmail = req.body.email; + network.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteNgrams", (req, res) => { + let userEmail = req.body.email; + ngrams.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deletePreprocessing", (req, res) => { + let userEmail = req.body.email; + preprocessing.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteTfidf", (req, res) => { + let userEmail = req.body.email; + tfidf.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteTopicLDA", (req, res) => { + let userEmail = req.body.email; + topicLDA.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteUserDic", (req, res) => { + let userEmail = req.body.email; + usersDict.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); + +router.post("/deleteWord2vec", (req, res) => { + let userEmail = req.body.email; + word2vec.deleteMany( + { userEmail: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +}); module.exports = router; - \ No newline at end of file diff --git a/fe-backend/module/userAuthQuery.js b/fe-backend/module/userAuthQuery.js index 3f5c7e08..a659cadf 100755 --- a/fe-backend/module/userAuthQuery.js +++ b/fe-backend/module/userAuthQuery.js @@ -116,40 +116,6 @@ async function getUserInfo(req, res) { }); } -async function deleteUser(req, res) { - let userEmail = req.body.email; - let userId; - console.log("email", userEmail); - User.findOne({ email: userEmail }) - .then((result) => { - userId = result["_id"]; - if (result) { - User.deleteOne({ email: userEmail }).then((deleteResult) => { - if (deleteResult) { - UserStatus.updateOne( - { userId: userId }, - { - modifiedDate: moment(), - isActive: false, - } - ) - .then((result) => { - console.log(result); - return res.status(200).json(new Res(true, "deletion succ")); - }) - .catch((err) => { - console.log(err); - return res.status(400).json(new Res(false, "deletion Failed")); - }); - } - }); - } - }) - .catch((error) => { - console.log(error); - }); -} - router.post("/apiRegister", (req, res) => { let userEmail = req.body.payload; @@ -171,4 +137,21 @@ router.post("/apiRegister", (req, res) => { ); }); +async function deleteUser(req, res) { + let userEmail = req.body.email; + User.deleteMany( + { email: userEmail }, + (error, result) => { + if (error) { + console.log(error); + } else { + if (!result) { + res.json(new Res(false, "can't remove")); + } + res.json(new Res(true, "success remove")); + } + } + ); +} + module.exports = router; diff --git a/src/app/core/services/authentication-service/authentication.service.ts b/src/app/core/services/authentication-service/authentication.service.ts index 92db15c3..a06a3eac 100755 --- a/src/app/core/services/authentication-service/authentication.service.ts +++ b/src/app/core/services/authentication-service/authentication.service.ts @@ -222,19 +222,121 @@ export class AuthenticationService { * @returns Deleting result. */ async deleteUser(): Promise { + let email = this.currentUser.email; + console.log('remove this user : ',email); + //delete user information - DB : user, collection : users let userDeleteRes: QueryResponse = await this.httpClient .post(`${this.API_URL}/users/deleteUser`, { - email: this.currentUser.email, + email: email, + }) + .toPromise(); + + //delete api user information - DB : user, collection : apiUser + let apiUserDeleteRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/api/deleteUser`, { + email: email, + }) + .toPromise(); + + //delete mydocs information - DB : user, collection : mydocs + let keepMydocsDeleteRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/myDoc/deleteUser`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : myAnalysis + let textMiningDeleteMyAnalysisRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteMyAnalysis`, { + email: email, }) .toPromise(); - let myDocDeleteRes: QueryResponse = await this.httpClient - .post(`${this.API_URL}/myDoc/deleteAllMyDocs`, { - userEmail: this.currentUser.email, + + //delete user's analysis data - DB : textMining, collection : count + let textMiningDeleteCountRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteCount`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : Hcluster + let textMiningDeleteHclusterRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteHcluster`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : Kmeans + let textMiningDeleteKmeansRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteKmeans`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : Network + let textMiningDeleteNetworkRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteNetwork`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : Ngrams + let textMiningDeleteNgramsRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteNgrams`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : Preprocessing + let textMiningDeletePreprocessingRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deletePreprocessing`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : Tfidf + let textMiningDeleteTfidfRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteTfidf`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : TopicLDA + let textMiningDeleteTopicLDARes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteTopicLDA`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : UserDic + let textMiningDeleteUserDicRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteUserDic`, { + email: email, + }) + .toPromise(); + + //delete user's analysis data - DB : textMining, collection : Word2vec + let textMiningDeleteWord2vecRes: QueryResponse = await this.httpClient + .post(`${this.API_URL}/textmining/deleteWord2vec`, { + email: email, }) .toPromise(); return ( - userDeleteRes.isSuccess === true && myDocDeleteRes.isSuccess === true + userDeleteRes.isSuccess === true && + keepMydocsDeleteRes.isSuccess === true && + textMiningDeleteMyAnalysisRes.isSuccess === true && + textMiningDeleteCountRes.isSuccess === true && + apiUserDeleteRes.isSuccess === true && + textMiningDeleteHclusterRes.isSuccess === true && + textMiningDeleteKmeansRes.isSuccess === true && + textMiningDeleteNetworkRes.isSuccess === true && + textMiningDeleteNgramsRes.isSuccess === true && + textMiningDeletePreprocessingRes.isSuccess === true && + textMiningDeleteTfidfRes.isSuccess === true && + textMiningDeleteTopicLDARes.isSuccess === true && + textMiningDeleteUserDicRes.isSuccess === true && + textMiningDeleteWord2vecRes.isSuccess === true ); } } diff --git a/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.html b/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.html index 55fa18cf..3067dc34 100644 --- a/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.html +++ b/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.html @@ -7,9 +7,9 @@

키워드 분석

- + ~ - + diff --git a/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.ts b/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.ts index ccb362eb..3777592c 100644 --- a/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.ts +++ b/src/app/features/search-result/components/keyword-analysis/keyword-analysis.component.ts @@ -14,6 +14,7 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { private searchSubscriber: Subscription; private searchKeyword: string; private currentYearMonth: string; + private beforeSizYearMonth: string; private startYearMonth: string; private endYearMonth: string; private per: string; @@ -59,12 +60,23 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { var current = new Date(); var year = current.getFullYear(); var c_month = current.getMonth() + 1; + + var beforeSix = new Date(current.setMonth(current.getMonth() -6)); + var beforeSixyear = beforeSix.getFullYear(); + var beforeSix_month = beforeSix.getMonth() +2; + if(c_month < 10) { this.currentYearMonth = "" + year + "-0" + c_month; + this.beforeSizYearMonth = "" + beforeSixyear + "-0" + beforeSix_month; } else { this.currentYearMonth = "" + year + "-" + c_month; + this.beforeSizYearMonth = "" + beforeSixyear + "-" + beforeSix_month; } + + this.startYearMonth = this.beforeSizYearMonth; + this.endYearMonth = this.currentYearMonth; + } year_clicked() { @@ -73,8 +85,6 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { yb.style.background="lightgrey"; mb.style.background="transparent"; - this.startYearMonth = (document.getElementById("start_month")).value; - this.endYearMonth = (document.getElementById("end_month")).value; this.per = "year"; } @@ -84,8 +94,6 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { mb.style.background="lightgrey"; yb.style.background="transparent"; - this.startYearMonth = (document.getElementById("start_month")).value; - this.endYearMonth = (document.getElementById("end_month")).value; this.per = "month"; } @@ -108,13 +116,20 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { tmpYear = year; } } - console.log(yearData) return yearData; } + setDatePickerStartYearMonth(e) { + this.startYearMonth = e.target.value; + } + + setDatePickerEndYearMonth(e) { + this.endYearMonth = e.target.value; + } + async updateChart(){ - this.startYearMonth = (document.getElementById("start_month")).value; - this.endYearMonth = (document.getElementById("end_month")).value; + // console.log('update chart startYearMonth : '+this.startYearMonth); + // console.log('update chart endYearMonth : '+this.endYearMonth); // var dataPerYear = await this.updateData(this.startYearMonth, this.endYearMonth); var dataPerMonth = await this.updateData(this.startYearMonth, this.endYearMonth); @@ -216,33 +231,45 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { } async updateData(start, end) { - var searchHistory = []; - var month = [3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7]; - var cnt = []; - var s_idx = -1; - var e_idx = -1; - for(var i = 5 ; i < 17; i++){ - if(month[i] == +start.split("-")[1]) { - s_idx = i; - } - if(month[i] == +end.split("-")[1]) { - e_idx = i; - } + var startDate = new Date(start); + var endDate = new Date(end); + if(startDate > endDate){ + console.log("DATE_ERROR"); } - if(s_idx == -1 || e_idx == -1){ - console.log("IDX_ERROR"); + + var monthDifference = -1; + var month = [] + var year = [] + + var interval = endDate.valueOf() - startDate.valueOf(); + var monthValue = 1000*60*60*24*30; + var monthDifference = Math.floor(interval/monthValue) + 1; + + var startYear = +start.split("-")[0] + var startMonth = +start.split("-")[1] + + for(i = monthDifference; i > 0; i--){ + if(startMonth == 13){ + startYear++; + startMonth = 1; + } + year.push(startYear); + month.push(startMonth++); } - for(var i = s_idx; i <= e_idx; i ++){ - var m; - var y = start.split("-")[0]; - if(month[i] < 10){ - m = "0" + month[i]; + var searchHistory = []; + + for(var i = 0; i < month.length; i++){ + var y = year[i]; + var m = month[i]; + + if(m < 10){ + m = "0" + m; } else { - m = "" + month[i]; + m = "" + m; } - //search_log-. + var index = "search_log-" + y + "." + m; var count; try { @@ -255,13 +282,8 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { const hist = {date: "" + y + "." + m, freq: 0}; searchHistory.push(hist); } - - if(month[i] > month[i - 1]){ - y = +y; - y = y + 1; - } } - console.log("search history"); + return searchHistory; } @@ -272,6 +294,10 @@ export class KeywordAnalysisComponent implements OnInit, OnDestroy { public get getCurrentYearMonth(): string { return this.currentYearMonth; } + + public get getBeforeSixMonthYearMonth(): string { + return this.beforeSizYearMonth; + } } diff --git a/src/app/features/userpage/components/secession/secession.component.html b/src/app/features/userpage/components/secession/secession.component.html index 86b33bba..b21651b3 100644 --- a/src/app/features/userpage/components/secession/secession.component.html +++ b/src/app/features/userpage/components/secession/secession.component.html @@ -2,9 +2,17 @@

{{'userpage.guideForrmAccount'|translate}}


-

{{'userpage.rmAccountInfo'|translate}}

-

{{'userpage.surermAccount'|translate}}

- - + +

{{'userpage.rmAccountInfo'|translate}}
+ {{'userpage.rmAccountInfo-1'|translate}}

+ ॰ {{'userpage.rmAccountInfo-2'|translate}}
+ ॰ {{'userpage.rmAccountInfo-3'|translate}}
+ ॰ {{'userpage.rmAccountInfo-4'|translate}}
+ ॰ {{'userpage.rmAccountInfo-5'|translate}}
+ ॰ {{'userpage.rmAccountInfo-6'|translate}}
+

+ + +
diff --git a/src/app/features/userpage/components/secession/secession.component.less b/src/app/features/userpage/components/secession/secession.component.less index adc957e9..b5425b61 100644 --- a/src/app/features/userpage/components/secession/secession.component.less +++ b/src/app/features/userpage/components/secession/secession.component.less @@ -17,6 +17,11 @@ height : 35px; } +.btn-container{ + display: flex; + justify-content: space-around; +} + @media all and (max-width: 768px){ .button { margin : 0px; diff --git a/src/app/features/userpage/components/secession/secession.component.ts b/src/app/features/userpage/components/secession/secession.component.ts index c790e5e4..8a54016a 100644 --- a/src/app/features/userpage/components/secession/secession.component.ts +++ b/src/app/features/userpage/components/secession/secession.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import {AuthenticationService} from '../../../../core/services/authentication-service/authentication.service'; @Component({ selector: 'app-secession', @@ -7,13 +8,25 @@ import { Component, OnInit } from '@angular/core'; }) export class SecessionComponent implements OnInit { - constructor() { } + constructor( + private authService: AuthenticationService + ) { } ngOnInit(): void { } - secession() { - + async deleteUser() { + if(confirm("삭제된 데이터는 되돌려 드리지 않습니다.\n정말 탈퇴하시겠습니까?") == true){ + + let res = await this.authService.deleteUser(); + if (res) { + alert("탈퇴가 완료되었습니다."); + } + else { + alert("다시 시도해주세요."); + } + this.authService.signOut(); + } } } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index de25b31e..014a3a81 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -338,7 +338,13 @@ "institution:": "Institution: ", "EditFolder": "Edit Folder", "guideForrmAccount": "Guide for Removing Account", - "rmAccountInfo": "After removing your account, all your personal information and service records will be deleted", + "rmAccountInfo": "After removing your account, all your personal information and service records will be deleted, and the information is not restored.", + "rmAccountInfo-1": "The information to be deleted is as follows.", + "rmAccountInfo-2": "Privacy Policy", + "rmAccountInfo-3": "My Documents Data", + "rmAccountInfo-4": "My Analysis Data", + "rmAccountInfo-5": "Q&A", + "rmAccountInfo-6": "Open Api History", "surermAccount": "Are you sure you want to remove your account?", "type" : "Type of Analysis: ", diff --git a/src/assets/i18n/ko.json b/src/assets/i18n/ko.json index 003b6d26..fc390f3d 100644 --- a/src/assets/i18n/ko.json +++ b/src/assets/i18n/ko.json @@ -340,7 +340,13 @@ "institution:": "기관 : ", "EditFolder": "폴더편집", "guideForrmAccount": "탈퇴안내", - "rmAccountInfo": "탈퇴 후 회원정보 및 개인형 서비스 이용기록은 삭제됩니다.", + "rmAccountInfo": "탈퇴 후 회원정보 및 개인형 서비스 이용기록은 삭제되며, 되돌려드리지 않습니다.", + "rmAccountInfo-1": "삭제되는 내용은 아래와 같습니다.", + "rmAccountInfo-2": "회원정보", + "rmAccountInfo-3": "내 보관함 데이터", + "rmAccountInfo-4": "내 분석함 데이터", + "rmAccountInfo-5": "Q&A 작성글", + "rmAccountInfo-6": "Open Api 사용 이력", "surermAccount": "정말 탈퇴하시겠습니까?", "type" : "분석 유형: ",