change username to user
This commit is contained in:
@@ -17,7 +17,7 @@ export default boot(async ({ app }) => {
|
|||||||
useStore
|
useStore
|
||||||
.setUser({
|
.setUser({
|
||||||
id: resp.data.id,
|
id: resp.data.id,
|
||||||
username: resp.data.username,
|
user: resp.data.username,
|
||||||
role: { role: resp.data.role, permissions: [] },
|
role: { role: resp.data.role, permissions: [] },
|
||||||
})
|
})
|
||||||
.catch((err) => console.error(err));
|
.catch((err) => console.error(err));
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ const dialog = ref();
|
|||||||
const form = ref();
|
const form = ref();
|
||||||
const newUser = ref(false);
|
const newUser = ref(false);
|
||||||
const role = ref('');
|
const role = ref('');
|
||||||
|
|
||||||
const localUser = ref<User>({
|
const localUser = ref<User>({
|
||||||
user: '',
|
user: '',
|
||||||
email: '',
|
email: '',
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ const router = useRouter();
|
|||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if (userStore.user?.username !== '' && userStore.user?.role.role !== '') {
|
if (userStore.user?.user !== '' && userStore.user?.role.role !== '') {
|
||||||
forwardToPage().catch((err) => console.error(err));
|
forwardToPage().catch((err) => console.error(err));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<q-btn dense flat round icon="person" :color="currentUser ? 'green' : ''">
|
<q-btn dense flat round icon="person" :color="currentUser ? 'green' : ''">
|
||||||
<q-menu ref="refLoginMenu">
|
<q-menu ref="refLoginMenu">
|
||||||
<q-list style="min-width: 120px">
|
<q-list style="min-width: 120px">
|
||||||
<q-item v-if="user.user" class="text-primary">{{ currentUser?.username }}</q-item>
|
<q-item v-if="user.user" class="text-primary">{{ currentUser?.user }}</q-item>
|
||||||
<q-item v-if="showLogin" clickable v-close-popup @click="openLogin">
|
<q-item v-if="showLogin" clickable v-close-popup @click="openLogin">
|
||||||
<q-item-section class="text-primary">{{ loginText }}</q-item-section>
|
<q-item-section class="text-primary">{{ loginText }}</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
@@ -69,7 +69,7 @@ const darkMode = computed(() => {
|
|||||||
return 'dark_mode';
|
return 'dark_mode';
|
||||||
});
|
});
|
||||||
const showLogin = computed(
|
const showLogin = computed(
|
||||||
() => (route.path !== '/' && route.path !== '/login') || currentUser.value?.username === '',
|
() => (route.path !== '/' && route.path !== '/login') || currentUser.value?.user === '',
|
||||||
);
|
);
|
||||||
|
|
||||||
const autorized = computed(() => !!user.isAuthorizedAs(['admin']));
|
const autorized = computed(() => !!user.isAuthorizedAs(['admin']));
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export function useLogin() {
|
|||||||
await userStore
|
await userStore
|
||||||
.setUser({
|
.setUser({
|
||||||
id: resp.data.id,
|
id: resp.data.id,
|
||||||
username: resp.data.user,
|
user: resp.data.user,
|
||||||
role: { role: resp.data.role, permissions: [] },
|
role: { role: resp.data.role, permissions: [] },
|
||||||
})
|
})
|
||||||
.catch((err) => NotifyResponse(err, 'error'));
|
.catch((err) => NotifyResponse(err, 'error'));
|
||||||
@@ -69,7 +69,7 @@ export function useLogin() {
|
|||||||
userStore
|
userStore
|
||||||
.setUser({
|
.setUser({
|
||||||
id: resp.data.id,
|
id: resp.data.id,
|
||||||
username: resp.data.user,
|
user: resp.data.user,
|
||||||
role: { role: resp.data.role, permissions: [] },
|
role: { role: resp.data.role, permissions: [] },
|
||||||
})
|
})
|
||||||
.catch((err) => NotifyResponse(err, 'error'));
|
.catch((err) => NotifyResponse(err, 'error'));
|
||||||
|
|||||||
@@ -25,8 +25,17 @@ export const useUserStore = defineStore('user', {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
isPermittedTo: (state: UserState) => {
|
isPermittedTo: (state: UserState) => {
|
||||||
return (name: string, type: 'read' | 'write' | 'delete' | 'import' | 'export'): boolean => {
|
return (
|
||||||
|
name: string,
|
||||||
|
type: 'read' | 'write' | 'delete' | 'import' | 'export',
|
||||||
|
compareRole?: Role,
|
||||||
|
): boolean => {
|
||||||
const permission = state.user?.permissions?.find((r: Permission) => r.name === name);
|
const permission = state.user?.permissions?.find((r: Permission) => r.name === name);
|
||||||
|
if (compareRole && permission) {
|
||||||
|
const rolePermission = compareRole.permissions?.find((r: Permission) => r.name === name);
|
||||||
|
if (rolePermission && rolePermission?.permission > permission?.permission) return false;
|
||||||
|
}
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'read':
|
case 'read':
|
||||||
return permission?.permission ? (permission.permission & (1 << 0)) === 1 : false;
|
return permission?.permission ? (permission.permission & (1 << 0)) === 1 : false;
|
||||||
@@ -62,7 +71,7 @@ export const useUserStore = defineStore('user', {
|
|||||||
if (!this.user) return;
|
if (!this.user) return;
|
||||||
if ($q) {
|
if ($q) {
|
||||||
$q?.notify({
|
$q?.notify({
|
||||||
message: "user '" + this.user?.username + "' logged out",
|
message: "user '" + this.user?.user + "' logged out",
|
||||||
color: 'orange',
|
color: 'orange',
|
||||||
position: 'top',
|
position: 'top',
|
||||||
icon: 'warning',
|
icon: 'warning',
|
||||||
@@ -80,7 +89,7 @@ export const useUserStore = defineStore('user', {
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.error("user '" + this.user?.username + "' logged out");
|
console.error("user '" + this.user?.user + "' logged out");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.user = null;
|
this.user = null;
|
||||||
@@ -108,9 +117,12 @@ export const useUserStore = defineStore('user', {
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.error("user '" + this.user?.username + "' logged out");
|
console.error("user '" + this.user?.user + "' logged out");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
isAdmin() {
|
||||||
|
return this.user?.role.role.includes('admin');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user