Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prezado(a),
Segue plugin para favoritar e desfavoritar um Post.
Criei o plugin com apenas 3 arquivos para facilitar a compreensão. São eles:
Classe onde no construtor criamos e excluímos a tabela [prefixo]-favorite. A tabela é simples e contem o postID e o userID, alem da sua própria chave.
Na classe, também inicializamos os actions e os filters. Para a interface cliente, inseri na lista de Posts um checkbox para favoritar.
apiki-rest-favorite-script.js é onde o Jquery escuta os eventos do checkbox, e gera a chamada REST (Get, Post, Delete) para as rotas, passando o nonce no cabeçalho e o usuário por JSON.
apiki-rest-favorite-route-controller.js Classe que define o namespace, registra as 3 rotas.
3.1) GET tem a rota /apikirestfavorite/v1/posts/postid/userid
3.2) POST e DELETE tem a rota /apikirestfavorite/v1/posts/postid, ambas com controle do usuário por nonce
Caso tente fazer a chamada por um cliente REST (insomnia, postman...) é gerado um status 401 - usuário não autorizado ou não logado.
Como a especificação do desafio era um tanto abrangente, penso que esse plugin atender a prova de conceito e funcionalidade dentro do que foi proposto.
Att,
Werner Max