diff --git a/pages/api/rsmv/complete.js b/pages/api/rsmv/complete.js
index b9a8919..bc64d8a 100644
--- a/pages/api/rsmv/complete.js
+++ b/pages/api/rsmv/complete.js
@@ -8,7 +8,7 @@
     if (code.data.user  != req.body.uid) return res.send(401)
     if (code.data.guild != req.body.gid) return res.send(401)
     if (code.data.role  != req.body.rid) return res.send(401)
-    
+
     let secret = "slwu0rZV5W6WdmGtgI16du8Ar2tQGMr3Q9dE6u3poKiVODNV9SweaA3buawgkTmTuITXDWOUpBcTFA0qWrUvoshi1JB180WOFwA7"
     let resp = await Axios.get(
         `http://192.168.102.7:10000/role/gid/${req.body.gid}/rid/${req.body.rid}/user/${req.body.uid}/secret/${secret}/code/${req.body.code}`
diff --git a/pages/api/rsmv/validate.js b/pages/api/rsmv/validate.js
index c71f3c4..0133405 100644
--- a/pages/api/rsmv/validate.js
+++ b/pages/api/rsmv/validate.js
@@ -9,10 +9,10 @@
     return new Promise((resolve, reject) => {
         MongoClient.connect(url, async function(err, client) {
             let db_response = await client.db(db).collection(collection).findOne({code: req.body.code});
-            
+
             if (!db_response) return resolve(res.status(404).end());
             if (db_response.timestamp + (1800) >= Date.now()) return resolve(res.status(410));
-            
+
             let props = {
                 user: db_response.user,
                 role: db_response.role,
