npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

v4h

v0.1.48

Published

(V4H) Video For Health Client Library

Downloads

255

Readme

V4H

npm version NPM npm npm bundle size

Biblioteca para o serviço de vídeoconferência segura para saúde, essa aplicação permite colocar em um sistema web já existente vídeo chamadas além de um controle de acesso complexo, onde você é possível delimitar ações dos usuários dependendo do seu papel. Para mais informações clique aqui.

Sumário

Features

  • Controle de organizações e unidades organizacionais
  • Controle de usuários
  • Funcionalidades dentro da conferências configuráveis
  • Customização de interface configurável
  • Gravação da videoconferência client-side e server-side
  • Storage de vídeos gravados
  • Criação de um manifesto de todas as ações ocorridas dentro da conferência
  • Manifesto salvo em blockchain
  • Integração com serviços de blockchain privadas
  • Armazenamento de arquivos

Instalação

Usando npm:

$ npm install v4h

Usando yarn:

$ yarn add v4h

Client API

A client API deve ser definida da seguinte forma para ser utilizada:

import V4H from 'v4h';
const v4h = V4H(options);

Options:

  • apiKey: [opcional] chave da organização
  • baseUrl: [opcional] url do servidor da API
  • domain: [opcional] servidor de videoconferência
  • login: [opcional] string de identificação para login no sistema
  • password: [opcional] senha para login no sistema
  • token: [opcional] token de acesso

Após o setup você estará disponível para accessar as classes que serão descritas abaixo.

Requisitar videoconferência

Método responsável por criar uma sessão de

import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });

const data = {
  profile: 'DEFAULT',
  skin: 'DEFAULT',
  org: 'org',
  orgUnit: 'orgUnit',
  joinPolicy: 'PUBLIC',
  listPolicy: 'PUBLIC'
}

const session = v4h.session.create(data).then((response) => {
  console.log(response);
});

data:

  • org: Identificador da organização
  • orgUnit: Identificador da unidade organizacional
  • profile: Identificador do profile
  • skin: Identificador do skin da conferência
  • joinPolicy: [opcional] Para acessar (entrar), as seguintes políticas podem ser usadas:
    • ORG: indica que a sessão somente pode acessada por algum usuário da organização
    • ORGUNIT: somente pode acessada por usuários das unidades organizacionais listadas no atributo allowJoinOu
    • RESTRICT: indica que a sessão somente pode ser acessada por usuários previamente cadastrados
    • PUBLIC: Indica que o acesso à sessão não requer um usuário credenciado
    • SESSIONPWD: entra apenas informando a password da sessão
  • listPolicy: [opcional] Define como a sessão é enxergada por usuários cadastrados ou públicos na internet.
    • PUBLIC: a sessão pode aparecer em uma lista pública
    • SHARED: a sessão pode aparecer em uma lista apenas para usuários da organização
    • PRIVATE: a sessão nunca aparece em listas, exceto com autenticação de usuários e permissão verificada para listar
  • password: [opcional] senha de acesso da sessão
  • allowJoinOu: [opcional] array de unidades organizacionais

Retorno:

{
  id: 1
}

Iniciar videoconferência

Método para iniciar a conferência em uma div do sistema que está sendo utilizado, esse método não está disponível se for executado utilizando node.

import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });

const sessionName = 'skjdhfsjhbfw3fs';

const options = {
  parentNode: document.getElementById('meet'), 
  userInfo: { 
    displayName: 'Leoberto' 
  }
}

v4h.session.startConference(sessionName, options).then((response) => {
  console.log(response);
});

options

  • parentNode: div html onde deverá ser colocado a videoconferência
  • width: [opcional] tamanho em pixels da largura da tela de vídeo conferência
  • height: [opcional] tamanho em pixels da altura tela de vídeo conferência
  • startWithAudioMuted [opcional] booleano para iniciar com audio habilitado ou desabilitado
  • startWithVideoMuted [opcional] booleano para iniciar com video habilitado ou desabilitado
  • shareLink [opcional] link que será inserido no botão de compartilhar
  • buttons [opcional] array de botões que serão exibidos na tela
  • userInfo: [opcional] objeto com informações do usuário
    • displayName: [opcional] nome do usuário que será mostrado na tela
  • onLoad [opcional] callback que será executado na abertura da sessão
  • onClose [opcional] callback que será executado no encerramento da sessão
  • onParticipantLeft [opcional] callback para quando um participante sai da conferência
  • onModeratorReject [opcional] callback para quando o moderador rejeitar entrada

Encerrar videoconferência

Método para encerrrar uma conferência, esse método não está disponível se for executado utilizando node e só terá efeito quando a conferência já estiver aberta.

import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });

v4h.session.stopConference().then(() => {
  console.log('ok');
});

Listar videoconferências

Método responsável por recuperar todas as sessões criadas.

import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });

v4h.session.list().then((sessions) => {
  console.log(sessions);
});

Retorno:

metadata: {
  offset: 0,
  items: 1,
  total: 1
},
records: [{
  id: 5,
  profile: 1,
  skin: 1,
  org: 9,
  orgUnit: 9,
  service: 15,
  status: "CLOSED",
  firstJoin: "2022-05-31T19:36:16.000Z",
  started: "2022-05-31T19:37:14.000Z",
  finished: "2022-05-31T19:37:55.369Z",
  short: "iwh6m725yn8t9ukz",
  joinPolicy: "PUBLIC",
  listPolicy: "PUBLIC",
  allowJoinOu: null,
  enabled: true,
  created: "2022-05-31T19:17:28.382Z",
  updated: "2022-05-31T19:37:55.374Z"
}]

Recuperar videoconferência

Método responsável por recuperar informações de uma única sessão.

const v4h = new V4H({ apiKey: 'APIKEY' });
const session = 'sks3lf6lhxqt2a1j';

v4h.session.get(sessionId).then((session) => {
  console.log(session);
});

Retorno:

{
  id: 2,
  profile: 1,
  skin: 1,
  org: 1,
  orgUnit: 1,
  status: 'READY',
  firstJoin: null,
  started: null,
  finished: null,
  short: 'sks3lf6lhxqt2a1j',
  joinPolicy: 'PUBLIC',
  listPolicy: 'PUBLIC',
  allowJoinOu: null
}

Deletar videoconferência

Método responsável por deletar uma sessão.

const v4h = new V4H({ apiKey: 'APIKEY' });
const session = 'ksdh8127hdi872';

v4h.session.delete(session);