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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.makki.io/makki/libgo/mhttp"
|
||||||
"git.notitek.com.tr/common/notgo/napi"
|
"git.notitek.com.tr/common/notgo/napi"
|
||||||
"git.notitek.com.tr/common/notgo/nauth"
|
"git.notitek.com.tr/common/notgo/nauth"
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -19,6 +20,20 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func HttpHandler(re enums.TRunEnv) http.Handler {
|
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()
|
mux := chi.NewRouter()
|
||||||
|
|
||||||
// Gerekli middleware stack
|
// Gerekli middleware stack
|
||||||
@@ -55,11 +70,20 @@ func HttpHandler(re enums.TRunEnv) http.Handler {
|
|||||||
//protected end points
|
//protected end points
|
||||||
mr.Group(func(r chi.Router) {
|
mr.Group(func(r chi.Router) {
|
||||||
// Seek, verify and validate JWT tokens
|
// 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.
|
// Handle valid / invalid tokens.
|
||||||
r.Use(nauth.CheckTokenValidity)
|
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
|
// sy routes
|
||||||
r.Get("/sy/companies", napi.CompanyList)
|
r.Get("/sy/companies", napi.CompanyList)
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
"jwt-decode": "^4.0.0",
|
"jwt-decode": "^4.0.0",
|
||||||
"pinia": "^2.0.11",
|
"pinia": "^2.0.11",
|
||||||
"quasar": "^2.8.0",
|
"quasar": "^2.8.0",
|
||||||
|
"reconnecting-websocket": "^4.4.0",
|
||||||
"vue": "^3.4.18",
|
"vue": "^3.4.18",
|
||||||
"vue-i18n": "^9.9.0",
|
"vue-i18n": "^9.9.0",
|
||||||
"vue-router": "^4.0.12",
|
"vue-router": "^4.0.12",
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ module.exports = configure(function (ctx) {
|
|||||||
// analyze: true,
|
// analyze: true,
|
||||||
env: {
|
env: {
|
||||||
showLangSelect: false,
|
showLangSelect: false,
|
||||||
|
wsActive: false,
|
||||||
apiAddr: (() => {
|
apiAddr: (() => {
|
||||||
if (process.env.CUSTOM_API) {
|
if (process.env.CUSTOM_API) {
|
||||||
return process.env.CUSTOM_API
|
return process.env.CUSTOM_API
|
||||||
@@ -150,6 +151,8 @@ module.exports = configure(function (ctx) {
|
|||||||
'Loading',
|
'Loading',
|
||||||
'Dialog',
|
'Dialog',
|
||||||
'Meta',
|
'Meta',
|
||||||
|
'LocalStorage',
|
||||||
|
'SessionStorage'
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -3,12 +3,14 @@
|
|||||||
import { EventBus } from 'quasar'
|
import { EventBus } from 'quasar'
|
||||||
import { boot } from 'quasar/wrappers'
|
import { boot } from 'quasar/wrappers'
|
||||||
|
|
||||||
export default boot(({ app }) => {
|
|
||||||
const bus = new EventBus()
|
const bus = new EventBus()
|
||||||
|
|
||||||
|
export default boot(({ app }) => {
|
||||||
// for Options API
|
// for Options API
|
||||||
app.config.globalProperties.$bus = bus
|
app.config.globalProperties.$bus = bus
|
||||||
|
|
||||||
// for Composition API
|
// for Composition API
|
||||||
app.provide('bus', bus)
|
app.provide('bus', bus)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
export { bus }
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { LocalStorage } from 'quasar'
|
|||||||
import { api } from 'boot/axios'
|
import { api } from 'boot/axios'
|
||||||
import { jwtDecode } from "jwt-decode"
|
import { jwtDecode } from "jwt-decode"
|
||||||
import Router from 'src/router/index'
|
import Router from 'src/router/index'
|
||||||
|
import {bus} from 'boot/bus'
|
||||||
|
|
||||||
export const sessionName = 'bresSession'
|
export const sessionName = 'bresSession'
|
||||||
|
|
||||||
@@ -10,17 +11,26 @@ const defaultState = {
|
|||||||
LoggedIn: false,
|
LoggedIn: false,
|
||||||
IsAdmin: false,
|
IsAdmin: false,
|
||||||
Token: '',
|
Token: '',
|
||||||
UsrKSUID: '',
|
UsrKsuid: '',
|
||||||
UsrEmail: '',
|
UsrEmail: '',
|
||||||
UsrFullname: '',
|
UsrFullName: '',
|
||||||
Username: '',
|
Username: '',
|
||||||
|
|
||||||
ClientKSUID: '',
|
ClientKsuid: '',
|
||||||
ClientCode: '',
|
ClientCode: '',
|
||||||
LicenseCode: '',
|
LicenseCode: '',
|
||||||
PkgConf: {}
|
PkgConf: {},
|
||||||
|
|
||||||
|
companyID: null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bus.on('companySelect', (companyID) => {
|
||||||
|
const store = useLoginStore()
|
||||||
|
//store.companyID = companyID
|
||||||
|
store.setCompanyID(companyID)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
export const useLoginStore = defineStore('login', {
|
export const useLoginStore = defineStore('login', {
|
||||||
state: () => {
|
state: () => {
|
||||||
return JSON.parse(JSON.stringify(defaultState))
|
return JSON.parse(JSON.stringify(defaultState))
|
||||||
@@ -28,6 +38,11 @@ export const useLoginStore = defineStore('login', {
|
|||||||
getters: {},
|
getters: {},
|
||||||
actions: {
|
actions: {
|
||||||
|
|
||||||
|
setCompanyID(companyID) {
|
||||||
|
this.companyID = companyID
|
||||||
|
this.save()
|
||||||
|
},
|
||||||
|
|
||||||
login (payload) {
|
login (payload) {
|
||||||
// kaldıysa önceki session'ı uçuralım
|
// kaldıysa önceki session'ı uçuralım
|
||||||
LocalStorage.remove(sessionName)
|
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) {
|
updateState (payload) {
|
||||||
Object.assign(this, payload)
|
Object.assign(this, payload)
|
||||||
api.defaults.headers.common['Authorization'] = `Bearer ${payload.Token}`
|
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 () {
|
IsLoggedIn () {
|
||||||
return this.LoggedIn
|
return this.LoggedIn
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -2593,6 +2593,11 @@ readdirp@~3.6.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
picomatch "^2.2.1"
|
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:
|
register-service-worker@^1.7.2:
|
||||||
version "1.7.2"
|
version "1.7.2"
|
||||||
resolved "https://registry.yarnpkg.com/register-service-worker/-/register-service-worker-1.7.2.tgz#6516983e1ef790a98c4225af1216bc80941a4bd2"
|
resolved "https://registry.yarnpkg.com/register-service-worker/-/register-service-worker-1.7.2.tgz#6516983e1ef790a98c4225af1216bc80941a4bd2"
|
||||||
|
|||||||
Reference in New Issue
Block a user