upgrade code
This commit is contained in:
3
db/migration/base/005.up.cm_usr_cmid.sql
Normal file
3
db/migration/base/005.up.cm_usr_cmid.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
alter table cm_usr drop constraint uq_company_usr;
|
||||
alter table cm_usr rename cm_id to cmid;
|
||||
alter table cm_usr add constraint uq_cm_usr unique (cmid, usr_id);
|
||||
@@ -2,6 +2,7 @@ package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.makki.io/makki/libgo/mhttp"
|
||||
"git.notitek.com.tr/common/notgo/napi"
|
||||
"git.notitek.com.tr/common/notgo/nauth"
|
||||
"net/http"
|
||||
@@ -19,6 +20,20 @@ import (
|
||||
)
|
||||
|
||||
func HttpHandler(re enums.TRunEnv) http.Handler {
|
||||
lookup := &mhttp.Lookup{
|
||||
DoClientCheck: true,
|
||||
Funcs: map[string]mhttp.LookupFunc{
|
||||
"entegrator": napi.Entegrators,
|
||||
|
||||
"invmarket": napi.InvMarket,
|
||||
|
||||
"usr": napi.Usr,
|
||||
"rates": napi.Currency,
|
||||
},
|
||||
CompanyCheckQueries: []string{"mmitem", "acchart", "ficomp"},
|
||||
JwtAuth: svc.S.JWT,
|
||||
}
|
||||
|
||||
mux := chi.NewRouter()
|
||||
|
||||
// Gerekli middleware stack
|
||||
@@ -55,11 +70,20 @@ func HttpHandler(re enums.TRunEnv) http.Handler {
|
||||
//protected end points
|
||||
mr.Group(func(r chi.Router) {
|
||||
// Seek, verify and validate JWT tokens
|
||||
r.Use(jwtauth.Verifier(svc.S.JWT))
|
||||
r.Use(jwtauth.Verify(svc.S.JWT, jwtauth.TokenFromHeader, jwtauth.TokenFromCookie, jwtauth.TokenFromQuery))
|
||||
|
||||
// Handle valid / invalid tokens.
|
||||
r.Use(nauth.CheckTokenValidity)
|
||||
|
||||
// Set clientID
|
||||
r.Use(nauth.ClientID)
|
||||
|
||||
// Handle valid / invalid tokens.
|
||||
r.Use(nauth.CheckTokenValidity)
|
||||
|
||||
// lookup
|
||||
r.Method("post", "/lookup/{query}", lookup)
|
||||
|
||||
// sy routes
|
||||
r.Get("/sy/companies", napi.CompanyList)
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"jwt-decode": "^4.0.0",
|
||||
"pinia": "^2.0.11",
|
||||
"quasar": "^2.8.0",
|
||||
"reconnecting-websocket": "^4.4.0",
|
||||
"vue": "^3.4.18",
|
||||
"vue-i18n": "^9.9.0",
|
||||
"vue-router": "^4.0.12",
|
||||
|
||||
@@ -64,6 +64,7 @@ module.exports = configure(function (ctx) {
|
||||
// analyze: true,
|
||||
env: {
|
||||
showLangSelect: false,
|
||||
wsActive: false,
|
||||
apiAddr: (() => {
|
||||
if (process.env.CUSTOM_API) {
|
||||
return process.env.CUSTOM_API
|
||||
@@ -150,6 +151,8 @@ module.exports = configure(function (ctx) {
|
||||
'Loading',
|
||||
'Dialog',
|
||||
'Meta',
|
||||
'LocalStorage',
|
||||
'SessionStorage'
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
@@ -3,12 +3,14 @@
|
||||
import { EventBus } from 'quasar'
|
||||
import { boot } from 'quasar/wrappers'
|
||||
|
||||
export default boot(({ app }) => {
|
||||
const bus = new EventBus()
|
||||
const bus = new EventBus()
|
||||
|
||||
export default boot(({ app }) => {
|
||||
// for Options API
|
||||
app.config.globalProperties.$bus = bus
|
||||
|
||||
// for Composition API
|
||||
app.provide('bus', bus)
|
||||
})
|
||||
|
||||
export { bus }
|
||||
|
||||
@@ -3,6 +3,7 @@ import { LocalStorage } from 'quasar'
|
||||
import { api } from 'boot/axios'
|
||||
import { jwtDecode } from "jwt-decode"
|
||||
import Router from 'src/router/index'
|
||||
import {bus} from 'boot/bus'
|
||||
|
||||
export const sessionName = 'bresSession'
|
||||
|
||||
@@ -10,17 +11,26 @@ const defaultState = {
|
||||
LoggedIn: false,
|
||||
IsAdmin: false,
|
||||
Token: '',
|
||||
UsrKSUID: '',
|
||||
UsrKsuid: '',
|
||||
UsrEmail: '',
|
||||
UsrFullname: '',
|
||||
UsrFullName: '',
|
||||
Username: '',
|
||||
|
||||
ClientKSUID: '',
|
||||
ClientKsuid: '',
|
||||
ClientCode: '',
|
||||
LicenseCode: '',
|
||||
PkgConf: {}
|
||||
PkgConf: {},
|
||||
|
||||
companyID: null
|
||||
}
|
||||
|
||||
bus.on('companySelect', (companyID) => {
|
||||
const store = useLoginStore()
|
||||
//store.companyID = companyID
|
||||
store.setCompanyID(companyID)
|
||||
})
|
||||
|
||||
|
||||
export const useLoginStore = defineStore('login', {
|
||||
state: () => {
|
||||
return JSON.parse(JSON.stringify(defaultState))
|
||||
@@ -28,6 +38,11 @@ export const useLoginStore = defineStore('login', {
|
||||
getters: {},
|
||||
actions: {
|
||||
|
||||
setCompanyID(companyID) {
|
||||
this.companyID = companyID
|
||||
this.save()
|
||||
},
|
||||
|
||||
login (payload) {
|
||||
// kaldıysa önceki session'ı uçuralım
|
||||
LocalStorage.remove(sessionName)
|
||||
@@ -58,6 +73,14 @@ export const useLoginStore = defineStore('login', {
|
||||
}
|
||||
},
|
||||
|
||||
updateProfile (payload) {
|
||||
this.UsrFullName = payload.fullname
|
||||
this.UsrEmail = payload.email
|
||||
this.Username = payload.username
|
||||
|
||||
this.save()
|
||||
},
|
||||
|
||||
updateState (payload) {
|
||||
Object.assign(this, payload)
|
||||
api.defaults.headers.common['Authorization'] = `Bearer ${payload.Token}`
|
||||
@@ -76,9 +99,17 @@ export const useLoginStore = defineStore('login', {
|
||||
}
|
||||
},
|
||||
|
||||
save () {
|
||||
const pl = {}
|
||||
Object.keys(defaultState).forEach((key) => {
|
||||
pl[key] = this[key]
|
||||
})
|
||||
LocalStorage.set(sessionName, pl)
|
||||
},
|
||||
|
||||
IsLoggedIn () {
|
||||
return this.LoggedIn
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -2593,6 +2593,11 @@ readdirp@~3.6.0:
|
||||
dependencies:
|
||||
picomatch "^2.2.1"
|
||||
|
||||
reconnecting-websocket@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz#3b0e5b96ef119e78a03135865b8bb0af1b948783"
|
||||
integrity sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==
|
||||
|
||||
register-service-worker@^1.7.2:
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/register-service-worker/-/register-service-worker-1.7.2.tgz#6516983e1ef790a98c4225af1216bc80941a4bd2"
|
||||
|
||||
Reference in New Issue
Block a user