Skip to content

Commit

Permalink
refeito salvar meuperfil
Browse files Browse the repository at this point in the history
  • Loading branch information
waltereidi committed Oct 8, 2023
1 parent 3c288ad commit d0eaff0
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 106 deletions.
9 changes: 6 additions & 3 deletions resources/js/MeuPerfil/meuperfilController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ export class MeuPerfilController{
public api_token: string;
private apiRequest: ApiRequest;
private headers: object;
constructor(api_token: string ) {
private meuperfil : object ;
constructor(api_token: string , meuperfil:object ) {
this.api_token = api_token;
this.apiRequest = new ApiRequest;
this.headers = this.apiRequest.getDefaultHeaders(this.api_token);
this.meuperfil = meuperfil;
console.log(meuperfil);
}
somar( a:number , b:number ) : number {
return a+b ;
Expand All @@ -24,7 +27,7 @@ export class MeuPerfilController{
}
return {
id : dados.id ,
users_id : dados.users_id ,
users_id : this.meuperfil.users_id ,
introducao : dados.introducao??null ,
profile_picture : dados.profile_picture??null ,
datanascimento :dataFormatada,
Expand All @@ -45,7 +48,7 @@ export class MeuPerfilController{
genero: dados.genero??null,
idioma: dados.idioma??null,
urldownload: dados.urldownload,
users_id : dados.users_id,
users_id : this.meuperfil.users_id,
...this.headers
};
}
Expand Down
64 changes: 44 additions & 20 deletions resources/js/Store/meuperfilStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ export const meuperfilStore = defineStore('meuperfil',{
}
},
getters: {
getApiToken: (state) => {
return state.user.api_token;
},
getDataSource:(state) => {
return state.datasource ;
},
Expand All @@ -35,6 +32,9 @@ export const meuperfilStore = defineStore('meuperfil',{
},
getMessages:(state) => {
return state.messages;
},
getUsersId:(state)=>{
return state.user;
}

},
Expand All @@ -54,14 +54,15 @@ export const meuperfilStore = defineStore('meuperfil',{
this.user.meuperfil_id = meuperfil.meuperfil_id;
this.quantidadeLivros = quantidadeLivros ;
this.datasource = datasource ;
this.user.meuPerfilController = ref(new MeuPerfilController(api_token));

this.user.meuPerfilController = ref(new MeuPerfilController(api_token), meuperfil);
},
atualizarDataSource()
atualizarDataSource( quantidade:number, pagina:number)
{
this.messages.carregando = true ;
const dados = {
quantidade : 6 ,
pagina : 0 ,
quantidade : quantidade ,
pagina : pagina ,
meuperfil_id : this.user.meuperfil_id,
};
this.user.meuPerfilController.getDadosLivrosMeuPerfil(dados).then( response =>{
Expand All @@ -82,70 +83,94 @@ export const meuperfilStore = defineStore('meuperfil',{
this.messages.carregando = false ;
});
},
postLivros(datasource:object)
postLivros(dataSource:object)
{

let datasource = dataSource;
var retorno : number ;
this.message.carregando = true ;
const dados = this.user.meuPerfilController.getDadosLivros(datasource) ;
console.log(dados);
this.user.meuPerfilController.postLivros(dados).then((response)=>{
console.log(response);
if(response.status === 201){
this.message('sucesso');
this.atualizarDataSource();
this.atualizarDataSource( 6 , 0);
retorno = 201 ;
}else{
console.log(response);

this.message('erro');
retorno = 500 ;
}
}).catch( ()=>{
this.message('erro');
}).response( () =>{
retorno = 500;
}).finally( () =>{
this.message.carregando = false ;
return retorno ;
});

},
putLivros(datasource:object)
putLivros(datasource:object) : number
{
this.message.carregando = true ;


const dados = this.user.meuPerfilController.getDadosLivros(datasource) ;
var retorno:number ;
this.user.meuPerfilController.putLivros(dados).then((response)=>{
if(response.status === 200){
this.message('sucesso');
this.atualizarDataSource();
this.atualizarDataSource( 6 , 0);
retorno = 200 ;
}else{
if(response.status === 204){
this.message('alerta');
console.log(response);
retorno = 204;
}
else{
console.log(response);
this.message('erro');
retorno = 500 ;
}
}
}).catch( ()=>{
this.message('erro');
}).response( () =>{
return 500;
}).finally( () =>{
this.message.carregando = false ;
return retorno ;
});
},
deleteLivros(id:number)
deleteLivros(id:number): number
{
var retorno : number ;
this.message.carregando = true ;
const dados = this.user.meuPerfilController.getDeleteLivros(id);
this.user.meuPerfilController.deleteLivros(dados).then((response)=>{
if( response.status === 200 )
{
this.atualizarDataSource();
this.atualizarDataSource( 6 , 0);
retorno = 200 ;
}else{
console.log(response);
this.message('alert');
retorno = 204 ;
}

}).catch((response)=>{
console.log(response);
this.message('error');
retorno = 500 ;
}).finally(()=>{
this.messages.carregando= false;
return retorno ;
});
},
putMeuPerfil(datasource : object ){
putMeuPerfil(datasource : object ) : number
{
var retorno : number ;
this.message.carregando = true ;
const dados = this.user.meuPerfilController.getPutMeuPerfil(datasource);
this.user.meuPerfilController.putMeuPerfil(dados).then((response) =>{
Expand All @@ -166,10 +191,9 @@ export const meuperfilStore = defineStore('meuperfil',{
this.message('error');
}).finally((response)=>{
this.messages.carregando=false;
return retorno;
});
},



}

} );
4 changes: 1 addition & 3 deletions resources/js/Tests/MeuPerfil/meuperfilController.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,13 @@ import { ApiRequest } from '@/Utils/ApiRequest';
import { MeuPerfilDados } from '@/Entidades/meuperfilDados';
import { LivrosMeuPerfil } from '@/Entidades/livrosMeuperfil';

const meuperfilController = new MeuPerfilController('');
const meuperfilController = new MeuPerfilController('' , {'users_id':1});
const apiRequest = new ApiRequest;


test('getPutMeuPerfil', () => {
const dados: object = {
id: 1,
users_id: 1,
introducao: 'nova intro',
profile_picture: null,
datanascimento: '1993-12-29',
Expand Down Expand Up @@ -43,7 +42,6 @@ test('getDadosLivros', () => {
genero: null,
idioma: null,
urldownload: 'http://www.php.net',
users_id: 1,
};

const retorno: LivrosMeuPerfil = meuperfilController.getDadosLivros(dados);
Expand Down
44 changes: 4 additions & 40 deletions resources/js/components/MeuPerfil/CardGrid/CardContainer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,11 @@
import Card from "@/components/MeuPerfil/CardGrid/Card.vue";
import ModalFormularioAdicionar from "./Opcoes/ModalFormularioAdicionar.vue";
import Paginacao from "@/components/Utils/Paginacao.vue";
import Carregando from "@/components/Utils/Carregando.vue";
import Sucesso from "@/components/Utils/Sucesso.vue";
import Alerta from"@/components/Utils/Alerta.vue";
import Erro from '@/components/Utils/Erro.vue';
import { meuperfilStore } from "@/Store/meuperfilStore";
export default {
props : {
datasourcelivros : {
type : Object ,
required : false ,
},
quantidadelivros : {
type: Number ,
required : true ,
},
api_token : {
type: String ,
required : true ,
},
datasourcemeuperfil : {
type : Object ,
required : true,
}
},
data(){
return {
meuperfilStore : meuperfilStore(),
Expand All @@ -38,33 +16,21 @@ export default {
Card,
ModalFormularioAdicionar,
Paginacao,
Carregando ,
Sucesso ,
Erro,
Alerta ,
},
methods: {
childRetornaPaginacao(quantidade , multiplicador ){
childRetornaPaginacao(pagina , multiplicador ){
this.meuperfilStore.atualizarDataSource(pagina , multiplicador);
}
},
mounted(){
this.meuperfilStore.setUser(this.datasourcemeuperfil , this.api_token , this.quantidadelivros , this.datasourcelivros)
}
}
</script>
<template>
<Carregando :show="meuperfilStore.messages.carregando"></Carregando>
<Sucesso :show="meuperfilStore.messages.sucesso"></Sucesso>
<Erro :show="meuperfilStore.messages.erro"></Erro>
<Alerta :show="meuperfilStore.messages.alerta"></Alerta>

<div class="Container" >
{{ meuperfilStore.getApiToken }}

<div class="Container" >
<div class="Container--cardGridHeader">

<div class="Container--cardGridHeader__left">
<Paginacao :quantidade="meuperfilStore.getQuantidade" :multiplicador="6" :limitePaginacao="8" :travarPaginacao="meuperfilStore.getMessages.carregando"
v-if="meuperfilStore.quantidadelivros>6 && meuperfilStore.quantidadelivros!= null"
Expand All @@ -73,7 +39,6 @@ export default {
<div class="Container--cardGridHeader__right">
<ModalFormularioAdicionar></ModalFormularioAdicionar>
</div>

</div>
<div class="Container--cardContainer">

Expand All @@ -83,7 +48,6 @@ export default {
</div>
<div class="Container--cardContainerFooter">


</div>
</div>
</template>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export default {
idioma: '',
genero: '',
visibilidade : 1 ,
users_id : 0 ,
users_id : 0,
}
}
},
Expand All @@ -40,17 +40,14 @@ export default {
}
}
},
emits: ['modalAdicionarSucesso'],
methods: {
abrirModal() {
this.$store.commit('openModal');
this.showModal = true;
},
async enviarModalFormulario(){
await meuperfilStore.postLivros(this.dataSource);
enviarModalFormulario(){
this.meuperfilStore.postLivros(this.dataSource);
},
cancelarFormulario(): void {
this.limparFormulario();
Expand All @@ -67,7 +64,7 @@ export default {
editoras_nome: '',
autores_nome: '',
idioma: '',
genero: ''
genero: '',
};
}
},
Expand Down
Loading

0 comments on commit d0eaff0

Please sign in to comment.