Projeto em Laravel, CRUD para atender a modelagem e autenticação com Sanctum.
- Composer getcomposer.org
- PHP:
^8.0.2
- Execute
composer install
para instalar as dependências - Execute
cp .env.example .env
para criar o.env
- Configure o banco de dados no
.env
criado e insira um valor emAPI_KEY
- Execute
php artisan key:generate
para gerar a chave de criptografia - Execute
php artisan migrate
para gerar as tabelas, ou se preferir executephp artisan migrate:fresh --seed
para gerar as tabelas populadas com dados de exemplo - Para iniciar o servidor execute
php artisan serve
Por padrão o Token está para expirar a cada 24 horas, você pode alterar em
Project\config\sanctum.php:41
Todos os endpoints com
update
estore
são necessários permissão deadmin
na tabelauser
(Exceto o endpointauth
euser
)
-
/auth
- POST
/login
: Entra em uma conta com os dados informados- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- body
- REQUIRED
email
: E-mail do usuário - REQUIRED
password
: Senha do usuário
- REQUIRED
- headers
- POST
/register
: Registra um novo usuário com os dados informados- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- body
- REQUIRED
first_name
: Primeiro nome do usuário - REQUIRED
last_name
: Último nome do usuário - REQUIRED
email
: E-mail do usuário - REQUIRED
password
: Senha do usuário
- REQUIRED
- headers
- POST
/logout
: Sai da conta do Token informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- headers
- POST
-
/user
- GET
/
: Obtém todos os usuários- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- headers
- GET
/{id}
: Obtém o usuário doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- request
- REQUIRED
id
: ID do usuário
- REQUIRED
- headers
- POST
/{id}
: Atualiza o usuário doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do usuário
- REQUIRED
- body
- OPTIONAL
first_name
: Primeiro nome do usuário - OPTIONAL
last_name
: Último nome do usuário - OPTIONAL
email
: E-mail do usuário - OPTIONAL
password
: Senha do usuário - OPTIONAL
status
: Usuário ativo ou não - OPTIONAL
admin
: Usuário é administrador ou não - OPTIONAL
company_id
: ID da empresa em que o usuário está lotado
- OPTIONAL
- headers
- DELETE
/{id}
: Deleta o usuário doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do usuário
- REQUIRED
- headers
- GET
-
/company
- GET
/
: Obtém todas as empresas- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- headers
- GET
/{id}
: Obtém a empresa doid
informado- request
- REQUIRED
id
: ID da empresa
- REQUIRED
- request
- POST
/{id}
: Atualiza a empresa doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID da empresa
- REQUIRED
- body
- OPTIONAL
address
: Endereço da empresa - OPTIONAL
phone
: Endereço da empresa - OPTIONAL
email
: Endereço da empresa - OPTIONAL
status
: Endereço da empresa
- OPTIONAL
- headers
- POST
/
: Adiciona uma nova empresa com os dados informados- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- body
- REQUIRED
address
: Endereço da empresa - REQUIRED
phone
: Endereço da empresa - REQUIRED
email
: Endereço da empresa
- REQUIRED
- headers
- DELETE
/{id}
: Deleta a empresa doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID da empresa
- REQUIRED
- headers
- GET
-
/product
- GET
/
: Obtém todos os produtos- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- headers
- GET
/{id}
: Obtém o produto doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- request
- REQUIRED
id
: ID do produto
- REQUIRED
- headers
- POST
/{id}
: Atualiza o produto doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do produto
- REQUIRED
- body
- OPTIONAL
name
: Nome do produto - OPTIONAL
description
: Descrição do produto - OPTIONAL
model
: Modelo do produto - OPTIONAL
brand
: Marca do produto - OPTIONAL
price
: Preço do produto - OPTIONAL
stock
: Quantidade de produto no estoque - OPTIONAL
status
: Produto ativo ou não
- OPTIONAL
- headers
- POST
/
: Adiciona um novo produto com os dados informados- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- body
- REQUIRED
name
: Nome do produto - REQUIRED
description
: Descrição do produto - REQUIRED
model
: Modelo do produto - REQUIRED
brand
: Marca do produto - REQUIRED
price
: Preço do produto - REQUIRED
stock
: Quantidade de produto no estoque
- REQUIRED
- headers
- DELETE
/{id}
: Deleta o produto doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do produto
- REQUIRED
- headers
- GET
-
/companyproduct
- GET
/
: Obtém todos os produtos de todas as empresas- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- headers
- GET
/{id}
: Obtém o produto da empresa doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- request
- REQUIRED
id
: ID do produto da empresa
- REQUIRED
- headers
- GET
/company/{id}
: Obtém o produto da empresa peloid
da empresa informada- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- request
- REQUIRED
id
: ID da empresa
- REQUIRED
- headers
- POST
/{id}
: Atualiza o produto da empresa doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do produto da empresa
- REQUIRED
- body
- OPTIONAL
sell_period
: Data e hora de até quando o produto está disponível para venda - OPTIONAL
product_id
: ID do produto - OPTIONAL
company_id
: ID da empresa
- OPTIONAL
- headers
- POST
/
: Adiciona um novo produto da empresa com os dados informados- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- body
- REQUIRED
sell_period
: Data e hora de até quando o produto está disponível para venda - REQUIRED
product_id
: ID do produto - REQUIRED
company_id
: ID da empresa
- REQUIRED
- headers
- DELETE
/{id}
: Deleta o produto da empresa doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do produto da empresa
- REQUIRED
- headers
- GET
-
/userproduct
- GET
/
: Obtém todos os produtos de todos os usuários- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- headers
- GET
/{id}
: Obtém o produto do usuário doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- request
- REQUIRED
id
: ID do produto do usuário
- REQUIRED
- headers
- GET
/user/{id}
: Obtém o produto do usuário peloid
do usuário informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
- request
- REQUIRED
id
: ID do usuário
- REQUIRED
- headers
- POST
/{id}
: Atualiza o produto do usuário doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do produto do usuário
- REQUIRED
- body
- OPTIONAL
enable
: Se o usuário pode ou não vender o produto - OPTIONAL
product_id
: ID do produto - OPTIONAL
user_id
: ID do usuário
- OPTIONAL
- headers
- POST
/
: Adiciona um novo produto do usuário com os dados informados- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- body
- REQUIRED
enable
: Se o usuário pode ou não vender o produto - REQUIRED
product_id
: ID do produto - REQUIRED
user_id
: ID do usuário
- REQUIRED
- headers
- DELETE
/{id}
: Deleta o produto do usuário doid
informado- headers
- REQUIRED
x-api-key
: API Key configurada no.env
- REQUIRED
Authorization
:Bearer {USER_TOKEN}
: Token do usuário
- REQUIRED
- request
- REQUIRED
id
: ID do produto do usuário
- REQUIRED
- headers
- GET