ufersa / plataforma-sabia

🐦 A Plataforma de Tecnologias do Semi-Árido Brasileiro 🌴
https://plataformasabia.com/
MIT License
35 stars 4 forks source link

Formulário de aquisição de tecnologia #365

Closed nichollasrennah closed 3 years ago

nichollasrennah commented 4 years ago

Feature Description

Quero adquirir essa tecnologia

form-aquisição


Acceptance criteria

Implementation Brief

Criação de novo esquema: technology_orders, com os campos:

Campo Descrição Tipo
user_id Usuário que adquiriu a tecnologia Inteiro
technology_id Tecnologia a ser adquirida Inteiro
quantity Quantidade de unidades da tecnologia Inteiro
use Uso da tecnologia Enum:['private','enterprise','local_government','provincial_government','federal_government','other']
funding Financiamento para aquisição Enum:['has_funding','wants_funding', 'no_need_funding']
comment Comentário String(Text)

Rotas

Método Rota Body Auth
POST technologies/:id/orders quantity (obrigatório), use(obrigatório), funding(obrigatório), comment Qualquer usuário logado com dados preenchidos
GET technologies/:id/orders N/A Permission: LIST_TECHNOLOGY_ORDERS or LIST_TECHNOLOGIES_ORDERS

Detalhes técnicos

  1. Criar novo middleware para checar se usuário tem todos os dados preenchidos. Ele pode ser utilizado para checar em determinadas rotas se é um requisito obrigatório para prosseguir com o fluxo.
  2. No endpoint POST technologies/:id/orders enviar um email para o pesquisador dono da tecnologia após o pedido de compra.
nicholasio commented 4 years ago

@nichollasrennah adicionando a tag "needs-design", você pretende fazer o design ou vai aguardar o novo bolsista?

nichollasrennah commented 4 years ago

Preciso conversar com algum pesquisador para saber quais dados eles vão querer obter nessa etapa.

nichollasrennah commented 3 years ago

Pronto @JoaoPauloSMoura agora pegue essa issue aqui, que são juntas com as issues #436 e #437

JoaoPauloSMoura commented 3 years ago

Pode deixar

JoaoPauloSMoura commented 3 years ago

@nichollasrennah validou essa issue no figma?

nichollasrennah commented 3 years ago

Sim. Aprovada.

JoaoPauloSMoura commented 3 years ago

show, irei partir para as próximas!

luizeboli commented 3 years ago

Só um detalhe sobre o ponto:

Criar novo middleware para checar se usuário tem todos os dados preenchidos. Ele pode ser utilizado para checar em determinadas rotas se é um requisito obrigatório para prosseguir com o fluxo.

Precisei fazer a mesma coisa no model User por uma necessidade do processo de curadoria, os campos obrigatórios são esses:

/**
 * Required fields for checking if registration is completed
 */
const required_fields = [
    'full_name',
    'email',
    'company',
    'cpf',
    'birth_date',
    'phone_number',
    'lattes_id',
    'zipcode',
    'address',
    'district',
    'city',
    'state',
    'country',
];