GithubHelp home page GithubHelp logo

rcc-system's People

Contributors

dependabot[bot] avatar goufix avatar lffg avatar

Stargazers

 avatar

Watchers

 avatar  avatar

rcc-system's Issues

Interface para Execução de Ações

Modelo:

function callAction (actionName: string, payload: any): Promise<boolean> {}

Função:

As ações serão chamadas para executar as devidas ações das demais APIs do Centro de Recursos Humanos. Tem um caráter de extrema importância para o devido funcionamento.

As actions são definidas em um relacionamento muitos para muitos entre as tabelas request_actions e request_types. Nota-se, portanto, que o que define as ações é o tipo do requerimento.

Cada dado na tabela das ações (request_actions) tem um dado enumerado que definirá o tempo de execução da ação:

ON_CREATE
ON_UPDATE
ON_REVIEW

Interface Geral do CRH

Modelo

const create = require('.../create.js')
const update = require('.../update.js')
const review = require('.../review.js')

module.exports = { create, update, review }

Um módulo que exporta os outros três, simples.

  • Feito?

Interface de Criação

Modelo:

function create (controller: RequestController, type: RequestType, payload: any): Promise<boolean> {}
  • Caso o booleano de retorno for false, a criação não foi realizada com êxito.

Funções:

  • Criar as requisições;
  • Chamar as actions do tipo ON_CREATE.

Permissões

As permissões substituirão os controles permissivos por grupos:

O funcionamento é simples:

  • Permissões serão atribuídas com relações N:N:
    • Companhias <-> Permissões
    • Grupos <-> Permissões
    • Posição <-> Permissões

Interface de Atualização

Modelo:

function update (request: Request, payload: any): Promise<boolean> {}
  • Caso o booleano de retorno for false, a atualização não foi realizada com êxito.

Funções:

  • Atualizar as requisições;
  • Chamar as actions do tipo ON_UPDATE.

Notas:

Condições para utilização:

  • A requisição não poderá ter sido aprovada ou negada pelo CRH. Deverá estar como pendente;

  • Somente o autor do requerimento poderá atualizar a requisição. Caso uma informação incorreta for encontrada, o membro do Centro de Recursos Humanos deverá, por regra, cancelar o requerimento.

  • Condições acima feitas.

Interface de Revisão

Modelo:

type Status = 'APPROVED' | 'PENDING' | 'REJECTED'

function review (request: Request, status: Status, payload: any): Promise<boolean> {}
  • Caso o booleano de retorno for false, a revisão não foi realizada com êxito.
  • No caso acima, o payload será usado para criar a revisão, na tabela request_reviews.

Funções:

  • Criar a revisão de um membro do CRH para uma determinada requisição.
  • Chamar as actions do tipo ON_REVIEW.

Notas:

Condições para utilização:

  • A requisição só poderá ser aprovada por um membro do CRH ou administrador;

  • Uma vez aprovada ou rejeitada por um membro do CRH, o requerimento não poderá ser revisto novamente. Se um erro for encontrado, caberá ao membro do Centro de Recursos Humanos criar um novo requerimento corrigindo os erros.

  • Condições acima feitas.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.