Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recriar rota POST para cadastro da Ordem de Serviço #73

Open
2 tasks done
oxechicao opened this issue Jun 15, 2020 · 0 comments · Fixed by #100
Open
2 tasks done

Recriar rota POST para cadastro da Ordem de Serviço #73

oxechicao opened this issue Jun 15, 2020 · 0 comments · Fixed by #100
Assignees
Labels
back M Esforço médio de desenvolvimento v2 Relase 2.x.x

Comments

@oxechicao
Copy link
Contributor

oxechicao commented Jun 15, 2020

Objetivo

Eu como como usuário da API
Quero enviar uma lista de ordens de serviço via POST na rota v2/service_orders
Para que eu possa cadastrar as ordens de serviço na nova arquitetura

Contexto

As rotas das ordens de serviços foram feitas em uma forma não convencional criadas de acordo com a necessidade.
Para se alinhar à nova arquitetura, uma refatoração para a v2 da API é necessária.

Fora de Contexto

Criar rotas de GET, PUT, PATCH, DELETE

Critérios de aceitação

  • Dado que Eu quero inserir novos documentos a partir do envio de um array
    Quando efetuar o POST na rota /v2/service_orders com um json contendo um array de documentos
    Então receber como resposta uma lista de _id sem o $oid, com status 201

  • Dado que Eu quero visualizar uma mensagem de erro caso algum campo esteja errado em alguma ordem de serviço na lista de documentos enviados para salvar
    Quando efetuar o POST na rota /v2/service_orders com um json contendo um array de documentos
    Então retornar Status 400 Bad Request e um json contendo um dicionário chave: valor onde a chave é o índice do array que contém o erro e o valor os erros descritos na validação utilizando marshmallow

Observações

Arquitetura de referência #49

JSON de modelo geral da ordem de serviço

  • Campos não obrigatórios, mas validar se os campos forem enviados:
    • triagem
      • acessorios
    • diagnostico
      • itens
    • calibragem
{
    "equipamento_id": "ObjectId do equipamento",
    "numero_ordem_servico": "string com 4 caracteres, sendo 0 a esquerda | required",
    "created_at": "$date | not required",
    "updated_at": "$date | not required",
    "status": "string | required",
    "triagem": {
        "estado_de_conservacao": "string | required",
        "foto_antes_limpeza": "string | not required",
        "foto_apos_limpeza": "string | not required",
        "acessorios": [
            {
                "item_id": "ObjectId do item | required",
                "estado_de_conservacao": "string | not required",
                "quantidade": "number | required",
                "acompanha": "bool | required"
            },
            "..."
        ]
    },
    "diagnostico": {
        "resultado_tecnico": "string | required",
        "demanda_servicos": "string | not required",
        "observacoes": "string | not required",
        "itens": [
            {
                "item_id": "ObjectId do item | required",
                "quantidade": "number | required"
            },
            "..."
        ]
    },
    "calibragem": {
        "status": "string | required"
    }
}
@oxechicao oxechicao added back v2 Relase 2.x.x labels Jun 15, 2020
@lauralucca lauralucca added the M Esforço médio de desenvolvimento label Jun 19, 2020
denisousa added a commit that referenced this issue Jun 24, 2020
…uired/fields)

Alguns arquivos fora do escopo descrito no card tiveram de ser alterados. Ainda não começamos a usar o repository, pois haveria conflito da arquitetura da v2 proposta inicialmente com a  da atual.
Adrilene added a commit that referenced this issue Jun 25, 2020
…com validações de Ids de equipamento e item.
@Adrilene Adrilene linked a pull request Jun 25, 2020 that will close this issue
3 tasks
Adrilene added a commit that referenced this issue Jun 29, 2020
* [@adrilene/@denisousa] Issue #73 - Iniciando testes.

* [@Adrilene/@denisousa] issue #73 atualizacao no requirements

* [@Adrilene/@denisousa] issue #73 validacao do post

* [@Adrilene/@denisousa] issue #73 validacao com schemas

* [@adrilene/@denisousa] issue #73 WIP testes do post

* [@adrilene/@denisousa] Issue #73 - Testes de validação.

* [@adrilene/@denisousa] Issue #73 - Iniciando registro da ordem de serviço.

* [@adrilene/@denisousa] issue #73 alterações no model e no schema (required/fields)

Alguns arquivos fora do escopo descrito no card tiveram de ser alterados. Ainda não começamos a usar o repository, pois haveria conflito da arquitetura da v2 proposta inicialmente com a  da atual.

* [@adrilene/@denisousa] Issue #73 - Inserção de nova ordem de serviço com validações de Ids de equipamento e item.

* [@adrilene/@denisousa] Issue #73 - Resolvendo comentários do PR.

* [@adrilene/@denisousa] Issue #73 - Correção testes de itens.

Co-authored-by: Denis Menezes <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
back M Esforço médio de desenvolvimento v2 Relase 2.x.x
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants