浏览代码

add ip and os to log action

yazid138 3 年之前
父节点
当前提交
0f45468391
共有 3 个文件被更改,包括 13 次插入1 次删除
  1. 3 1
      actions/log.js
  2. 5 0
      components/Main/Login.js
  3. 5 0
      utils/osValue.js

+ 3 - 1
actions/log.js

@@ -1,5 +1,7 @@
 import { get } from "../config/request";
 import axios from "@/config/axios";
+import ip from "ip";
+import osValue from "../utils/osValue";
 
 export const getLog = async (token, laporan_id) => {
 	try {
@@ -42,7 +44,7 @@ export const getLogPublic = async ({ no_hp, no_laporan }) => {
 };
 
 export const createLog = async (token, data) => {
-	const res = await axios.post("/log", data, { headers: { Authorization: token } });
+	const res = await axios.post("/log", { os: osValue(), ipv4: ip.address("public", "ipv4"), ...data }, { headers: { Authorization: token } });
 	return res.data;
 };
 

+ 5 - 0
components/Main/Login.js

@@ -4,6 +4,7 @@ import Router from "next/router";
 import FormValidator from "@/components/Forms/Validator.js";
 import { connect } from "react-redux";
 import { login, getUser } from "@/actions/auth";
+import { createLog } from "@/actions/log";
 import axiosAPI from "@/config/axios";
 import { getPT } from "@/actions/PT";
 
@@ -71,9 +72,13 @@ class Login extends Component {
 				axiosAPI.defaults.headers.common["Authorization"] = auth.data.token;
 				this.setState({ loading: false });
 				if (auth.data.user.role.id === 2022) {
+					await createLog(auth.data.token, { aktivitas: "Berhasil Login" });
 					Router.push({ pathname: "/pt/pemantauan" });
+					return;
 				} else if ([2020, 2021, 2023].includes(auth.data.user.role.id)) {
+					await createLog(auth.data.token, { aktivitas: "Berhasil Login" });
 					Router.push({ pathname: "/app/pemantauan" });
+					return;
 				} else {
 					this.setState({ error: "Akun tidak ada" });
 				}

+ 5 - 0
utils/osValue.js

@@ -0,0 +1,5 @@
+const os = process.platform;
+
+export default function osValue() {
+	return os == "darwin" ? "Mac OS" : os == "win32" ? "Windows OS" : os == "android" ? "Android OS" : os == "linux" ? "Linux OS" : "Other OS";
+}