/Job_API

Back-End | API para empregabilidade (Node.js, Express.js, TypeScript, TypeORM, PostgreSQL)

Primary LanguageTypeScript

Job_API | API REST (Back-end) de serviços de empregabilidade


Endpoints (Nenhuma rota precisa de autenticação no momento)


Listando trabalhadores


GET /employees - FORMATO DA RESPOSTA - STATUS 200

[
    {
        "id": "46be8c58-e512-4f47-8b01-bb3775f14650",
        "name": "matheus",
        "email": "matheus1111@gmail.com",
        "jobs": [
            {
                "id": "91db49c6-6ab8-45b9-9d69-fdcd39feee5b",
                "name": "software engineer",
                "level": "pleno"
            }
        ]
    }
]


  • Podemos acessar um trabalhador específico utilizando o endpoint:

  • GET /employees/:employee_id - FORMATO DA RESPOSTA - STATUS 200

    [
        {
            "id": "a4dd2b88-d087-4834-bf18-0a8f442765ec",
            "name": "filipe",
            "email": "filipe@gmail.com",
            "jobs": []
        }
    ]


  • Criação de um trabalhador:

  • POST /employees - FORMATO DA REQUISIÇÃO

    {
        "name": "matheus",
        "password": "matheus",
        "email": "matheus1111@gmail.com"
    }

    Caso dê tudo certo, a resposta será assim:

    POST /employees - FORMATO DA RESPOSTA - STATUS 201

    {
        "id": "2a145ef5-cfee-4ecf-8062-c3cf37f81259",
        "name": "matheus",
        "email": "matheus@gmail.com"
    }


  • Podemos integrar um trabalho a um trabalhador usando o endpoint:

  • POST /employees/jobs - FORMATO DA REQUISIÇÃO

    {
        "id_job": "91db49c6-6ab8-45b9-9d69-fdcd39feee5b",
        "id_person": "46be8c58-e512-4f47-8b01-bb3775f14650"
    }

    Caso dê tudo certo, a resposta será assim:

    POST /employees/jobs - FORMATO DA RESPOSTA - STATUS 201

    [
        {
            "id": "46be8c58-e512-4f47-8b01-bb3775f14650",
            "name": "matheus",
            "email": "matheus1111@gmail.com",
            "jobs": [
                {
                    "id": "91db49c6-6ab8-45b9-9d69-fdcd39feee5b",
                    "name": "software engineer",
                    "level": "pleno"
                }
            ]
        }
    ]
  • Atualização de um trabalhador:

  • PATCH /employees - FORMATO DA REQUISIÇÃO

    {
        "password": "lucas",
        "email": "lucas@gmail.com",
        "name": "lucas"
    }

    Caso dê tudo certo, a resposta será assim:

    PATCH /employees - FORMATO DA RESPOSTA - STATUS 201

    {
        "id": "2a145ef5-cfee-4ecf-8062-c3cf37f81259",
        "name": "lucas",
        "email": "lucas@gmail.com"
    }
  • Podemos deletar um trabalhador específico utilizando o endpoint:

  • DELETE /employees/:employee_id - FORMATO DA RESPOSTA - STATUS 204

    {}


    Listando trabalhos


    GET /jobs - FORMATO DA RESPOSTA - STATUS 200

    [
        {
            "id": "91db49c6-6ab8-45b9-9d69-fdcd39feee5b",
            "name": "software engineer",
            "level": "pleno",
            "employees": [
                {
                    "id": "46be8c58-e512-4f47-8b01-bb3775f14650",
                    "name": "matheus",
                    "email": "matheus1111@gmail.com"
                }
            ]
        },
        {
            "id": "c334e3b0-6a5b-4996-8626-a5e93640d51c",
            "name": "software engineer",
            "level": "júnior",
            "employees": []
        }
    ]


  • Podemos acessar um trabalho específico utilizando o endpoint:

  • GET /jobs/:job_id - FORMATO DA RESPOSTA - STATUS 200

    [
        {
            "id": "91db49c6-6ab8-45b9-9d69-fdcd39feee5b",
            "name": "software engineer",
            "level": "pleno",
            "employees": [
                {
                    "id": "46be8c58-e512-4f47-8b01-bb3775f14650",
                    "name": "matheus",
                    "email": "matheus1111@gmail.com"
                }
            ]
        }
    ]


  • Criação de um trabalho:

  • POST /jobs - FORMATO DA REQUISIÇÃO

    {
        "name": "software engineer",
        "level": "pleno"
    }

    Caso dê tudo certo, a resposta será assim:

    POST /jobs - FORMATO DA RESPOSTA - STATUS 201

    {
        "name": "software engineer",
        "level": "pleno",
        "id": "91db49c6-6ab8-45b9-9d69-fdcd39feee5b"
    }


  • Atualização de um trabalho:

  • PATCH /jobs/:job_id - FORMATO DA REQUISIÇÃO

    {
        "name": "SOFTWARE ENGINEER",
        "level": "Sênior"
    }

    Caso dê tudo certo, a resposta será assim:

    PATCH /jobs/:job_id - FORMATO DA RESPOSTA - STATUS 201

    {
        "id": "028ee457-fb01-44e2-b537-bb257bc9ed22",
        "name": "software engineer",
        "level": "sênior"
    }
  • Podemos deletar um trabalho específico utilizando o endpoint:

  • DELETE /jobs/:job_id - FORMATO DA RESPOSTA - STATUS 204

    {}

    By Alfredo Neto