1.11.8 • Published 8 months ago

versatus-arch-framework v1.11.8

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

Para fazermos as validações que são possiveis no versatusFK, primeiro precisamos criar um contexto, e dentro do contexto podemos chamar qualquer função do versatusFK, siga o exemplo abaixo:

import VersatusFK, { VersatusFKInterface } from 'versatus-fk';

VersatusFK.loginContext("NOME-DE-USUARIO", "SENHA", "METODO-DA-CHAMADA", async (fk: VersatusFKInterface)=>{
    //sua função

    //chamando metodos do versatusFK
    fk.validadeRole("foo");
    fk.setCache("key", "value");
});

Ha tambem outra forma de criarmos o contexto, no lugar de usuario e senha, utilizamos o accessToken informado no momento da autenticação:

import VersatusFK, { VersatusFKInterface } from 'versatus-fk';

VersatusFK.context("ACCESS-TOKEN", "METODO-DA-CHAMADA", async (fk: VersatusFKInterface)=>{
    //sua função

    //chamando metodos do versatusFK
    fk.validadeRole("foo");
    fk.setCache("key", "value");
});

com o contexto criado, podemos ver quais modulos podemos utilizar:

    fk.validate('FOO_TOGGLE', 'FOO_ROLE');

O metodo validate tambem valida se o accessToken é valido, e se ele esta expirado ou não.

É possivel tambem fazer validações especificas com os metodos:

    //apenas as validações referente a toggle;
    fk.validateToggle('FOO_TOGGLE');


    //validações apenas das permissoes do usuario
    fk.validadeRole('FOO_ROLE');


    validações referentes ao accessToken
    fk.validateToken();
    //retorna o accessToken
    fk.token();

    //retorna o id do usuario
    fk.loginId();

    //retorna o ambiente do servico que esta sendo executado, ex (DEV, HML, PRD)
    fk.environment();


    //obtem valores de variaveis de ambiente, ou do arquivo dev-environment.json
    fk.getEnv('FOO');
    //persistindo dado no cache por 1800 segundos, caso a chave não exista sera criada
    fk.setCache("key","value", 1800);

    //buscando dados do cache pela chave, caso a chave não exista retornara null
    fk.getCache("key");

    //apagando uma chave no cache
    fk.deleteCache("key);

No metodo setCache o parametro de tempo de expiração é opcional, caso ele não seja enviado o dado ficara em cache por 1 dia

    const result = await fk.getPgPool().query<IUser[]>('SELECT * FROM USER');

Esta query esta sendo executada no banco default, que foi adicionado na variavel de ambiente PG_DB_DATABASE

No exemplo a seguir, vemos como consultar outro banco:

    const config = {
        user: "PG_USERNAME",
        database: "DATABASE_NAME",
        password: "PG_PASSWORD",
        port: 5432,
        host: "PG_PASSWORD",
        ssl: false
    }

    const result = await fk.getPgPool(config).query<IUser[]>('SELECT * FROM USER');

Desta forma podemos acessar qualquer outro banco de dados.

    const result = await fk.cassandraDb().execute('SELECT * FROM user');

neste caso acima, estamos fazendo uma busca no keyspace default, mas podemos tambem consultar outros keyspaces como no exemplo abaixo:

    const result = await fk.cassandraDb('users_keyspace').execute('SELECT * FROM user');

Assim conseguimos consultar qualquer keyspace que esteja na mesma conexão o banco cassandra;

No exemplo a seguir podemos ver como enviar mensagem para uma fila chamada "FILA1":

    fk.sendToQueue('FILA1', "hello world");

Se a fila: "FILA1" não existir, ela sera criada.

É possivel enviar para a fila, apenas dados no formato de string

É possivel tambem consumir mensagens das filas:

    fk.queueConsumer('FILA1', (msg: ConsumeMessage | null)=>{
        if(msg){
            console.log(`content: ${msg.content.toString()}!!`);
        }
    })

Toda vez que for enviada uma mensagem para a fila FILA1, sera executada a função callback do metodo queueConsumer.

    fk.warning("message");
    fk.info("message");
    fk.error("message");
    fk.error("message", false);

Alem da mensagem, há tambem um segundo parametro que pode ser adicionado ao metodo, o parametro showLog, é um parametro booleano que define se o log sera exibido na tela ou não, por default ele é true, ou seja, caso o desenvolvedor não atribua o valor falso a este parametro, alem da mensagem de log ser enviada para o serviço de log, ela tambem sera exibida na tela.

    import { cache } from 'versatus-fk';

    cache.set("key", "value", 1800);
    const result = await cache.getVal("key");
    cache.del("key");

Neste caso, diferente de quando temos um contexto criado, no campo set, é obrigatorio adicionar um tempo de expiração em segundos para o dado que esta sendo adicionado ao cache.

    import { getPgPool } from 'versatus-fk';

    //banco de dados default do sistema
    const result = await getPgPool().query<IUser[]>('SELECT * FROM USER');


    //Banco de dados adicional
    const config = {
        user: "PG_USERNAME",
        database: "DATABASE_NAME",
        password: "PG_PASSWORD",
        port: 5432,
        host: "PG_PASSWORD",
        ssl: false
    }

    const result = await getPgPool(config).query<IUser[]>('SELECT * FROM USER');
    import { cassandraDb } from 'versatus-fk';

    //keyspace default do sistema
    const result = await cassandraDb().execute('SELECT * FROM user');


    //keyspace adicional
    const result = await cassandraDb('users_keyspace').execute('SELECT * FROM user');
    import { queue } from 'versatus-fk';
    
    //enviando um dado para a fila
    queue.sendToQueue("FILA1", "CONTENT");


    //consumindo um dado da fila
    queue.consumer('FILA1', (msg: ConsumeMessage | null)=>{
        if(msg){
            console.log(`content: ${msg.content.toString()}!!`);
        }
    });
    import { Log } from 'versatus-fk';
    
    Log.setWarning("message");
    Log.setInfo("message");
    Log.setError("message");


    //não exibir o log na tela
    Log.setInfo("message", false);
    import { getEnv } from 'versatus-fk';

    //Obtendo o valor da variavel de ambiente ENVIRONMENT
    const environment = getEnv("ENVIRONMENT");
    import { TokenCore } from 'versatus-fk';


    //atualizando o accessToken;
    const newAccessToken = await TokenCore.refreshToken("REFRESH_TOKEN");


    //gerando um accessToken a partir do usuario e senha
    const newAccessToken = await TokenCore.generateToken({username: "username", password: "password"});

    //obtendo as permissões do usuario para o client atual
    const roles: string[] = TokenCore.getRoles("ACCESS_TOKEN");

    //obtendo informacoes do usuario
    const userData = await TokenCore.getUserInfo("ACCESS_TOKEN");

    //validando se o token é valido, ou se expirou
    const result = await TokenCore.validateToken("ACCESS_TOKEN");
1.11.8

8 months ago

1.11.7

8 months ago

1.11.6

8 months ago

1.11.4

8 months ago

1.11.3

8 months ago

1.11.2

8 months ago

1.11.1

8 months ago

1.11.5

8 months ago

1.9.7

9 months ago

1.9.6

9 months ago

1.9.5

10 months ago

1.9.4

10 months ago

1.8.9

10 months ago

1.9.1

10 months ago

1.9.0

10 months ago

1.9.0-beta.5

10 months ago

1.9.0-beta.4

10 months ago

1.9.0-beta.3

11 months ago

1.9.0-beta.2

11 months ago

1.9.0-beta.1

11 months ago

1.8.2

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.8.8

11 months ago

1.8.7

11 months ago

1.8.6

12 months ago

1.8.5

12 months ago

1.8.4

1 year ago

1.8.3

1 year ago

1.7.86

1 year ago

1.7.87

1 year ago

1.7.88

1 year ago

1.7.82

1 year ago

1.7.83

1 year ago

1.7.84

1 year ago

1.7.85

1 year ago

1.7.76

1 year ago

1.7.77

1 year ago

1.7.78

1 year ago

1.7.79

1 year ago

1.7.80

1 year ago

1.7.81

1 year ago

1.7.71

1 year ago

1.7.72

1 year ago

1.7.73

1 year ago

1.7.74

1 year ago

1.7.75

1 year ago

1.7.70

1 year ago

1.7.67

1 year ago

1.7.68

1 year ago

1.7.69

1 year ago

1.7.63

1 year ago

1.7.64

1 year ago

1.7.65

1 year ago

1.7.66

1 year ago

1.7.58

1 year ago

1.7.59

1 year ago

1.7.60

1 year ago

1.7.61

1 year ago

1.7.62

1 year ago

1.7.52

1 year ago

1.7.53

1 year ago

1.7.54

1 year ago

1.7.55

1 year ago

1.7.56

1 year ago

1.7.57

1 year ago

1.7.50

1 year ago

1.7.51

1 year ago

1.7.47

1 year ago

1.7.48

1 year ago

1.7.49

1 year ago

1.7.44

1 year ago

1.7.45

1 year ago

1.7.46

1 year ago

1.7.34

1 year ago

1.7.35

1 year ago

1.7.36

1 year ago

1.7.37

1 year ago

1.7.38

1 year ago

1.7.39

1 year ago

1.7.40

1 year ago

1.7.41

1 year ago

1.7.42

1 year ago

1.7.43

1 year ago

1.7.33

1 year ago

1.7.31

1 year ago

1.7.32

1 year ago

1.7.28

1 year ago

1.7.29

1 year ago

1.7.30

1 year ago

1.7.23

1 year ago

1.7.24

1 year ago

1.7.25

1 year ago

1.7.26

1 year ago

1.7.27

1 year ago

1.7.22

1 year ago

1.7.17

1 year ago

1.7.18

1 year ago

1.7.19

1 year ago

1.7.20

1 year ago

1.7.21

1 year ago

1.7.15

1 year ago

1.7.16

1 year ago

1.7.13

1 year ago

1.7.14

1 year ago

1.7.12-beta

1 year ago

1.7.12-alpha

1 year ago

1.7.10

1 year ago

1.7.11

1 year ago

1.7.12

1 year ago

1.7.9

1 year ago

1.7.8

1 year ago

1.7.7

1 year ago

1.7.6

1 year ago

1.7.5

1 year ago

1.7.4

1 year ago

1.7.12-alpha1

1 year ago

1.7.3

1 year ago

1.7.2

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.6.9

1 year ago

1.6.7

1 year ago

1.6.4

1 year ago

1.6.3

1 year ago

1.6.6

1 year ago

1.6.5

1 year ago

1.6.2

1 year ago

1.6.0

1 year ago

1.5.9

1 year ago

1.5.8

1 year ago

1.5.7

1 year ago

1.5.6

1 year ago

1.5.5

1 year ago

1.5.4

1 year ago

1.5.3

1 year ago

1.5.2

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

1.4.9

1 year ago

1.4.8

1 year ago

1.4.7

1 year ago

1.4.6

1 year ago

1.3.7

1 year ago

1.4.5

1 year ago

1.4.4

1 year ago

1.3.5

1 year ago

1.4.3

1 year ago

1.4.2

1 year ago

1.3.3

1 year ago

1.4.1

1 year ago

1.4.0

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.9

1 year ago

1.1.8

1 year ago

1.0.9

1 year ago

1.1.7

1 year ago

1.0.8

1 year ago

1.1.6

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.1.4

1 year ago

1.0.5

1 year ago

1.1.3

1 year ago

1.0.4

1 year ago

1.1.2

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago