new ProductManager()
Classe que permite criação e o controle dos produtos/módulos desenvolvidos no sistema.
Ao criar um produto é reservada uma faixa única de chaves negativas que é associada ao nome do produto. O registro de um produto é público, global e distribuído em conjunto com Engine.
Após a criação do produto, a empresa desenvolvedora deve escolher uma base para ativar o seu desenvolvimento. Essa base será responsável por criar os registros de chave negativa que irão compor o produto desenvolvido e também será utilizada para criar licenças de uso para os eventuais clientes usuários desse produto.
Methods
-
<static> getInstance()
-
Obtém uma instância compartilhada desta classe.
Returns:
- Type
- ProductManager
-
authenticatePassword(product, password)
-
Verifica se a senha mestre de um produto habilitado para desenvolvimento está correta.
Parameters:
Name Type Description productnumber Chave do produto a ser verificado.
passwordstring Senha mestre do produto.
Returns:
True se a senha informada está correta.
- Type
- boolean
-
changePassword(product, currentPassword, newPassword)
-
Altera a senha mestre de um produto habilitado para desenvolvimento.
Parameters:
Name Type Description productnumber Chave do produto a ser ter a senha mestre alterada.
currentPasswordstring Senha mestre atual do produto.
newPasswordstring Nova senha mestre do produto.
-
createProduct(productIndo, userId, password)
-
Cria um novo produto do sistema.
Parameters:
Name Type Argument Description productIndoObject Dados do produto a ser criado.
Properties
Name Type Argument Description namestring Nome do produto.
keyQuantitynumber Quantidade de chaves negativas reservadas ao produto.
keyListstring <optional>
Lista de chaves que fazem parte do produto, mas não compõem a faixa de chaves.
productInfo.requiredProductsnumber | string <optional>
Chave ou uma lista de chaves separada por "," dos produtos que são requeridos para o funcionamento do produto a ser criado.
productInfo.keynumber <optional>
A chave do produto a ser criado. Ela deve ser informada apenas quando se deseja reaproveitar ou recriar um produto existente.
productInfo.baseKeynumber <optional>
Menor chave da faixa de chaves a ser reservada para o produto. Ela deve ser informada apenas quando se deseja reaproveitar ou recriar um produto existente.
productInfo.publicKeystring <optional>
Chave pública RSA no formato PEM associada ao produto. Uma par de chaves RSA pode ser gerada para permitir a encriptação de dados que podem ser descriptografados apenas se uma base estiver licenciada com este produto. A chave privada é secreta e de conhecimento exclusivo do desenvolvedor do produto. A chave pública deve ser informada nesta propriedade no momento da criação do produto. A chave privada do desenvolvedor deve ser guardada em segurança, pois ela será exigida pelo método module:@nginstack/engine/lib/license/LicenseManager~LicenseManager#encryptLicensedData ao criptografar um dado associado ao licenciamento do produto.
userIdstring Nome ou e-mail do usuário com permissão para criar registros no produto Engine.
passwordstring Senha do usuário com permissão para criar registros no produto Engine.
Returns:
Texto codificado com os dados sobre o produto criado. Essa string deve ser guardada com segurança, pois será requerida como parâmetro para o método #enableDevelopment na base de dados que será utilizada para desenvolver o produto.
- Type
- string
-
enableDevelopment(productStream, password)
-
Ativa o desenvolvimento de um produto na base de dados corrente. Essa base se tornará responsável por controlar a geração de chaves negativas associada a esse produto.
Importante: um produto pode ser ativo em uma única base de dados. Caso um produto seja ativo em mais de uma base de dados, poderão ocorrer problemas de geração de chaves negativas duplicadas.
Parameters:
Name Type Description productStreamstring Texto codificado contendo detalhes sobre o produto a ser habilitado. Ele é gerado pelo método #createProduct.
passwordstring Senha mestre do produto que será habilitado. Guarde essa senha com segurança, pois ela será exigida ao configurar os desenvolvedores habilitados a modificar o produto e na criação de licenças de uso.
-
getChangeableProducts(userKey)
-
Obtém as chaves dos produtos que podem ser modificados pelo usuário informado.
Parameters:
Name Type Description userKeynumber Chave do usuário.
Returns:
Chaves dos produtos que podem ser modificados.
- Type
- Array
-
getProductFromKey(key)
-
Obtém a chave do produto ao qual uma chave pertence.
Parameters:
Name Type Description keynumber A chave cujo produto se deseja obter.
Returns:
A chave do produto ao qual a chave pertence. Se a chave informada for positiva, será retornado um valor nulo.
- Type
- number | null
-
getProductNameFromKey(key)
-
Obtém o nome do produto ao qual uma chave pertence.
Parameters:
Name Type Description keynumber A chave cujo produto se deseja obter.
Returns:
Nome do produto ao qual a chave pertence. Será retornada uma string vazia se a chave informada for positiva ou se ela não estiver associada a um produto.
- Type
- string
-
isDevelopmentEnabled(product)
-
Verifica se o desenvolvimento do produto informado está ativo na base de dados corrente.
Parameters:
Name Type Description productnumber | DBKey Chave do produto a ser verificado.
- See:
Returns:
True se o desenvolvimento do produto informado está ativo na base de dados
- Type
- boolean
-
setChangeableProducts(userKey, products, passwords)
-
Define os produtos que poderão ser modificados pelo usuário informado.
Parameters:
Name Type Description userKeynumber Chave do usuário.
productsArray Array com as chaves dos produtos. Informe "null" para retirar o poder de alteração do usuário.
passwordsArray Array com as senhas mestres dos produtos.
-
userCanChangeRecord(recordKey, userKey)
-
Verifica se o registro associado a um produto do sistema pode ser alterado pelo usuário.
Este método não verifica as permissões associadas às classes de dados do sistema, se restringindo apenas à verificar se o usuário é um desenvolvedor autorizado a modificar o produto associado à chave.
Chaves associadas aos produtos do sistema são valores inteiros negativos. Este método sempre retornará
truese for informada uma chave positiva.Parameters:
Name Type Description recordKeynumber | DBKey Chave do registro associado a um produto do sistema.
userKeynumber | DBKey Chave do usuário que terá a permissão verificada.
Returns:
True se o usuário informado for um desenvolvedor autorizado a modificar o registro ou se a chave for um valor positivo.
- Type
- boolean