Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.

Commit

Permalink
refactor: removed password change
Browse files Browse the repository at this point in the history
  • Loading branch information
Luca1313 committed Jan 30, 2024
1 parent cc23618 commit 83d9888
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 67 deletions.
24 changes: 5 additions & 19 deletions frontend/src/components/UserPropertyComponent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
<label :for="`input-${property}`">{{ capitalizeFirstLetter(property)}}</label>
<hr :id="`old-value-${property}-separator`" class="hidden solid"/>
<p :id="`old-value-${property}`"
class="hidden">Old value: <strong>{{ hide ? 'hidden' : oldValue }}</strong></p>
<input :type="hide ? 'password' : 'text'"
:id="`input-${property}`"
class="hidden">Old value: <strong>{{oldValue }}</strong></p>
<input :id="`input-${property}`"
class="form-control my-3"
:readonly="isReadOnly"
v-model="refValue"
Expand Down Expand Up @@ -49,7 +48,6 @@
const props = defineProps<{
property: string,
value: string,
hide: boolean,
mutable: boolean,
validation: any,
}>()
Expand Down Expand Up @@ -95,11 +93,7 @@
hideElem(success);
}, 2000);
hideElem(spinner);
if (props.hide) {
refValue.value = '';
} else {
oldValue.value = values.refValue;
}
oldValue.value = values.refValue;
hideElem(oldValueElem);
hideElem(document.getElementById(`old-value-${props.property}-separator`)!);
showElem(document.getElementById(`change-${props.property}`)!);
Expand All @@ -108,11 +102,7 @@
} catch (e: any) {
console.log(e)
hideElem(spinner);
if (props.hide) {
refValue.value = '';
} else {
refValue.value = oldValue.value;
}
refValue.value = oldValue.value;
err.innerHTML = 'Error ' + e.code + ': ' + e.message;
showElem(err);
hideElem(success);
Expand All @@ -137,11 +127,7 @@
function onRestoreButton() {
isReadOnly.value = true;
if (props.hide) {
refValue.value = '';
} else {
refValue.value = oldValue.value;
}
refValue.value = oldValue.value;
showElem(document.getElementById(`change-${props.property}`)!);
hideElem(document.getElementById(`error-${props.property}`)!);
hideElem(document.getElementById(`success-${props.property}`)!);
Expand Down
57 changes: 9 additions & 48 deletions frontend/src/views/UserAreaView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
<UserProperty
:property="property"
:value="data![property as keyof User]"
:hide="newValueRules[property].hide"
:mutable="newValueRules[property].mutable"
:validation="newValueRules[property].validation"
/>
Expand All @@ -19,46 +18,32 @@
</template>

<script setup lang="ts">
import UserProperty from "@/components/UserPropertyComponent.vue";
import {onMounted, type Ref, ref} from "vue";
import PageTitle from "@/components/PageTitleComponent.vue";
import Breadcrumb from "@/components/BreadcrumbComponent.vue";
import * as yup from 'yup'
import router from "@/router";
import {type User} from "@/stores/user";
import {Role} from "@/commons/utils";
import UserProperty from "@/components/UserPropertyComponent.vue";
import {onMounted, type Ref, ref} from "vue";
import PageTitle from "@/components/PageTitleComponent.vue";
import Breadcrumb from "@/components/BreadcrumbComponent.vue";
import * as yup from 'yup'
import router from "@/router";
import {type User, useUserStore} from "@/stores/user";
const data: Ref<User | null> = ref(null);
const userStore = useUserStore();
onMounted(async () => {
await getUser();
});
async function getUser() {
try {
data.value = {
firstName: 'gianni',
secondName: 'giannini',
email: 'hs@ka.if',
role: Role.User,
}
// data.value = await userStore.getUserInfo();
for (const property of copyWithoutElement(Object.keys(newValueRules), 'role')) {
if (!(property in data.value)) {
data.value[property] = '';
}
}
console.log(data.value);
data.value = await userStore.getUserInfo();
} catch (e: any) {
console.error(e);
await router.push({name: "not-found"})
}
}
interface Rule {
validation: any,
mutable: boolean,
hide: boolean,
}
const newValueRules: {
Expand All @@ -67,44 +52,20 @@ import {Role} from "@/commons/utils";
'firstName': {
'validation': yup.string().required('Name must be at least 1 character long'),
'mutable': true,
'hide': false,
},
'secondName': {
'validation': yup.string().required('Surname must be at least 1 character long'),
'mutable': true,
'hide': false,
},
'email': {
'validation': undefined,
'mutable': false,
'hide': false,
},
'password': {
'validation': yup.string().min(8, 'Password must be at least 8 characters long').required('Password is required').matches(
/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])/,
'Password must contain at least one uppercase letter, one lowercase letter, one number and one special character'
),
'mutable': true,
'hide': true,
},
'role': {
'validation': undefined,
'mutable': false,
'hide': false,
}
};
const copyWithoutElement = (original: string[], elementToRemove: string) => {
let indexToRemove: number = original.indexOf(elementToRemove);
let newArray: string[] = original;
if (indexToRemove !== -1) {
newArray = original.slice(0, indexToRemove).concat(original.slice(indexToRemove + 1));
}
return newArray;
};
</script>

<style>
Expand Down

0 comments on commit 83d9888

Please sign in to comment.