diff --git a/package-lock.json b/package-lock.json index 27a12d5..2061045 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "uuid": "^8.3.2", "vue": "^3.2.21", "vue-imask": "^6.2.2", + "vue-request": "^1.2.3", "vue-router": "^4.0.12", "vue-tsc": "^0.3.0" }, @@ -1822,6 +1823,14 @@ } } }, + "node_modules/vue-request": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/vue-request/-/vue-request-1.2.3.tgz", + "integrity": "sha512-Yo1KxKpucNZyv/angPv7S8q00MMhFi7mFyITVIIaNMzz6Mu7QrPfP1fIQOoupEqFK+dgbXa8M7/v+7UBPMrCMQ==", + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-router": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.12.tgz", @@ -3156,6 +3165,12 @@ } } }, + "vue-request": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/vue-request/-/vue-request-1.2.3.tgz", + "integrity": "sha512-Yo1KxKpucNZyv/angPv7S8q00MMhFi7mFyITVIIaNMzz6Mu7QrPfP1fIQOoupEqFK+dgbXa8M7/v+7UBPMrCMQ==", + "requires": {} + }, "vue-router": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.12.tgz", diff --git a/package.json b/package.json index 2d7c40f..0f5549a 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "uuid": "^8.3.2", "vue": "^3.2.21", "vue-imask": "^6.2.2", + "vue-request": "^1.2.3", "vue-router": "^4.0.12", "vue-tsc": "^0.3.0" }, diff --git a/src/axios/index.ts b/src/axios/index.ts index 666f2b0..2857eef 100644 --- a/src/axios/index.ts +++ b/src/axios/index.ts @@ -2,4 +2,6 @@ import axios from 'axios' export default axios.create({ baseURL: 'http://localhost:3333/api/v1/' -}) \ No newline at end of file +}) + +export const apiUrl = 'http://localhost:3333/api/v1/' \ No newline at end of file diff --git a/src/stores/settings/employees-index.ts b/src/stores/settings/employees-index.ts index 6d1d0b5..ff6a590 100644 --- a/src/stores/settings/employees-index.ts +++ b/src/stores/settings/employees-index.ts @@ -1,5 +1,7 @@ import { defineStore } from "pinia"; import { useEmployees } from "../employees"; +import { useUser } from "../user"; +import axios from '@/axios' import _clone from "lodash/clone"; import _difference from "lodash/difference"; import _pull from "lodash/pull"; @@ -40,8 +42,21 @@ export const settingsEmployeesIndex = defineStore({ * Persist columnsSelected to API */ async persist() { - console.log("persist") - console.log(this.columnsSelected) + const user = useUser() + + const result = await axios.post('settings', + { + settings: [ + { + key: "employees-index-columns-selected", + value: JSON.stringify(this.columnsSelected) + } + ] + }, + { + headers: user.header + }) + console.log(result) } } }) \ No newline at end of file diff --git a/src/stores/user.ts b/src/stores/user.ts index 83926b7..cbbb780 100644 --- a/src/stores/user.ts +++ b/src/stores/user.ts @@ -3,7 +3,10 @@ import { useNotifications } from './notifications' import { getUnixTime } from 'date-fns' import { AxiosError } from 'axios' import axios from '@/axios' +import { apiUrl } from '@/axios' import Axios from 'axios' +import { useRequest } from 'vue-request' +import { json } from 'stream/consumers' type AuthSuccResult = { user: string, @@ -34,21 +37,18 @@ export const useUser = defineStore({ actions: { async login(username: string, password: string): - Promise< - boolean | + Promise { + 'E_INVALID_AUTH_UID: User not found'> + { const notifications = useNotifications() - + try { const response = await axios.post('login', { username: username, password: password }) - - console.log(response) this.isLoggedIn = true this.user = response.data.user @@ -76,7 +76,7 @@ export const useUser = defineStore({ notifications.add('danger', err as string, -1) return false - } + } }, diff --git a/src/views/Login.vue b/src/views/Login.vue index 5083986..9887d4d 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -92,6 +92,8 @@ async function onClick() { if(!(await v$.value.$validate())) return const result = await userStore.login(input.username, input.password) + + console.log("back in login form: "+result) switch(result) { case true: