StPfeffer / rusty-roads

A simple route manager application written in Rust
MIT License
0 stars 0 forks source link

Address CRUD #63

Closed StPfeffer closed 1 month ago

StPfeffer commented 1 month ago

Description

Implementação de DTOs, rotas e funções para criar, listar, buscar e excluir endereços.

Endpoints

Método Endpoint Descrição
GET /api/v1/addresses Lista todos os endereços.
GET /api/v1/addresses/:addressId Retorna o endereço referente ao ID informado.
POST /api/v1/addresses Cria um endereço.
DELETE /api/v1/addresses/:addressId Exclui o endereço referente ao ID informado.

Payloads

Listar todas os endereços

Response
{
    "addresses": [
        {
            "id": "a5ebaa5f-55f5-4672-9513-619864f1ecb2",
            "address": "Rua Pio XII",
            "number": "1701",
            "neighbourhood": "Neva",
            "reference": null,
            "complement": null,
            "zipCode": "85802175",
            "latitude": "0",
            "longitude": "0",
            "cityId": "aa715ece-654f-43a9-bb27-bab9f13f4922"
        }
    ],
    "results": 1
}

Buscar um endereço

Response
{
    "id": "a5ebaa5f-55f5-4672-9513-619864f1ecb2",
    "address": "Rua Pio XII",
    "number": "1701",
    "neighbourhood": "Neva",
    "reference": null,
    "complement": null,
    "zipCode": "85802175",
    "latitude": "0",
    "longitude": "0",
    "cityId": "aa715ece-654f-43a9-bb27-bab9f13f4922"
}

Criar um endereço

Request

[!Note] Os campos reference, complement, latitude e longitude não são obrigatórios, ou seja, não há necessidade de enviá-los.

{
    "address": "Rua Pio XII",
    "number": "1701",
    "neighbourhood": "Neva",
    "reference": "is-not-necessary",
    "complement": "is-not-necessary",
    "zipCode": "85802175",
    "latitude": "is-not-necessary",
    "longitude": "is-not-necessary",
    "cityId": "aa715ece-654f-43a9-bb27-bab9f13f4922"
}
Response
{
    "id": "a5ebaa5f-55f5-4672-9513-619864f1ecb2",
    "address": "Rua Pio XII",
    "number": "1701",
    "neighbourhood": "Neva",
    "reference": null,
    "complement": null,
    "zipCode": "85802175",
    "latitude": "0",
    "longitude": "0",
    "cityId": "aa715ece-654f-43a9-bb27-bab9f13f4922"
}

Excluir um endereço

Response
{
    "id": "a5ebaa5f-55f5-4672-9513-619864f1ecb2",
    "address": "Rua Pio XII",
    "number": "1701",
    "neighbourhood": "Neva",
    "reference": null,
    "complement": null,
    "zipCode": "85802175",
    "latitude": "0",
    "longitude": "0",
    "cityId": "aa715ece-654f-43a9-bb27-bab9f13f4922"
}

Type of change

Checklist