From 57733598793289de9add6744943d6d05320afd9b Mon Sep 17 00:00:00 2001 From: Bruno Gasparetto Date: Sat, 16 Mar 2024 12:30:07 -0400 Subject: [PATCH 1/5] Adiciona a classe Integer de Java --- src/java/lang.d.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/java/lang.d.ts b/src/java/lang.d.ts index dda7dd4..122e220 100644 --- a/src/java/lang.d.ts +++ b/src/java/lang.d.ts @@ -177,4 +177,16 @@ declare namespace java.lang { */ digit(c: number, radix: number): number; } + + declare class Integer extends Object { + /** + * Converte a String em Integer + */ + valueOf(value: String): Integer; + + /** + * Converte a String em int + */ + parseInt(value: String): number; + } } From ffec76c6b60c57b0e43fbf9efc4de8b0cde4ffca Mon Sep 17 00:00:00 2001 From: Bruno Gasparetto Date: Sat, 16 Mar 2024 12:32:07 -0400 Subject: [PATCH 2/5] Remove item vazio --- src/fluig/global.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/fluig/global.d.ts b/src/fluig/global.d.ts index 2aebe1d..20f4eae 100644 --- a/src/fluig/global.d.ts +++ b/src/fluig/global.d.ts @@ -73,7 +73,6 @@ declare namespace globalVars { * - WKManagerMode: Identifica se o processo está sendo movimentado pela visão do gestor do processo ou não. Só funciona no Workflow * - WKReplacement: Código do usuário substituto * - WKIsTransfer: Permite verificar se o usuário está ou não transferindo uma tarefa - * - */ declare function getValue(nomePropriedade: string): string; From 627f59574e112b5edf7c5de48d2014de1c38ca36 Mon Sep 17 00:00:00 2001 From: Bruno Gasparetto Date: Sat, 16 Mar 2024 12:33:47 -0400 Subject: [PATCH 3/5] =?UTF-8?q?Adiciona=20m=C3=A9todo=20dir=20ao=20Log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fluig/log.d.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/fluig/log.d.ts b/src/fluig/log.d.ts index 33f1539..98b733b 100644 --- a/src/fluig/log.d.ts +++ b/src/fluig/log.d.ts @@ -22,4 +22,9 @@ declare namespace log { * Log com "criticidade" FATAL */ declare function fatal(message: string): void; + + /** + * Log com "criticidade" INFO para objetos ao invés de texto + */ + declare function dir(item: object): void; }; From 91df6ddc9589cb12dc90e34682f76348ca992db4 Mon Sep 17 00:00:00 2001 From: Bruno Gasparetto Date: Sat, 16 Mar 2024 13:24:07 -0400 Subject: [PATCH 4/5] Adiciona o ServiceHelper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ao consultar serviços SOAP o Fluig possuí algumas classes para auxiliar a instanciar os objetos. Foram adicionadas algumas classes que auxiliam nessa tarefa. --- src/fluig/global.d.ts | 53 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/src/fluig/global.d.ts b/src/fluig/global.d.ts index 20f4eae..746ca27 100644 --- a/src/fluig/global.d.ts +++ b/src/fluig/global.d.ts @@ -122,5 +122,56 @@ declare namespace ServiceManager { * var service = ServiceManager.getService("ems2_v10"); * var serviceHelper = service.getBean(); */ - declare function getService(serviceId: string): object; + declare function getService(serviceId: string): ServiceInstantiate; }; + +declare class ServiceInstantiate { + /** + * Pega o Helper para instanciar os objetos + */ + getBean(): ServiceHelper; +} + +/** + * Classe para instanciar objetos do WS SOAP + */ +declare class ServiceHelper { + /** + * Instancia um objeto da classe indicada + * + * @param classPath Caminho da Classe + * + * @example + * var serviceHelper = ServiceManager.getService("ECMCardService").getBean(); + * var cardDto = serviceHelper.instantiate("com.totvs.technology.ecm.dm.ws.CardDto"); + */ + instantiate(classPath: string): object; + + /** + * Instancia o serviço com autenticação Basic + * + * @param service Instância do serviço que será autenticado + * @param classPath Caminho da Classe a ser instanciada + * @param user Usuário da Autenticação + * @param password Senha da Autenticação + * + * @example + * var serviceHelper = ServiceManager + * .getService("RM_CONSULTA_SQL") + * .getBean() + * ; + * + * var service = serviceHelper + * .instantiate("com.totvs.WsConsultaSQL") + * .getRMIwsConsultaSQL() + * ; + * + * var serviceSqlAuthenticated = serviceHelper.getBasicAuthenticatedClient( + * service, + * "com.totvs.IwsConsultaSQL", + * "meuUsuário", + * "minhaSenha" + * ); + */ + getBasicAuthenticatedClient(service: object, classPath: string, user: string, password: string): object; +} From 6944949883943bd13bdabecbee751b0b11c36195 Mon Sep 17 00:00:00 2001 From: Bruno Gasparetto Date: Sun, 24 Mar 2024 17:55:04 -0400 Subject: [PATCH 5/5] =?UTF-8?q?Adiciona=20algumas=20classes=20de=20servi?= =?UTF-8?q?=C3=A7os=20SOAP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Para facilitar o auto-completar ao trabalhar com SOAP foram adicionadas algumas classes referentes aos serviços: - ECMCardService - ECMDocumentService - ECMFolderService --- fluig.d.ts | 2867 +++++++++++++++---------- package-lock.json | 1 + package.json | 3 +- src/fluigSoap/ECMCardService.d.ts | 60 + src/fluigSoap/ECMDocumentService.d.ts | 78 + src/fluigSoap/ECMFolderService.d.ts | 337 +++ src/fluigSoap/WebServiceMessage.d.ts | 13 + src/java/lang.d.ts | 2 + 8 files changed, 2207 insertions(+), 1154 deletions(-) create mode 100644 src/fluigSoap/ECMCardService.d.ts create mode 100644 src/fluigSoap/ECMDocumentService.d.ts create mode 100644 src/fluigSoap/ECMFolderService.d.ts create mode 100644 src/fluigSoap/WebServiceMessage.d.ts diff --git a/fluig.d.ts b/fluig.d.ts index 65a8644..e73acd7 100644 --- a/fluig.d.ts +++ b/fluig.d.ts @@ -2199,7 +2199,6 @@ declare namespace globalVars { * - WKManagerMode: Identifica se o processo está sendo movimentado pela visão do gestor do processo ou não. Só funciona no Workflow * - WKReplacement: Código do usuário substituto * - WKIsTransfer: Permite verificar se o usuário está ou não transferindo uma tarefa - * - */ declare function getValue(nomePropriedade: string): string; @@ -2249,9 +2248,60 @@ declare namespace ServiceManager { * var service = ServiceManager.getService("ems2_v10"); * var serviceHelper = service.getBean(); */ - declare function getService(serviceId: string): object; + declare function getService(serviceId: string): ServiceInstantiate; }; +declare class ServiceInstantiate { + /** + * Pega o Helper para instanciar os objetos + */ + getBean(): ServiceHelper; +} + +/** + * Classe para instanciar objetos do WS SOAP + */ +declare class ServiceHelper { + /** + * Instancia um objeto da classe indicada + * + * @param classPath Caminho da Classe + * + * @example + * var serviceHelper = ServiceManager.getService("ECMCardService").getBean(); + * var cardDto = serviceHelper.instantiate("com.totvs.technology.ecm.dm.ws.CardDto"); + */ + instantiate(classPath: string): object; + + /** + * Instancia o serviço com autenticação Basic + * + * @param service Instância do serviço que será autenticado + * @param classPath Caminho da Classe a ser instanciada + * @param user Usuário da Autenticação + * @param password Senha da Autenticação + * + * @example + * var serviceHelper = ServiceManager + * .getService("RM_CONSULTA_SQL") + * .getBean() + * ; + * + * var service = serviceHelper + * .instantiate("com.totvs.WsConsultaSQL") + * .getRMIwsConsultaSQL() + * ; + * + * var serviceSqlAuthenticated = serviceHelper.getBasicAuthenticatedClient( + * service, + * "com.totvs.IwsConsultaSQL", + * "meuUsuário", + * "minhaSenha" + * ); + */ + getBasicAuthenticatedClient(service: object, classPath: string, user: string, password: string): object; +} + interface Task { name: string; @@ -2574,6 +2624,11 @@ declare namespace log { * Log com "criticidade" FATAL */ declare function fatal(message: string): void; + + /** + * Log com "criticidade" INFO para objetos ao invés de texto + */ + declare function dir(item: object): void; }; interface WorkflowProcessPK { @@ -2801,2109 +2856,2615 @@ declare namespace WCMSpaceAPI.PageService { declare function UPDATEPREFERENCES(settings: WidgetUpdatePreferences, instanceId: number, preferences: object): void; } -interface IwsConsultaSQL { - /** - * Realiza uma consulta a um SQL previamente cadastrado no BI do RM - * - * @param {string} sql Código (ID) do SQL cadastrado no RM - * @param {number} coligadaNumber - * @param {string} systemCode - * @param {string} parameters Separe-os com ; e mantenha a sequência que o SQL pede. Ex: CODCOLIGADA=1;CODPROJ=00689 - */ - realizarConsultaSQL(sql:string, coligadaNumber:number, systemCode:string, parameters:string): string; - - /** - * Realiza uma consulta a um SQL previamente cadastrado no BI do RM - * - * @param {string} sql Código (ID) do SQL cadastrado no RM - * @param {number} coligadaNumber - * @param {string} systemCode - * @param {string} username - * @param {string} password - * @param {string} parameters Separe-os com ; e mantenha a sequência que o SQL pede. Ex: CODCOLIGADA=1;CODPROJ=00689 - */ - realizarConsultaSQLAuth(sql:string, coligadaNumber:number, systemCode:string, username:string, password:string, parameters:string): string; -} - -declare namespace com.fluig.sdk.filter { - declare class FilterFieldVO {} - declare class FilterGroupResultVO {} - declare class FilterGroupVO {} - declare class FilterOrderVO {} - declare class FilterResultVO {} - declare class FilterVO {} -} - -declare namespace com.fluig.sdk.identity { - declare class UserAuthTokenSessionVO {} -} - -declare namespace com.fluig.sdk.page { - declare class PageMobileApiVO {} - declare class PageWidgetMobileApiVO {} - declare class PublicApiPageVO {} -} - -/** - * Serviços do Fluig - */ +declare namespace com.totvs.technology.ecm.dm.ws { -declare namespace com.fluig.sdk.service { /** - * Fornece acesso aos serviços de notificações + * Serviço para tratar registros de formulários */ - declare class AlertService { - /** - * Método que conta os alertas não lidos de um usuário. - */ - countUnreadAlerts(receiverId: number): number; - - /** - * Método que conta os alertas de um modulo não lidos de um usuário - */ - countUnreadAlertsByModule(module: string, receiverId: number): number; + declare class CardService { /** - * Get the number of notification in the tenant + * Cria um registro de formulário */ - getTenantTotalOfNotification(): number; + create(companyId: number, username: string, password: string, card: CardDtoArray): WebServiceMessageArray; /** - * Busca os alertas com ação vinculada, do usuário logado ordenado pela data de criação. + * Atualiza o registro do formulário */ - listAlertsWithAction(limit: number, offset: number): java.util.List + updateCardData(companyId: number, username: string, password: string, cardId: number, cardData: CardFieldDtoArray): WebServiceMessageArray; /** - * Busca os alertas com nota, do usuário logado ordenado pela data de criação. + * Apaga o registro do formulário */ - listAlertsWithNote(limit: number, offset: number): java.util.List + deleteCard(companyId: number, username: string, password: string, cardId: number): WebServiceMessageArray; + } - /** - * Retorna todas as notificações do usuário logado ordenadas pela data de criação. - */ - listAllAlerts(limit: number, offset: number): java.util.List + /** + * Representa um Documento/Formulário + */ + declare class CardDto { + setUserNotify(notify: boolean): void; + setInheritSecurity(inherit: boolean): void; + setDocumentDescription(description: string): void; + setParentDocumentId(parentId: number): void; + getCardData(): java.util.List; + } - /** - * Retorna todas as notificações de um usuário por um único módulo - */ - listAllAlertsByModule(module: string, limit: number, offset: number): java.util.List + /** + * Representa um campo do Documento/Formulário + */ + declare class CardFieldDto { + setField(field: string): void; + setValue(value: string): void; + } - /** - * Método marca os alertas informados de um usuário também dado como lidos - */ - markAlertAsRead(loginReceiver: string, alertsId: java.util.List): void; + /** + * Representa um conjunto de Documentos/Formulários + * + * Utilizado ao criar um documento/formulário. + */ + declare class CardDtoArray { + getItem(): java.util.List; + } - /** - * Método marca todos os alertas de um usuário como lidos. - */ - markAllAlertsAsRead(loginReceiver: string): void; + /** + * Representa um conjunto de campos do Documento/Formulário + * + * Utilizado ao editar um documento/formulário. + */ + declare class CardFieldDtoArray { + getItem(): java.util.List; + } +} +declare namespace com.totvs.technology.ecm.dm.ws { + /** + * Serviço para gerenciar os documentos via SOAP + * + * @example + * var serviceHelper = ServiceManager.getService("ECMDocumentService").getBean(); + * + * // Instanciando o objeto da classe DocumentService + * var service = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.ECMDocumentServiceService") + * .getDocumentServicePort() + * ; + */ + declare class DocumentService { /** - * Método que remove os alertas informados de um usuário também dado, esse método também é responsável por remover os senders, places e objects relacionado aos alertas - */ - removeAlerts(loginSender: string, alertsId: java.util.List): void; + * Cria um documento do jeito simplificado + */ + createSimpleDocument( + username: string, + password: string, + companyId: number, + folderId: number, + publisherCode: string, + fileName: string, + attachmentArray: AttachmentArray + ): WebServiceMessageArray; + + /** + * Pega o conteúdo de um arquivo do GED + */ + getDocumentContent( + username: string, + password: string, + companyId: number, + documentId: number, + userCode: string, + version: number, + documentDescription: string + ): java.lang.Byte[]; + } - /** - * Salva a configuração de um usuário para receber ou não alertas de um dado evento através de um dado aplicativo. - */ - saveConfiguration(alertConfig: com.fluig.sdk.api.alert.AlertConfigVO): void; + declare class Attachment { + setFileName(fileName: string): void; + setFileSize(fileSize: number): void; + setAttach(isAttach: boolean): void; + setEditing(isEditing: boolean): void; + setPrincipal(isPrincipal: boolean): void; /** - * Envia uma Notificação de Sistema e também um e-mail de notificação - * - * De acordo com o Evento disparado ele dispara e-mail específico da notificação, - * podedendo gerar erro de disparo de e-mail por não ter os dados necessários ao template - * do e-mail disparado. Não descobri como configurar template de e-mail para a notificação nem os dados. + * Configura o conteúdo do arquivo * - * Usando o serviço AlertServiceRest da API REST (antiga) é possível listar os módulos e eventos disponíveis, - * assim como criar novos módulos e eventos para facilitar o disparo de notificações. - * @see https://api.fluig.com/old/resource_AlertServiceRest.html + * @param content Conteúdo em ByteArray * * @example - * var alertService = fluigAPI.getAlertService(); + * var serviceHelper = ServiceManager + * .getService("ECMDocumentService") + * .getBean() + * ; * - * var objeto = new com.totvs.technology.foundation.alert.GenericAlertObject( - * -1, - * "alertObjectClass", - * "Solicitação de Veículo", - * "2537", - * "", - * "/pageworkflowview?app_ecm_workflowview_detailsProcessInstanceID=2537" - * ); + * var service = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.ECMDocumentServiceService") + * .getDocumentServicePort() + * ; * - * alertService.sendNotification( - * "FROTA_REAGENDAR_VEICULO", - * null, - * "bruno.gasparetto", - * objeto, - * null, - * null, - * null - * ); + * var attachment = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.Attachment") + * ; * - * @param eventKey Chave do Evento - * @param loginSender Login de quem enviou a notificação - * @param loginReceiver Login de quem receberá a notificação - * @param object Objeto que identifica a notificação - * @param place Objeto que identifica a origem da notificação - * @param actions Ações - * @param metadata Dados adicionais para tratamento em eventos de notificação + * // Inserindo conteúdo em Base64 + * attachment.setFileContent(java.util.Base64.getDecoder().decode(new java.lang.String("string em Base64").getBytes("UTF-8")) */ - sendNotification( - eventKey: string, - loginSender:? string, - loginReceiver: string, - object: com.totvs.technology.foundation.alert.AlertObject, - place:? com.totvs.technology.foundation.alert.AlertObject, - actions:? java.util.List, - metadata:? java.util.HashMap - ): void; + setFilecontent(content: java.lang.Byte[]): void; } - declare class ArticleService {} - - /** - * Cliente para requisições externas usando autenticação do Fluig - */ - declare class AuthorizeClientSdkService { - /** - * Executa a chamada ao WS - * - * O parâmetro passado deve ser um objeto convertido em string (JSON.stringfy) com as seguintes propriedades: - * - * - companyId; - * - serviceCode: ID do serviço cadastrado no Fluig; - * - endpoint; - * - method: Método HTTP (GET, POST, PUT, DELETE); - * - timeoutService (em segundos); - * - params: Objeto com os valores a serem enviados na requisição; - * - headers: Objeto com os valores a serem enviados no cabeçalho; - * - options: Objeto com as propriedades da requisição: - * - encoding (padrão UTF-8) - * - mediaType (padrão application/json) - * - useSSL (padrão false) - * - * @tutorial https://tdn.totvs.com/pages/releaseview.action?pageId=239041233#Autoriza%C3%A7%C3%A3oparaclientdeServi%C3%A7osREST-Consumindooservi%C3%A7ocomautentica%C3%A7%C3%A3oOAuth1,OAuth2,BasicAuthentication,CustomAuthenticationeNoneAuthentication - */ - invoke(data: string): com.fluig.sdk.api.authorizeclient.AuthorizeClientSdkServiceVO; + declare class AttachmentArray { + getItem(): java.util.List; } +} - +declare namespace com.totvs.technology.ecm.dm.ws { /** - * Serviço para tratar registros de formulários + * Serviço para gerenciar as pastas via SOAP + * + * @example + * var serviceHelper = ServiceManager.getService("ECMFolderService").getBean(); + * + * // Instanciando o objeto da classe FolderService + * var service = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.ECMFolderServiceService") + * .getFolderServicePort() + * ; */ - declare class CardAPIService { + declare class FolderService { /** - * Cria um registro no formulário - * - * @param documentId ID do Formulário - * @param cardFieldVOs Campos e Valores + * Cria uma pasta de forma simplificada */ - create(documentId: number, cardFieldVOs: java.util.ArrayList); + createSimpleFolder( + username: string, + password: string, + companyId: number, + parentId: number, + publisherCode: string, + folderName: string + ): com.totvs.technology.ecm.dm.ws.WebServiceMessageArray; /** - * Cria um registro pai filho no registro do formulário - * - * @param cardId ID do registro do formulário - * @param cardFieldVOs Campos e Valores + * Pega todas as pastas filhas da pasta indicada em documentId */ - createChild(cardId: number, cardFieldVOs: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardChildrenVO; + getSubFolders( + username: string, + password: string, + colleagueCode: string, + companyId: number, + documentId: number + ): DocumentDtoArray; + } - /** - * Altera um registro do formulário - * - * @param cardId ID do registro do formulário - * @param cardFieldVOs Campos e Valores - */ - edit(cardId: number, cardFieldVOs: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardFindFieldVO; + declare class DocumentDtoArray { + getItem(): java.util.List; + } - /** - * Altera um registro pai filho no registro do formulário - * - * @param cardId ID do registro do formulário - * @param row Linha do filho na tabela Pai Filho - * @param cardFieldVOs Campos e Valores - */ - editChild(cardId: number, row: number, cardFieldVOs: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardChildrenVO; + declare class DocumentDto { + getAccessCount(): java.lang.Integer; + setAccessCount(value: java.lang.Integer): void; - /** - * Procura os registros do formulário pelo número do formulário e número do registro - * - * @param documentId ID do Formulário - * @param cardId ID do Registro - */ - findById(documentId: number, cardId: number, fields: java.util.ArrayList, expandedFields: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardFindFieldVO; + isActiveUserApprover(): boolean; + setActiveUserApprover(value: boolean): void; - /** - * Procura os registros do formulário filho pelo numero do registro e linha - * - * @param cardId ID do Registro do Formulário - * @param row Linha do filho na tabela Pai Filho - */ - findChildByCardIdAndRow(cardId: number, row: number, fields: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardChildrenVO; + isActiveVersion(): boolean; + setActiveVersion(value: boolean): void; - /** - * Lista os registros do formulário filho - * - * @param cardId ID do Registro do Formulário - * @param page Página - * @param pageSize Tamanho da Página - * @param fields Campos - */ - findChildrenByCardId(cardId: number, page: number, pageSize: number, fields: java.util.ArrayList): com.totvs.technology.foundation.sdk.service.vo.common.ResponseEnvelopeVO; + getAdditionalComments(): java.lang.String; + setAdditionalComments(value: java.lang.String): void; - /** - * Remove um registro de formulário + isAllowMuiltiCardsPerUser(): boolean; + setAllowMuiltiCardsPerUser(value: boolean): void; + + isApprovalAndOr(): boolean; + setApprovalAndOr(value: boolean): void; + + isApproved(): boolean; + setApproved(value: boolean): void; + + getApprovedDate(): java.util.Calendar; + setApprovedDate(value: java.util.Calendar): void; + + getArticleContent(): java.lang.String; + setArticleContent(value: java.lang.String): void; + + getAttachments(): java.util.List; + + getAtualizationId(): java.lang.Integer; + setAtualizationId(value: java.lang.Integer): void; + + getBackgroundColor(): java.lang.String; + setBackgroundColor(value: java.lang.String): void; + + getBackgroundImage(): java.lang.String; + setBackgroundImage(value: java.lang.String): void; + + getBannerImage(): java.lang.String; + setBannerImage(value: java.lang.String): void; + + getCardDescription(): java.lang.String; + setCardDescription(value: java.lang.String): void; + + getColleagueId(): java.lang.String; + setColleagueId(value: java.lang.String): void; + + getColleagueName(): java.lang.String; + setColleagueName(value: java.lang.String): void; + + getCompanyId(): number; + setCompanyId(value: number): void; + + getConvertDocumentType(): java.lang.Integer; + setConvertDocumentType(value: java.lang.Integer): void; + + getCrc(): number; + setCrc(value: number): void; + + getCreateDate(): java.util.Calendar; + setCreateDate(value: java.util.Calendar): void; + + getCreateDateInMilliseconds(): number; + setCreateDateInMilliseconds(value: number): void; + + getDatasetName(): java.lang.String; + setDatasetName(value: java.lang.String): void; + + isDateFormStarted(): boolean; + setDateFormStarted(value: boolean): void; + + isDeleted(): boolean; + setDeleted(value: boolean): void; + + getDocumentDescription(): java.lang.String; + setDocumentDescription(value: java.lang.String): void; + + getDocumentId(): java.lang.Integer; + setDocumentId(value: java.lang.Integer): void; + + getDocumentKeyWord(): java.lang.String; + setDocumentKeyWord(value: java.lang.String): void; + + getDocumentPropertyNumber(): java.lang.Integer; + setDocumentPropertyNumber(value: java.lang.Integer): void; + + getDocumentPropertyVersion(): java.lang.Integer; + setDocumentPropertyVersion(value: java.lang.Integer): void; + + getDocumentType(): java.lang.String; + setDocumentType(value: java.lang.String): void; + + getDocumentTypeId(): java.lang.String; + setDocumentTypeId(value: java.lang.String): void; + + isDownloadEnabled(): boolean; + setDownloadEnabled(value: boolean): void; + + isDraft(): boolean; + setDraft(value: boolean): void; + + getExpirationDate(): java.util.Calendar; + setExpirationDate(value: java.util.Calendar): void; + + isExpiredForm(): boolean; + setExpiredForm(value: boolean): void; + + isExpires(): boolean; + setExpires(value: boolean): void; + + getExternalDocumentId(): java.lang.String; + setExternalDocumentId(value: java.lang.String): void; + + isFavorite(): boolean; + setFavorite(value: boolean): void; + + getFileURL(): java.lang.String; + setFileURL(value: java.lang.String): void; + + getFolderId(): java.lang.Integer; + setFolderId(value: java.lang.Integer): void; + + isForAproval(): boolean; + setForAproval(value: boolean): void; + + getHashAnnotations(): java.lang.String; + setHashAnnotations(value: java.lang.String): void; + + getIconId(): java.lang.Integer; + setIconId(value: java.lang.Integer): void; + + getIconPath(): java.lang.String; + setIconPath(value: java.lang.String): void; + + isImutable(): boolean; + setImutable(value: boolean): void; + + isIndexed(): boolean; + setIndexed(value: boolean): void; + + isInheritApprovers(): boolean; + setInheritApprovers(value: boolean): void; + + isInheritSecurity(): boolean; + setInheritSecurity(value: boolean): void; + + isInternalVisualizer(): boolean; + setInternalVisualizer(value: boolean): void; + + isIsEncrypted(): boolean; + setIsEncrypted(value: boolean): void; + + getKeyWord(): java.lang.String; + setKeyWord(value: java.lang.String): void; + + getLanguageId(): java.lang.String; + setLanguageId(value: java.lang.String): void; + + getLanguageIndicator(): java.lang.String; + setLanguageIndicator(value: java.lang.String): void; + + getLastModifiedDate(): java.util.Calendar; + setLastModifiedDate(value: java.util.Calendar): void; + + getLastModifiedTime(): java.lang.String; + setLastModifiedTime(value: java.lang.String): void; + + getMetaListId(): java.lang.Integer; + setMetaListId(value: java.lang.Integer): void; + + getMetaListRecordId(): java.lang.Integer; + setMetaListRecordId(value: java.lang.Integer): void; + + isNewStructure(): boolean; + setNewStructure(value: boolean): void; + + getNotificationDays(): java.lang.Integer; + setNotificationDays(value: java.lang.Integer): void; + + isOnCheckout(): boolean; + setOnCheckout(value: boolean): void; + + getParentDocumentId(): java.lang.Integer; + setParentDocumentId(value: java.lang.Integer): void; + + getPdfRenderEngine(): java.lang.String; + setPdfRenderEngine(value: java.lang.String): void; + + getPermissionType(): java.lang.Integer; + setPermissionType(value: java.lang.Integer): void; + + getPhisicalFile(): java.lang.String; + setPhisicalFile(value: java.lang.String): void; + + getPhisicalFileSize(): number; + setPhisicalFileSize(value: number): void; + + getPriority(): java.lang.Integer; + setPriority(value: java.lang.Integer): void; + + getPrivateColleagueId(): java.lang.String; + setPrivateColleagueId(value: java.lang.String): void; + + isPrivateDocument(): boolean; + setPrivateDocument(value: boolean): void; + + isProtectedCopy(): boolean; + setProtectedCopy(value: boolean): void; + + isPublicDocument(): boolean; + setPublicDocument(value: boolean): void; + + getPublisherId(): java.lang.String; + setPublisherId(value: java.lang.String): void; + + getPublisherName(): java.lang.String; + setPublisherName(value: java.lang.String): void; + + getQuota(): java.lang.Integer; + setQuota(value: java.lang.Integer): void; + + getRelatedFiles(): java.lang.String; + setRelatedFiles(value: java.lang.String): void; + + getRestrictionType(): java.lang.Integer; + setRestrictionType(value: java.lang.Integer): void; + + getRowId(): java.lang.Integer + setRowId(value: number): void; + + getSearchNumber(): java.lang.Integer; + setSearchNumber(value: java.lang.Integer): void; + + getSecurityLevel(): java.lang.Integer + setSecurityLevel(value: number): void; + + getSiteCode(): java.lang.String; + setSiteCode(value: java.lang.String): void; + + getSociableDocumentDto(): SociableDocumentDto; + setSociableDocumentDto(value: SociableDocumentDto): void; + + getSocialDocument(): java.lang.String; + setSocialDocument(value: java.lang.String): void; + + isTool(): boolean; + setTool(value: boolean): void; + + getTopicId(): java.lang.Integer; + setTopicId(value: java.lang.Integer): void; + + isTranslated(): boolean; + setTranslated(value: boolean): void; + + getUUID(): java.lang.String; + setUUID(value: java.lang.String): void; + + isUpdateIsoProperties(): boolean; + setUpdateIsoProperties(value: boolean): void; + + isUserAnswerForm(): boolean; + setUserAnswerForm(value: boolean): void; + + isUserNotify(): boolean; + setUserNotify(value: boolean): void; + + getUserPermission(): java.lang.Integer; + setUserPermission(value: java.lang.Integer): void; + + getValidationStartDate(): java.util.Calendar; + setValidationStartDate(value: java.util.Calendar): void; + + getVersion(): java.lang.Integer + setVersion(value: number): void; + + getVersionDescription(): java.lang.String; + setVersionDescription(value: java.lang.String): void; + + getVersionOption(): java.lang.String; + setVersionOption(value: java.lang.String): void; + + getVisualization(): java.lang.String; + setVisualization(value: java.lang.String): void; + + getVolumeId(): java.lang.String; + setVolumeId(value: java.lang.String): void; + + getWatermarkId(): java.lang.Integer; + setWatermarkId(value: java.lang.Integer): void; + } + + declare class SociableDocumentDto {} +} + + +declare namespace com.totvs.technology.ecm.dm.ws { + declare class WebServiceMessage { + getCompanyId(): number; + getDocumentDescription(): java.lang.String; + getDocumentId(): java.lang.Integer; + getVersion(): number; + getWebServiceMessage(): java.lang.String; + } + + declare class WebServiceMessageArray { + getItem(): java.util.List; + } +} + +declare namespace java.lang { + declare class Object { + /** + * Retorna o valor do objeto como uma string + */ + toString(): String; + } + + declare class String { + constructor(); + constructor(original: string); + + /** + * Pega o char da posição indicada. * - * @param cardId ID do Registro do Formulário + * Importante: embora o método deva devolver um char o Fluig + * trata como um número (provavelmente o código ASCII do char). + * + * Se precisar da letra utilize o método substring indicando índice + * inicial e final ou converta utilizando a classe Character. + * + * @example + * var str = new java.lang.String("texto"); + * str.substring(1, 2); // Retornará "e" + * + * var str = new java.lang.String("012"); + * Character.digit(str.charAt(2), 10); // Retornará número 2 + * Character.toString(str.charAt(2)); // Retornará string 2 */ - remove(cardId: number): boolean; + charAt(index: number): number; /** - * Remove o registro pai filho do registro do formulário + * Compara duas strings * - * @param cardId ID do Registro do Formulário - * @param row Linha do filho na tabela Pai Filho + * Retorna 0 se as strings forem iguais, menor que zero se essa string + * for menor do que a outra string ou maior que zero se essa string for + * maior do que a outra. */ - removeChild(cardId: number, row: number): com.fluig.sdk.api.cardindex.CardChildrenVO; - } + compareTo(anotherString: string): number; - declare class CardIndexService {} - declare class CardService {} - declare class CollaborationSDKService {} - declare class CommentService {} - declare class CommunityService {} - declare class ContentFilesService {} - /** - * Fornece acesso aos serviços de documentos (GED) - */ - declare class DocumentService { /** - * Aprova ou reprova um documento. + * Compara duas strings ignorando as diferenças de maiúscula e minúscula + * + * Retorna 0 se as strings forem iguais, menor que zero se essa string + * for menor do que a outra string ou maior que zero se essa string for + * maior do que a outra. */ - approveDocument(documentId: number, version: number, approved: boolean, observation: string): void; + compareToIgnoreCase(anotherString: string): number; /** - * Copia o documento que esta na área de upload + * Retorna verdadeiro se essa string contém a string informada */ - copyDocumentToUploadArea(documentId: number): string[]; + contains(substring: string): boolean; /** - * Cria o documento com permissões e aprovadores + * Retorna verdadeiro se essa string termina com a string informada */ - createDocument(documentVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; + endsWith(suffix: string): boolean; /** - * Cria uma documento privado + * Retorna verdadeiro se essa string começa com a string informada */ - createPrivateDocument(companyId: number, userId: string, fileName: string, file: File): com.fluig.sdk.api.document.DocumentVO; + startsWith(prefix: string): boolean; /** - * Cria uma documento privado + * Retorna verdadeiro se ambas strings forem iguais ignorando case */ - createPrivateDocument(companyId: number, userId: string, fileName: string, filePath: string): com.fluig.sdk.api.document.DocumentVO; + equalsIgnoreCase(anotherString: string): boolean; /** - * Remove o documento + * Retorna o índice da primeira ocorrência da string informada */ - deleteDocument(documentId: number): void; + indexOf(str: string): number; /** - * Retorna o documento ativo passado o ID do mesmo. + * Retorna o índice da primeira ocorrência da string informada a partir do índice indicado */ - getActive(documentId: number): com.fluig.sdk.api.document.DocumentVO + indexOf(str: string, fromIndex: number): number; /** - * Retorna documento com as informações de checkout + * Retorna o índice da última ocorrência da string informada */ - getAllocatedDocument(documentId: number, version: number): com.fluig.sdk.api.document.AllocatedDocumentVO; + lastIndexOf(str: string): number; - getCurrentUserPermission(documentId: number): com.fluig.sdk.api.document.SolvedPermissionVO; + /** + * Retorna o índice da última ocorrência da string informada a partir do índice indicado + */ + lastIndexOf(str: string, fromIndex: number): number; /** - * Return the approvement history of the document + * Retorna a quantidade de caracteres da string */ - getDocumentApprovalHistory(documentId: number): java.util.List; + length(): number; /** - * Retrieve all document approvers and yours status. + * Retorna verdadeiro se a string satisfaz a Expressão Regular */ - getDocumentApprovers(documentId: number): java.util.List; + matches(regex: string): boolean; /** - * Retorna as permissões do documento + * Substitui nessa string todos os trechos que satisfaçam a string target + * + * Importante: esse método não aceita Expressão Regular. + * + * @param target Texto a procurar + * @param replacement Texto a substituir */ - getDocumentPermissions(documentId: number, version: number): java.util.List; + replace(target: string, replacement: string): String; /** - * Retorna a url do documento + * Substitui nessa string todos os trechos que satisfaçam a string de Expressão Regular + * + * @param regex String de Expressão Regular + * @param replacement Texto a substituir */ - getDownloadURL(documentId: number): string; + replaceAll(regex: string, replacement: string): String /** - * Retorna a permissão do usuário em um documento. + * Divide a string em arrays satisfazendo a Expressão Regular fornecida + * + * @param regex String de Expressão Regular */ - getUserPermissions(documentId: number, version: number, user: string): number; + split(regex: string): String[]; /** - * Set Approvers for a specific document + * Divide a string em arrays satisfazendo a Expressão Regular fornecida + * + * @param regex String de Expressão Regular + * @param limit Número máximo de partes a dividir a string */ - setDocumentApprovers(documentId: number, documentSecurityVO: com.fluig.sdk.api.document.DocumentSecurityVO): void; + split(regex: string, limit: number): String[]; /** - * Determina as permissões do documento + * Retorna uma substring iniciando no índice indicado até o final da string + * + * @param beginIndex Índice inicial, começando em 0 */ - setDocumentPermissions(documentId: number, permissions: java.util.List): void; + substring(beginIndex: number): String; /** - * Update file + * Retorna uma substring iniciando no índice indicado até o índice final + * + * @param beginIndex Índice inicial, começando em 0 + * @param endIndex Índice final, começando em 0 */ - updateFile(docVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; + substring(beginIndex: number, endIndex: number): String; /** - * Valida configurações de documento + * Converte a string para letras minúsculas */ - validateDocumentPublicUrlConfiguration(tenantId: number, documentId: number, version: number): void; + toLowerCase(): String; + + /** + * Converte a string para letras maiúsculas + */ + toUpperCase(): String; + + /** + * Remove espaços em branco do início e fim da string + */ + trim(): String; } - declare class DocumentationProxyServiceService {} - declare class FavoritesService {} - declare class FilterAPIService {} - /** - * Fornece acesso aos serviços de pastas (GED) - */ - declare class FolderDocumentService { + declare class Character { /** - * Criação de uma nova pasta + * Retorna o caractere como uma String + * + * @param c Código do CHAR */ - create(vo: com.fluig.sdk.api.document.FolderVO): com.fluig.sdk.api.document.FolderVO; + toString(c: number): String; /** - * Recupera um documento através do id + * Converte o caractere em um número + * + * @param c Código do CHAR + * @param radix Base a converter (normalmente 10 pra indicar que é decimal) */ - get(documentId: number): com.fluig.sdk.api.document.DocumentVO; + digit(c: number, radix: number): number; + } + declare class Integer extends Object { /** - * Recupera lista de documentos através do id da pasta + * Converte a String em Integer */ - list(folderId: number): java.util.List; + valueOf(value: String): Integer; /** - * Recupera lista de documentos através do id da pasta + * Converte a String em int */ - list(folderId: number, permission: number): java.util.List; + parseInt(value: String): number; + } + + declare class Byte extends Object {} +} + +declare namespace javax.naming { + /** + * Inicia um Contexto + */ + declare class InitialContext { /** - * Retorna os documentos de uma pasta + * Recupera o DataSource do Banco de Dados + * + * @param {string} dataSource O nome do dataSource. Ex: /jdbc/PostgreSqlDS + * @throws Exception */ - listDocumentsByFolder(folderVO: com.fluig.sdk.api.document.FolderVO, limit: number, offset: number): java.util.List; + lookup(dataSource: string): javax.sql.DataSource; /** - * Atualiza documento ou pasta + * Fecha o contexto ao invés de aguardar o coletor de lixo */ - updateDocumentDescription(companyId: number, documentId: number, description: string): com.fluig.sdk.api.document.DocumentVO; + close(): void; } - declare class GlobalParameterService {} +} - declare class GroupService { +declare namespace javax.sql { + declare class DataSource { /** - * Retorna os usuários de um grupo, mesmo que estejam dentro de subgrupo + * Recupera a Conexão com o Banco de Dados * - * @param groupId Código do Grupo - * @param pattern Não sei - * @param limit Limite de usuários retornados (não pode ser 0 ou menor que 0) - * @param offset A partir de qual índice retornará - * @param order Ordem (não sei cmo utilizar) + * @throws Exception */ - findUsersByGroup(groupId: string, pattern: string, limit: number, offset: number, order: string): java.util.List; + getConnection(): Connection; } - declare class HolidayAPIService {} - declare class I18NService {} - declare class IdentityService {} - declare class JobService {} - declare class LocalAPIService {} + /** + * Conexão com o Banco de Dados + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html + */ + declare class Connection { + /** + * Cria o objeto que executará o SQL + * + * @throws Exception + */ + createStatement(): Statement; + + /** + * Encerra a conexão ao invés de aguardar o coletor de lixo + */ + close(): void; + } /** - * Serviço para tratar páginas + * Objeto que executa uma instrução SQL + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html */ - declare class PageService { - createPageDraftFromVersion(pageCode: string, pageVersion: number): void; - disable(pageCode: string): void; - enable(pageCode: string): void; + declare class Statement { + /** + * Executa um SQL que deve ser uma consulta (SELECT) + * + * @throws Exception + */ + executeQuery(sql: string): ResultSet; /** - * Retorna itens de menu da página + * Executa um SQL que modifica algo no banco (INSERT, UPDATE ou DELETE) + * + * @returns {number} Quantidade de registros afetados + * @throws Exception */ - findMenuFromPage(pageCode: string): java.util.List; + executeUpdate(sql: string): number; /** - * Consulta páginas do fluig + * Executa um SQL árbitrário. Para pegar o resultado precisa utilizar + * + * Caso necessite do resultado deve-se utilizar os métodos getResultSet ou getUpdateCount para recuperar os valores, + * e o método getMoreResults para pegar os demais resultados em consultas que retornam múltiplos resultados. + * + * Este método não pode ser chamado em uma PreparedStatement ou CallableStatement. + * + * @returns {boolean} true se o primeiro resultado for um ResultSet; false se for um contador de update ou sem resultado + * @throws Exception */ - findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean): java.util.List; - findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean, codePage: string): java.util.List; + execute(sql: string): boolean; /** - * Retorna a URL do servidor + * Retorna o resultado atual + * + * @throws Exception */ - getServerURL(): string; + getResultSet(): ResultSet; /** - * Recupera os valores de preferências para uma instância de uma widget. + * Retorna o contador de linhas atualizadas quando é um update + * + * @returns {number} Retornará -1 quando não há mais resultados + * @throws Exception */ - getWidgetPreferences(instanceId: number): java.util.HashMap; + getUpdateCount(): number; - mobileMapping(pageCode: string): com.fluig.sdk.page.PageMobileApiVO; + /** + * Move para o próximo resultado indicando se conseguiu mover para o próximo + * + * Este método é utlizado quando há um retorno de múltiplos resultados. A cada chamada deste método ele avança para + * o próximo resultado, que você poderá obter usando os métodos getResultSet e getUpdateCount. + * + * @example + * while (stmt.getMoreResults() != false) { + * var result = stmt.getResultSet(); + * } + * + * @returns {boolean} + * @throws Exception + */ + getMoreResults(): boolean; - hide(pageCode: string): void; + /** + * Libera os recursos da execução imediatamente ao invés de aguardar o coletor de lixo + */ + close(): void; + } - publishPageDraft(pageCode: string, publicationDescription: string): void; + /** + * Representa o resultado de uma consulta SQL + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html + */ + declare class ResultSet { - pageHistory(pageCode: string): java.util.List; + /** + * Move o cursor para o primeiro resultado da consulta + * + * @returns {boolean} Retorna true se moveu o cursor + */ + first(): boolean; /** - * Recarrega o layout de uma página + * Move o cursor para o último resultado da consulta + * + * @returns {boolean} Retorna true se moveu o cursor */ - reloadPageLayout(pageCode: string): void; + last(): boolean; /** - * Seta o valor de uma preferência para uma instância de uma widget + * Move o cursor para o próximo resultado da consulta + * + * @returns {boolean} Retorna true se moveu o cursor */ - setWidgetPreference(instanceId: number, key: string, value: string): void; + next(): boolean; - show(pageCode: string): void; - } + /** + * Move o cursor para o resultado anterior da consulta + * + * @returns {boolean} Retorna true se moveu o cursor + */ + previous(): boolean; - declare class PageWidgetService {} - declare class PostService {} - declare class SearchService {} + /** + * Pega o número, tipos e propriedades das colunas retornadas na consulta + */ + getMetaData(): ResultSetMetaData; + + /** + * Retorna o valor da coluna como um Objeto Java + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + */ + getObject(columnIndex: number): java.lang.Object; + getObject(columnLabel: string): java.lang.Object; - declare class SecurityService { /** - * Verifica se o usuário logado possui determinada permissão no recurso informado + * Retorna o valor da coluna como uma string + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. */ - hasPermission(resource: string, permission: string): boolean; + getString(columnIndex: number): java.lang.String; + getString(columnLabel: string): java.lang.String; /** - * Lista os recursos da categoria + * Retorna o valor da coluna como um boolean + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. */ - listResourcesByCategory(category: string, filter: string, offset: number, limit: number): java.util.List + getBoolean(columnIndex: number): boolean; + getBoolean(columnLabel: string): boolean; /** - * Lista as permissões do recurso informado + * Retorna o valor da coluna como objeto Date + * + * Esse método retorna um java.sql.Date que herda de java.util.Date. + * Para evitar retrabalho deixei como java.util.Date mesmo. + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como byte, java.sql.Blob etc. */ - getPermissionsByResourceCode(resourceCode: string): java.util.List + getDate(columnIndex: number): java.util.Date; + getDate(columnLabel: string): java.util.Date; /** - * Crias as permissões para o recurso + * Libera o resultado da consulta imediatamente ao invés de aguardar o coletor de lixo */ - createPermissions(resourceCode: string, permissions: java.util.List): void; + close(): void; + } + declare class ResultSetMetaData { /** - * Remove as permissões do recurso + * Pega o total de colunas da consulta */ - deletePermissions(resourceCode: string, permissions: java.util.List): void; + getColumnCount(): number; /** - * Recupera o Tenant corrente + * Pega o Nome da Coluna (label) */ - getCurrentTenant(): com.fluig.sdk.tenant.TenantVO; + getColumnName(column: number): java.lang.String; } +} - declare class SocialBreadcrumbService {} - declare class SocialSDKService {} - declare class TagsCloudService {} - declare class TasksService {} - declare class TenantService {} +declare namespace java.text { /** - * Fornece acesso aos serviços de usuário + * Formatador de Datas + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html */ - declare class UserService { - + declare class SimpleDateFormat { /** - * Ativa um usuário + * Cria um novo formatador de datas com o padrão indicado * - * @param genericId login, userCode (matrícula) ou idpId + * Exemplos: + * + * - "dd/MM/yyyy" -> data no formato pt-BR + * - "yyyy-MM-dd" -> data no formato ISO + * - "HH:mm" -> Hora (24h) e minuto + * - "yyyy-MM-dd'T'HH:mm:ss.SSSZ" -> Data completa (Ex: 2021-07-04T12:08:56.235-0700) + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html */ - activateByCode(genericId: string): void + constructor(formato: string); /** - * Desativa um usuário - * - * @param genericId login, userCode (matrícula) ou idpId + * Aplica o padrão de data de forma similar ao construtor */ - deactivateByCode(genericId: string): void + applyPattern(formato: string): void; /** - * Adiciona um usuário a um grupo + * Retorna a data formatada conforme o padrão da formatação */ - addUserToGroup(tenantId: number, groupCode: string, userVO: com.fluig.sdk.user.UserVO): void; + format(data: java.util.Date): java.lang.String; /** - * Altera a senha + * Converte uma string, formatada como indicado no construtor, em um objeto Date */ - changeUserPassword(vo: com.fluig.sdk.user.UserPasswordVO): void; + parse(dataFormatada: string): java.util.Date; + } +} +declare namespace java.util { + declare abstract class Iterator { /** - * Cria um novo usuário + * Indica se ainda há elementos a percorrer */ - create(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; - create(tenantId: number, vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + hasNext(): boolean; /** - * Retorna o usuário pelo id + * Pega o próximo elemento */ - findById(id: number): com.fluig.sdk.user.UserVO + next(): T; + } + declare abstract class Set { /** - * Retorna o usuário pelo login + * Adiciona um elemento ao conjunto */ - findByLogin(login: string): com.fluig.sdk.user.UserVO + add(value: T): boolean; /** - * Retorna usuário pelo ID + * Indica se o conjunto está vazio */ - findByUserCode(colleagueId: string): com.fluig.sdk.user.UserVO + isEmpty(): boolean; /** - * Retorna o usuário corrente logado + * Pega a quantidade de elementos do conjunto */ - getCurrent(): com.fluig.sdk.user.UserVO + size(): number; /** - * Pesquisa por usuários baseado em um conjunto de parâmetros. + * Remove todos os elementos */ - list(offset: number, limit: number): java.util.List; - list(params: java.util.HashMap, offset: number, limit: number): java.util.List; - list(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; + clear(): void; /** - * Pesquisa por usuários ativos e inativos baseado em um conjunto de parâmetros. - */ - listAll(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; + * Verifica se existe o elemento + */ + contains(value: T): boolean; /** - * Pega todos os dados do usuário especificado pelo login + * Pega um iterator para percorrer o conjunto */ - listData(login: string): java.util.HashMap; + iterator(): java.util.Iterator; /** - * Pega todos os grupos do usuário especificado pelo login + * Remove o elemento indicado */ - listGroups(login: string): java.util.List; + remove(value: T): boolean; /** - * Pega todos os papéis do usuário especificado pelo login + * Retorna um array com todos os elementos */ - listRoles(login: string): java.util.List; + toArray(): T[]; + } + declare abstract class List { /** - * Remove dados do usuário + * Pega o elemento no índice indicado */ - removeUserData(alias: string, key: string): void; + get(index: number): T; /** - * Atualiza o usuário + * Adiciona um elemento à lista */ - updateUser(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + add(value: T): void; /** - * Atualiza os dados do usuário logado + * Adiciona todos os elementos da lista indicada para esta lista */ - updateUserData(data: java.util.HashMap): boolean; + addAll(l: java.util.List): void; /** - * Atualiza os dados do usuário procurando pelo ID + * Indica o tamanho da lista */ - updateUserDataById(data: java.util.HashMap, userId: string): boolean; + size(): number; /** - * Atualiza usuário mesmo que esteja desabilitado (inativo) + * Remove todos os elementos */ - updateUserEvenDisabled(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; - } - declare class WidgetService {} + clear(): void; - /** - * Fornece acesso aos serviços de workflow - */ - declare class WorkflowAPIService { /** - * Faz com que o usuário repassado assuma a tarefa + * Verifica se existe o elemento */ - assumeProcessTask(assumeProcessTaskVO: com.fluig.sdk.api.workflow.AssumeProcessTaskVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; - assumeProcessTask(companyId: number, userId: string, processInstanceId: number, movementSequence: number, replacementId: string): com.fluig.sdk.api.workflow.ProcessTaskVO; + contains(value: T): boolean; /** - * Faz com que os usuários repassados assumam as tarefas vinculadas aos mesmos + * Indica se a lista está vazia */ - assumeProcessTasks(assumeProcessTasksVO: com.fluig.sdk.api.workflow.AssumeProcessTasksVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; - - cancelInstance(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstanceVO): com.fluig.sdk.api.workflow.CancelInstanceResultVO; - cancelInstances(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstancesVO): com.fluig.sdk.api.workflow.CancelInstancesResultVO; + isEmpty(): boolean; /** - * Insere um complemento em uma solicitação + * Pega um iterator para percorrer a lista */ - createProcessObservation(processObservationVO: com.fluig.sdk.api.workflow.ProcessObservationVO): com.fluig.sdk.api.workflow.ProcessObservationVO; - - findAssignedToMeTasks(processId: string, initialStartDate: string, finalStartDate: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; - - findManagedByMeTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + iterator(): java.util.Iterator /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante + * Remove o elemento */ - findMyRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, assignee: string, manager: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; - - findMyRequestsTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + remove(value: T): boolean; /** - * Retorna a lista de complementos em uma solicitação + * Retorna um array com todos os elementos da lista */ - findObservations(processInstanceId: number, stateSequence: number, threadSequence: number): java.util.List; + toArray(): T[]; + } + + declare class ArrayList extends List { + } + declare abstract class Map { /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + * Pega o elemento no índice indicado */ - findRequestSLAByProcessInstanceId(processInstanceId: number, populateCurrentTasks: boolean, calculate: boolean, populateCardFields: boolean, populateLocals: boolean, assigneeLocals: boolean): com.fluig.sdk.api.workflow.RequestSLAVO; - findRequestSLAByProcessInstanceId(processInstanceId: string, expand: string, calculate: string): com.fluig.sdk.api.workflow.RequestSLAVO; + get(name: K): V; /** - * Recupera uma lista das solicitações de SLA dos processos configurados + * Adiciona um elemento */ - findRequestsSLA(): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, returnCurrentTasks: boolean, requester: string, assignee: string, manager: string, requesterLocals: java.util.List, assigneeLocals: java.util.List, orderParams: java.util.List, calculate: boolean, page: number, pageSize: number, populateCardFields: boolean, populateLocalsValue: boolean, populateAssigneeLocalsValue: boolean): java.util.LinkedHashSet; - findRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + put(name: K, value: V): void; /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + * Indica o tamanho da lista */ - findRequestsSLAAssignedToMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + size(): number; /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor + * Remove todos os elementos */ - findRequestsSLAManagedByMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; - - findSLATasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + clear(): void; /** - * Retorna uma lista das atividades pendentes de um processo + * Copia todos os elementos do mapa indicado para este mapa */ - getActiveTasks(processInstanceId: number): com.fluig.sdk.api.workflow.ProcessInstanceInfoVO; + putAll(m: java.util.Map): void; /** - * Retorna uma lista de processos disponíveis para o usuário + * Retorna um conjunto com as chaves do Mapa */ - getAvailableProcess(tenantId: number, userId: string): java.util.List; + keySet(): java.util.Set; /** - * Retorna a versão de um processo + * Retorna verdadeiro se houver item para a chave indicada */ - getProcessVersion(processId: string): number; + containsKey(name: K): boolean; /** - * Retorna todos os processos da empresa + * Retorna verdadeiro se o mapa está vazio */ - listProcess(pattern: string, limit: number, offset: number): java.util.List; + isEmpty(): boolean; /** - * Retorna todos os processos da empresa + * Remove o elemento indicado pela chave */ - listSlaProcess(): java.util.List; + remove(name: K): V; + } + + declare class HashMap extends java.util.Map { + } + + declare class LinkedHashSet extends java.util.Set { + } + + declare class LinkedHashMap extends java.util.HashMap { + } - resumeAssignedToMeTasks(processId: string, startDate: string, endDate: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; - resumeManagedByMeTasks(processId: string, startDate: string, endDate: string, requester: string, assignee: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + declare class Date { /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante + * Inicializa com a data do momento que o objeto foi criado */ - resumeMyRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - - resumeMyRequestsTasks(processId: string, startDate: string, endDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + constructor(); /** - * Recupera um resumo dos indicadores de SLA dos processos configurados + * Inicializa com a data em milisegundos decorridos desde 1970-01-01 00:00:00 GMT */ - resumeRequestsSLA(): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, requester: string, assignee: string, manager: string, requesterLocalsList: java.util.List, assigneeLocalsList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + constructor(date: number); /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + * Compara se essa data é posterior à data indicada */ - resumeRequestsSLAAssignedToMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + after(when: Date): boolean; /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor + * Compara se essa data é anterior à data indicada */ - resumeRequestsSLAManagedByMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - - resumeSLATasks(processId: string, startDate: string, endDate: string, assignee: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; - } -} + before(when: Date): boolean; -declare namespace com.fluig.sdk.tenant { - declare class AdminUserVO { /** - * Recupera valor do code + * Retorna o dia do mês + * + * @deprecated Usar Calendar.get(Calendar.DAY_OF_MONTH) */ - getCode(): java.lang.String; + getDate(): number; /** - * Recupera valor do email + * Retorna o dia da semana + * + * @deprecated Usar Calendar.get(Calendar.DAY_OF_WEEK) */ - getEmail(): java.lang.String; + getDay(): number; /** - * Recupera valor do firstName + * Retorna a hora + * + * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY) */ - getFirstName(): java.lang.String; + getHours(): number; /** - * Recupera valor do lastName + * Retorna os minutos + * + * @deprecated Usar Calendar.get(Calendar.MINUTE) */ - getLastName(): java.lang.String; + getMinutes(): number; /** - * Recupera valor do login + * Retorna o mês + * + * @deprecated Usar Calendar.get(Calendar.MONTH) */ - getLogin(): java.lang.String; - } + getMonth(): number; - declare class TenantVO { /** - * Recupera valor do adminUser + * Retorna os segundos + * + * @deprecated Usar Calendar.get(Calendar.SECOND) */ - getAdminUser(): AdminUserVO; + getSeconds(): number; /** - * Recupera valor do Tenant Code + * Retorna o ano + * + * @deprecated Usar Calendar.get(Calendar.YEAR) - 1900 */ - getCode(): java.lang.String; + getYear(): number; /** - * Recupera valor do data + * Atribui o dia do mês + * + * @deprecated Usar Calendar.set(Calendar.DAY_OF_MONTH, dia) */ - getData(): java.util.Map + setDate(): number; /** - * Recupera valor do description + * Atribui a hora + * + * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY, hora) */ - getDescription(): java.lang.String; + setHours(): number; /** - * Recupera valor do federalId + * Atribui os minutos + * + * @deprecated Usar Calendar.set(Calendar.MINUTE, minutos) */ - getFederalId(): java.lang.String; + setMinutes(): number; /** - * Recupera valor do id + * Atribui o mês + * + * @deprecated Usar Calendar.set(Calendar.MONTH, mes) */ - getId(): number; + setMonth(): number; /** - * Recupera valor do idpId + * Atribui os segundos + * + * @deprecated Usar Calendar.set(Calendar.SECOND, segundos) */ - getIdpId(): java.lang.String; + setSeconds(): number; /** - * Recupera valor do idpLogOff + * Atribui o ano + * + * @deprecated Usar Calendar.set(Calendar.YEAR, ano + 1900) */ - getIdpLogOff(): boolean; + setYear(): number; + } + /** + * A Classe Calendar não deve ser instanciada com operador new. Use sempre o método getInstance(). + * + * Essa classe á abstrata e o Java normalmente vai instanciar um GregorianCalendar quando chamada a getInstance(). + */ + declare abstract class Calendar { /** - * Recupera valor do organizationUrl + * Cria uma instância de Calendário + * + * Essa classe é abstrata, por isso não é possível instanciá-la diretamente. */ - getOrganizationUrl(): java.lang.String; + static getInstance(): Calendar; + + // Constantes indicando os valores dos meses /** - * Recupera valor do removeVolume + * Indica o valor de Janeiro */ - getRemoveVolume(): boolean; + static const JANUARY: number; /** - * Recupera o valor para tenantActive + * Indica o valor de Fevereiro */ - getTenantActive(): boolean; + static const FEBRUARY: number; /** - * Recupera valor do thumbnailEnabled + * Indica o valor de Março */ - getThumbnailEnabled(): boolean; + static const MARCH: number; /** - * Recupera valor do volumeDir + * Indica o valor de Abril */ - getVolumeDir(): java.lang.String; - } -} - -declare namespace com.fluig.sdk.user { + static const APRIL: number; - /** - * Representa um colleague (que acho ser o mesmo que user, mas o Flug quis diferenciar) - */ - declare class ColleagueVO { /** - * Pega o e-mail + * Indica o valor de Maio */ - getEmail(): java.lang.String + static const MAY: number; /** - * Pega o nome completo + * Indica o valor de Junho */ - getFullName(): java.lang.String + static const JUNE: number; /** - * Pega o primeiro nome + * Indica o valor de Julho */ - getFirstName(): java.lang.String; + static const JULY: number; /** - * Pega o sobrenome + * Indica o valor de Agosto */ - getLastName(): java.lang.String; + static const AUGUST: number; /** - * Pega o login + * Indica o valor de Setembro */ - getLogin(): java.lang.String; + static const SEPTEMBER: number; /** - * Pega o código + * Indica o valor de Outubro */ - getCode(): java.lang.String + static const OCTOBER: number; /** - * Atribui o login + * Indica o valor de Novembro */ - setLogin(login: string): void; + static const NOVEMBER: number; /** - * Atribui o primeiro nome + * Indica o valor de Dezembro */ - setFirstName(firstName: string): void; + static const DECEMBER: number; + + // Constantes de horário /** - * Atribui o sobrenome + * Indica que a hora é antes de meio dia */ - setLastName(lastName: string): void; + static const AM: number; /** - * Atribui o nome completo + * Indica que a hora é após meio dia */ - setFullName(fullName: string): void; + static const PM: number; + + // Constantes de dia da semana /** - * Atribui o código + * Indica que é Domingo */ - setCode(code: string): void; + static const SUNDAY: number; /** - * Atribui o e-mail + * Indica que é segunda-feira */ - setEmail(email: string): void; - } + static const MONDAY: number; - declare class UserPasswordVO {} + /** + * Indica que é terça-feira + */ + static const TUESDAY: number; - /** - * Representa um Usuário - */ - declare class UserVO { /** - * Pega o e-mail + * Indica que é quarta-feira */ - getEmail(): java.lang.String + static const WEDNESDAY: number; /** - * Pega o nome completo + * Indica que é quinta-feira */ - getFullName(): java.lang.String + static const THURSDAY: number; /** - * Pega o primeiro nome + * Indica que é sexta-feira */ - getFirstName(): java.lang.String; + static const FRIDAY: number; /** - * Pega o sobrenome + * Indica que é Sábado */ - getLastName(): java.lang.String; + static const SATURDAY: number; + + + // Constantes de campo /** - * Pega o login + * Campo que indica se horário é antes ou depois do meio dia */ - getLogin(): java.lang.String; + static const AM_PM: number; /** - * Pega o código + * Campo que indica o dia do mês */ - getCode(): java.lang.String + static const DATE: number; /** - * Pega todos os dados extras + * Campo que indica o dia do mês */ - getExtData(): java.util.HashMap; + static const DAY_OF_MONTH: number; /** - * Pega um dado extra + * Campo que indica o dia da semana */ - getExtraData(key: string): object; + static const DAY_OF_WEEK: number; /** - * Pega os grupos + * Campo que indica o dia do ano */ - getGroups(): java.util.List; + static const DAY_OF_YEAR: number; /** - * Pega o ID + * Campo que indica a hora antes ou depois do meio dia (12h) */ - getId(): number; + static const HOUR: number; /** - * Informa se é um usuário Ativo + * Campo que indica a hora do dia (24h) */ - getIsActive(): boolean; + static const HOUR_OF_DAY: number; /** - * Pega a senha + * Campo que indica os milissegundos */ - getPassword(): string; + static const MILLISECOND: number; /** - * Pega o fuso horário + * Campo que indica os minutos */ - getTimezone(): java.lang.String; + static const MINUTE: number; /** - * Pega os papéis + * Campo que indica o mês */ - getRoles(): java.util.List; + static const MONTH: number; /** - * Pega o token de acesso + * Campo que indica os segundos */ - getTokenAccess(): java.lang.String; + static const SECOND: number; /** - * Pega a senha do token + * Campo que indica a semana do mês */ - getTokenSecret(): java.lang.String; + static const WEEK_OF_MONTH: number; /** - * Pega o UUID + * Campo que indica a semana do ano */ - getUserUUID(): java.lang.String; + static const WEEK_OF_YEAR: number; /** - * Retorna objeto no mapa + * Campo que indica o ano */ - getValueExtData(key: string): object; + static const YEAR: number; - /** - * Adiciona dados extras + /** + * Retorna o valor do campo indicado + * + * @param {number} campo Uma das constantes da classe indicando o campo */ - addExtData(key: string, value: object): void; + get(campo: number): number; /** - * Atribui o código + * Atribui o valor ao campo indicado + * + * @param {number} campo Uma das constantes da classe indicando o campo + * @param {number} valor O valor que será atribuído ao campo */ - setCode(code: string): void; + set(campo: number, valor: number): void; /** - * Atribui o e-mail + * Retorna o calendário como um objeto Date */ - setEmail(email: string): void; + getTime(): Date; /** - * Atribui os dados extras + * Configura o calendário usando um objeto Date */ - setExtData(extData: java.util.HashMap): void; + setTime(data: Date): void; /** - * Atribui um valor para um dado extra + * Compara se essa data é posterior à data indicada */ - setExtraData(key: string, value: object): void; + after(data: Calendar): boolean; /** - * Atribui o primeiro nome + * Compara se essa data é anterior à data indicada */ - setFirstName(firstName: string): void; + before(data: Calendar): boolean; /** - * Atribui o sobrenome + * Configura o calendário com o Ano, Mês e Dia */ - setLastName(lastName: string): void; + set(ano: number, mes: number, dia: number): void; /** - * Atribui o nome completo + * Configura o calendário com o Ano, Mês, Dia, Hora e Minutos */ - setFullName(fullName: string): void; + set(ano: number, mes: number, dia: number, hora: number, minutos: number): void; /** - * Atribui os grupos + * Configura o calendário com o Ano, Mês, Dia, Hora, Minutos e Segundos */ - setGroups(groups: java.util.List): void; + set(ano: number, mes: number, dia: number, hora: number, minutos: number, segundos: number): void; /** - * Atribui o ID + * Adiciona ou Subtrai 1 unidade do campo indicado + * + * @param {number} campo Uma das constantes de campo + * @param {boolean} aumentaValor Se for true aumentará o campo, senão ele será diminuído */ - setId(id: number): void; + roll(campo: number, aumentaValor: boolean): void; /** - * Atribui o status de Ativo + * Adiciona ou Subtrai unidades do campo indicado + * + * @param {number} campo Uma das constantes de campo + * @param {boolean} valor Valor que será utilizado no cálculo. Se positivo aumentará, se negativo diminuirá */ - setIsActive(isActive: boolean): void; + roll(campo: number, valor: number): void; /** - * Atribui o login + * Adiciona ou subtrai a quantidade indicada do campo indicado + * + * @param campo Uma das constantes de campo + * @param valor Valor que será utilizado no cálculo. Se negativo vai subtrair */ - setLogin(login: string): void; + add(campo: number, valor: number): void; + } + declare class UUID { /** - * Atribui a senha + * Cria um UUID tipo 4 (geração pseudo aleatória) */ - setPassword(password: string): void; + static randomUUID(): UUID; /** - * Atribui os papéis + * Retorna uma string representando o UUID */ - setRoles(roles: java.util.List): void; + toString(): java.lang.String; + } +} + +interface IwsConsultaSQL { + /** + * Realiza uma consulta a um SQL previamente cadastrado no BI do RM + * + * @param {string} sql Código (ID) do SQL cadastrado no RM + * @param {number} coligadaNumber + * @param {string} systemCode + * @param {string} parameters Separe-os com ; e mantenha a sequência que o SQL pede. Ex: CODCOLIGADA=1;CODPROJ=00689 + */ + realizarConsultaSQL(sql:string, coligadaNumber:number, systemCode:string, parameters:string): string; + + /** + * Realiza uma consulta a um SQL previamente cadastrado no BI do RM + * + * @param {string} sql Código (ID) do SQL cadastrado no RM + * @param {number} coligadaNumber + * @param {string} systemCode + * @param {string} username + * @param {string} password + * @param {string} parameters Separe-os com ; e mantenha a sequência que o SQL pede. Ex: CODCOLIGADA=1;CODPROJ=00689 + */ + realizarConsultaSQLAuth(sql:string, coligadaNumber:number, systemCode:string, username:string, password:string, parameters:string): string; +} + +declare namespace com.fluig.sdk.filter { + declare class FilterFieldVO {} + declare class FilterGroupResultVO {} + declare class FilterGroupVO {} + declare class FilterOrderVO {} + declare class FilterResultVO {} + declare class FilterVO {} +} + +declare namespace com.fluig.sdk.identity { + declare class UserAuthTokenSessionVO {} +} + +declare namespace com.fluig.sdk.page { + declare class PageMobileApiVO {} + declare class PageWidgetMobileApiVO {} + declare class PublicApiPageVO {} +} + +/** + * Serviços do Fluig + */ +declare namespace com.fluig.sdk.service { + /** + * Fornece acesso aos serviços de notificações + */ + declare class AlertService { /** - * Atribui o fuso horário + * Método que conta os alertas não lidos de um usuário. */ - setTimezone(timezone: string): void; + countUnreadAlerts(receiverId: number): number; /** - * Atribui o token de acesso + * Método que conta os alertas de um modulo não lidos de um usuário */ - setTokenAccess(token: string): void; + countUnreadAlertsByModule(module: string, receiverId: number): number; /** - * Atribui a senha do token + * Get the number of notification in the tenant */ - setTokenSecret(tokenSecret: string): void; + getTenantTotalOfNotification(): number; /** - * Atribui o UUID + * Busca os alertas com ação vinculada, do usuário logado ordenado pela data de criação. */ - setUserUUID(userUUID: string): void; - } -} + listAlertsWithAction(limit: number, offset: number): java.util.List -declare namespace java.lang { - declare class Object { /** - * Retorna o valor do objeto como uma string + * Busca os alertas com nota, do usuário logado ordenado pela data de criação. */ - toString(): String; - } - - declare class String { - constructor(); - constructor(original: string); + listAlertsWithNote(limit: number, offset: number): java.util.List /** - * Pega o char da posição indicada. - * - * Importante: embora o método deva devolver um char o Fluig - * trata como um número (provavelmente o código ASCII do char). - * - * Se precisar da letra utilize o método substring indicando índice - * inicial e final ou converta utilizando a classe Character. - * - * @example - * var str = new java.lang.String("texto"); - * str.substring(1, 2); // Retornará "e" - * - * var str = new java.lang.String("012"); - * Character.digit(str.charAt(2), 10); // Retornará número 2 - * Character.toString(str.charAt(2)); // Retornará string 2 + * Retorna todas as notificações do usuário logado ordenadas pela data de criação. */ - charAt(index: number): number; + listAllAlerts(limit: number, offset: number): java.util.List /** - * Compara duas strings - * - * Retorna 0 se as strings forem iguais, menor que zero se essa string - * for menor do que a outra string ou maior que zero se essa string for - * maior do que a outra. + * Retorna todas as notificações de um usuário por um único módulo */ - compareTo(anotherString: string): number; + listAllAlertsByModule(module: string, limit: number, offset: number): java.util.List /** - * Compara duas strings ignorando as diferenças de maiúscula e minúscula - * - * Retorna 0 se as strings forem iguais, menor que zero se essa string - * for menor do que a outra string ou maior que zero se essa string for - * maior do que a outra. + * Método marca os alertas informados de um usuário também dado como lidos */ - compareToIgnoreCase(anotherString: string): number; + markAlertAsRead(loginReceiver: string, alertsId: java.util.List): void; /** - * Retorna verdadeiro se essa string contém a string informada + * Método marca todos os alertas de um usuário como lidos. */ - contains(substring: string): boolean; + markAllAlertsAsRead(loginReceiver: string): void; /** - * Retorna verdadeiro se essa string termina com a string informada + * Método que remove os alertas informados de um usuário também dado, esse método também é responsável por remover os senders, places e objects relacionado aos alertas */ - endsWith(suffix: string): boolean; + removeAlerts(loginSender: string, alertsId: java.util.List): void; /** - * Retorna verdadeiro se essa string começa com a string informada + * Salva a configuração de um usuário para receber ou não alertas de um dado evento através de um dado aplicativo. */ - startsWith(prefix: string): boolean; + saveConfiguration(alertConfig: com.fluig.sdk.api.alert.AlertConfigVO): void; /** - * Retorna verdadeiro se ambas strings forem iguais ignorando case + * Envia uma Notificação de Sistema e também um e-mail de notificação + * + * De acordo com o Evento disparado ele dispara e-mail específico da notificação, + * podedendo gerar erro de disparo de e-mail por não ter os dados necessários ao template + * do e-mail disparado. Não descobri como configurar template de e-mail para a notificação nem os dados. + * + * Usando o serviço AlertServiceRest da API REST (antiga) é possível listar os módulos e eventos disponíveis, + * assim como criar novos módulos e eventos para facilitar o disparo de notificações. + * @see https://api.fluig.com/old/resource_AlertServiceRest.html + * + * @example + * var alertService = fluigAPI.getAlertService(); + * + * var objeto = new com.totvs.technology.foundation.alert.GenericAlertObject( + * -1, + * "alertObjectClass", + * "Solicitação de Veículo", + * "2537", + * "", + * "/pageworkflowview?app_ecm_workflowview_detailsProcessInstanceID=2537" + * ); + * + * alertService.sendNotification( + * "FROTA_REAGENDAR_VEICULO", + * null, + * "bruno.gasparetto", + * objeto, + * null, + * null, + * null + * ); + * + * @param eventKey Chave do Evento + * @param loginSender Login de quem enviou a notificação + * @param loginReceiver Login de quem receberá a notificação + * @param object Objeto que identifica a notificação + * @param place Objeto que identifica a origem da notificação + * @param actions Ações + * @param metadata Dados adicionais para tratamento em eventos de notificação */ - equalsIgnoreCase(anotherString: string): boolean; + sendNotification( + eventKey: string, + loginSender:? string, + loginReceiver: string, + object: com.totvs.technology.foundation.alert.AlertObject, + place:? com.totvs.technology.foundation.alert.AlertObject, + actions:? java.util.List, + metadata:? java.util.HashMap + ): void; + } - /** - * Retorna o índice da primeira ocorrência da string informada - */ - indexOf(str: string): number; + declare class ArticleService {} + /** + * Cliente para requisições externas usando autenticação do Fluig + */ + declare class AuthorizeClientSdkService { /** - * Retorna o índice da primeira ocorrência da string informada a partir do índice indicado + * Executa a chamada ao WS + * + * O parâmetro passado deve ser um objeto convertido em string (JSON.stringfy) com as seguintes propriedades: + * + * - companyId; + * - serviceCode: ID do serviço cadastrado no Fluig; + * - endpoint; + * - method: Método HTTP (GET, POST, PUT, DELETE); + * - timeoutService (em segundos); + * - params: Objeto com os valores a serem enviados na requisição; + * - headers: Objeto com os valores a serem enviados no cabeçalho; + * - options: Objeto com as propriedades da requisição: + * - encoding (padrão UTF-8) + * - mediaType (padrão application/json) + * - useSSL (padrão false) + * + * @tutorial https://tdn.totvs.com/pages/releaseview.action?pageId=239041233#Autoriza%C3%A7%C3%A3oparaclientdeServi%C3%A7osREST-Consumindooservi%C3%A7ocomautentica%C3%A7%C3%A3oOAuth1,OAuth2,BasicAuthentication,CustomAuthenticationeNoneAuthentication */ - indexOf(str: string, fromIndex: number): number; + invoke(data: string): com.fluig.sdk.api.authorizeclient.AuthorizeClientSdkServiceVO; + } - /** - * Retorna o índice da última ocorrência da string informada - */ - lastIndexOf(str: string): number; + /** + * Serviço para tratar registros de formulários + */ + declare class CardAPIService { /** - * Retorna o índice da última ocorrência da string informada a partir do índice indicado + * Cria um registro no formulário + * + * @param documentId ID do Formulário + * @param cardFieldVOs Campos e Valores */ - lastIndexOf(str: string, fromIndex: number): number; + create(documentId: number, cardFieldVOs: java.util.ArrayList); /** - * Retorna a quantidade de caracteres da string + * Cria um registro pai filho no registro do formulário + * + * @param cardId ID do registro do formulário + * @param cardFieldVOs Campos e Valores */ - length(): number; + createChild(cardId: number, cardFieldVOs: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardChildrenVO; /** - * Retorna verdadeiro se a string satisfaz a Expressão Regular + * Altera um registro do formulário + * + * @param cardId ID do registro do formulário + * @param cardFieldVOs Campos e Valores */ - matches(regex: string): boolean; + edit(cardId: number, cardFieldVOs: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardFindFieldVO; /** - * Substitui nessa string todos os trechos que satisfaçam a string target - * - * Importante: esse método não aceita Expressão Regular. + * Altera um registro pai filho no registro do formulário * - * @param target Texto a procurar - * @param replacement Texto a substituir + * @param cardId ID do registro do formulário + * @param row Linha do filho na tabela Pai Filho + * @param cardFieldVOs Campos e Valores */ - replace(target: string, replacement: string): String; + editChild(cardId: number, row: number, cardFieldVOs: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardChildrenVO; /** - * Substitui nessa string todos os trechos que satisfaçam a string de Expressão Regular + * Procura os registros do formulário pelo número do formulário e número do registro * - * @param regex String de Expressão Regular - * @param replacement Texto a substituir + * @param documentId ID do Formulário + * @param cardId ID do Registro */ - replaceAll(regex: string, replacement: string): String + findById(documentId: number, cardId: number, fields: java.util.ArrayList, expandedFields: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardFindFieldVO; /** - * Divide a string em arrays satisfazendo a Expressão Regular fornecida + * Procura os registros do formulário filho pelo numero do registro e linha * - * @param regex String de Expressão Regular + * @param cardId ID do Registro do Formulário + * @param row Linha do filho na tabela Pai Filho */ - split(regex: string): String[]; + findChildByCardIdAndRow(cardId: number, row: number, fields: java.util.ArrayList): com.fluig.sdk.api.cardindex.CardChildrenVO; /** - * Divide a string em arrays satisfazendo a Expressão Regular fornecida + * Lista os registros do formulário filho * - * @param regex String de Expressão Regular - * @param limit Número máximo de partes a dividir a string + * @param cardId ID do Registro do Formulário + * @param page Página + * @param pageSize Tamanho da Página + * @param fields Campos */ - split(regex: string, limit: number): String[]; + findChildrenByCardId(cardId: number, page: number, pageSize: number, fields: java.util.ArrayList): com.totvs.technology.foundation.sdk.service.vo.common.ResponseEnvelopeVO; /** - * Retorna uma substring iniciando no índice indicado até o final da string + * Remove um registro de formulário * - * @param beginIndex Índice inicial, começando em 0 + * @param cardId ID do Registro do Formulário */ - substring(beginIndex: number): String; + remove(cardId: number): boolean; /** - * Retorna uma substring iniciando no índice indicado até o índice final + * Remove o registro pai filho do registro do formulário * - * @param beginIndex Índice inicial, começando em 0 - * @param endIndex Índice final, começando em 0 + * @param cardId ID do Registro do Formulário + * @param row Linha do filho na tabela Pai Filho */ - substring(beginIndex: number, endIndex: number): String; + removeChild(cardId: number, row: number): com.fluig.sdk.api.cardindex.CardChildrenVO; + } + declare class CardIndexService {} + declare class CardService {} + declare class CollaborationSDKService {} + declare class CommentService {} + declare class CommunityService {} + declare class ContentFilesService {} + /** + * Fornece acesso aos serviços de documentos (GED) + */ + declare class DocumentService { /** - * Converte a string para letras minúsculas + * Aprova ou reprova um documento. */ - toLowerCase(): String; + approveDocument(documentId: number, version: number, approved: boolean, observation: string): void; /** - * Converte a string para letras maiúsculas + * Copia o documento que esta na área de upload */ - toUpperCase(): String; + copyDocumentToUploadArea(documentId: number): string[]; /** - * Remove espaços em branco do início e fim da string + * Cria o documento com permissões e aprovadores */ - trim(): String; - } + createDocument(documentVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; - declare class Character { /** - * Retorna o caractere como uma String - * - * @param c Código do CHAR + * Cria uma documento privado */ - toString(c: number): String; + createPrivateDocument(companyId: number, userId: string, fileName: string, file: File): com.fluig.sdk.api.document.DocumentVO; /** - * Converte o caractere em um número - * - * @param c Código do CHAR - * @param radix Base a converter (normalmente 10 pra indicar que é decimal) + * Cria uma documento privado */ - digit(c: number, radix: number): number; - } -} - -declare namespace javax.naming { - /** - * Inicia um Contexto - */ - declare class InitialContext { + createPrivateDocument(companyId: number, userId: string, fileName: string, filePath: string): com.fluig.sdk.api.document.DocumentVO; /** - * Recupera o DataSource do Banco de Dados - * - * @param {string} dataSource O nome do dataSource. Ex: /jdbc/PostgreSqlDS - * @throws Exception + * Remove o documento */ - lookup(dataSource: string): javax.sql.DataSource; + deleteDocument(documentId: number): void; /** - * Fecha o contexto ao invés de aguardar o coletor de lixo + * Retorna o documento ativo passado o ID do mesmo. */ - close(): void; - } -} + getActive(documentId: number): com.fluig.sdk.api.document.DocumentVO -declare namespace javax.sql { - declare class DataSource { /** - * Recupera a Conexão com o Banco de Dados - * - * @throws Exception + * Retorna documento com as informações de checkout */ - getConnection(): Connection; - } + getAllocatedDocument(documentId: number, version: number): com.fluig.sdk.api.document.AllocatedDocumentVO; - /** - * Conexão com o Banco de Dados - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html - */ - declare class Connection { - /** - * Cria o objeto que executará o SQL - * - * @throws Exception - */ - createStatement(): Statement; + getCurrentUserPermission(documentId: number): com.fluig.sdk.api.document.SolvedPermissionVO; /** - * Encerra a conexão ao invés de aguardar o coletor de lixo + * Return the approvement history of the document */ - close(): void; - } + getDocumentApprovalHistory(documentId: number): java.util.List; - /** - * Objeto que executa uma instrução SQL - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html - */ - declare class Statement { /** - * Executa um SQL que deve ser uma consulta (SELECT) - * - * @throws Exception + * Retrieve all document approvers and yours status. */ - executeQuery(sql: string): ResultSet; + getDocumentApprovers(documentId: number): java.util.List; /** - * Executa um SQL que modifica algo no banco (INSERT, UPDATE ou DELETE) - * - * @returns {number} Quantidade de registros afetados - * @throws Exception + * Retorna as permissões do documento */ - executeUpdate(sql: string): number; + getDocumentPermissions(documentId: number, version: number): java.util.List; /** - * Executa um SQL árbitrário. Para pegar o resultado precisa utilizar - * - * Caso necessite do resultado deve-se utilizar os métodos getResultSet ou getUpdateCount para recuperar os valores, - * e o método getMoreResults para pegar os demais resultados em consultas que retornam múltiplos resultados. - * - * Este método não pode ser chamado em uma PreparedStatement ou CallableStatement. - * - * @returns {boolean} true se o primeiro resultado for um ResultSet; false se for um contador de update ou sem resultado - * @throws Exception + * Retorna a url do documento + */ + getDownloadURL(documentId: number): string; + + /** + * Retorna a permissão do usuário em um documento. */ - execute(sql: string): boolean; + getUserPermissions(documentId: number, version: number, user: string): number; /** - * Retorna o resultado atual - * - * @throws Exception + * Set Approvers for a specific document */ - getResultSet(): ResultSet; + setDocumentApprovers(documentId: number, documentSecurityVO: com.fluig.sdk.api.document.DocumentSecurityVO): void; /** - * Retorna o contador de linhas atualizadas quando é um update - * - * @returns {number} Retornará -1 quando não há mais resultados - * @throws Exception + * Determina as permissões do documento */ - getUpdateCount(): number; + setDocumentPermissions(documentId: number, permissions: java.util.List): void; /** - * Move para o próximo resultado indicando se conseguiu mover para o próximo - * - * Este método é utlizado quando há um retorno de múltiplos resultados. A cada chamada deste método ele avança para - * o próximo resultado, que você poderá obter usando os métodos getResultSet e getUpdateCount. - * - * @example - * while (stmt.getMoreResults() != false) { - * var result = stmt.getResultSet(); - * } - * - * @returns {boolean} - * @throws Exception + * Update file */ - getMoreResults(): boolean; + updateFile(docVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; /** - * Libera os recursos da execução imediatamente ao invés de aguardar o coletor de lixo + * Valida configurações de documento */ - close(): void; + validateDocumentPublicUrlConfiguration(tenantId: number, documentId: number, version: number): void; } + declare class DocumentationProxyServiceService {} + declare class FavoritesService {} + declare class FilterAPIService {} /** - * Representa o resultado de uma consulta SQL - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html + * Fornece acesso aos serviços de pastas (GED) */ - declare class ResultSet { + declare class FolderDocumentService { + /** + * Criação de uma nova pasta + */ + create(vo: com.fluig.sdk.api.document.FolderVO): com.fluig.sdk.api.document.FolderVO; /** - * Move o cursor para o primeiro resultado da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Recupera um documento através do id */ - first(): boolean; + get(documentId: number): com.fluig.sdk.api.document.DocumentVO; /** - * Move o cursor para o último resultado da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Recupera lista de documentos através do id da pasta */ - last(): boolean; + list(folderId: number): java.util.List; /** - * Move o cursor para o próximo resultado da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Recupera lista de documentos através do id da pasta */ - next(): boolean; + list(folderId: number, permission: number): java.util.List; /** - * Move o cursor para o resultado anterior da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Retorna os documentos de uma pasta */ - previous(): boolean; + listDocumentsByFolder(folderVO: com.fluig.sdk.api.document.FolderVO, limit: number, offset: number): java.util.List; /** - * Pega o número, tipos e propriedades das colunas retornadas na consulta + * Atualiza documento ou pasta */ - getMetaData(): ResultSetMetaData; + updateDocumentDescription(companyId: number, documentId: number, description: string): com.fluig.sdk.api.document.DocumentVO; + } + declare class GlobalParameterService {} + declare class GroupService { /** - * Retorna o valor da coluna como um Objeto Java + * Retorna os usuários de um grupo, mesmo que estejam dentro de subgrupo * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + * @param groupId Código do Grupo + * @param pattern Não sei + * @param limit Limite de usuários retornados (não pode ser 0 ou menor que 0) + * @param offset A partir de qual índice retornará + * @param order Ordem (não sei cmo utilizar) */ - getObject(columnIndex: number): java.lang.Object; - getObject(columnLabel: string): java.lang.Object; + findUsersByGroup(groupId: string, pattern: string, limit: number, offset: number, order: string): java.util.List; + } + + declare class HolidayAPIService {} + declare class I18NService {} + declare class IdentityService {} + declare class JobService {} + declare class LocalAPIService {} + + /** + * Serviço para tratar páginas + */ + declare class PageService { + createPageDraftFromVersion(pageCode: string, pageVersion: number): void; + disable(pageCode: string): void; + enable(pageCode: string): void; /** - * Retorna o valor da coluna como uma string - * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + * Retorna itens de menu da página */ - getString(columnIndex: number): java.lang.String; - getString(columnLabel: string): java.lang.String; + findMenuFromPage(pageCode: string): java.util.List; /** - * Retorna o valor da coluna como um boolean - * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + * Consulta páginas do fluig */ - getBoolean(columnIndex: number): boolean; - getBoolean(columnLabel: string): boolean; + findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean): java.util.List; + findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean, codePage: string): java.util.List; /** - * Retorna o valor da coluna como objeto Date - * - * Esse método retorna um java.sql.Date que herda de java.util.Date. - * Para evitar retrabalho deixei como java.util.Date mesmo. - * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como byte, java.sql.Blob etc. + * Retorna a URL do servidor */ - getDate(columnIndex: number): java.util.Date; - getDate(columnLabel: string): java.util.Date; + getServerURL(): string; /** - * Libera o resultado da consulta imediatamente ao invés de aguardar o coletor de lixo + * Recupera os valores de preferências para uma instância de uma widget. */ - close(): void; - } + getWidgetPreferences(instanceId: number): java.util.HashMap; + + mobileMapping(pageCode: string): com.fluig.sdk.page.PageMobileApiVO; + + hide(pageCode: string): void; + + publishPageDraft(pageCode: string, publicationDescription: string): void; + + pageHistory(pageCode: string): java.util.List; - declare class ResultSetMetaData { /** - * Pega o total de colunas da consulta + * Recarrega o layout de uma página */ - getColumnCount(): number; + reloadPageLayout(pageCode: string): void; /** - * Pega o Nome da Coluna (label) + * Seta o valor de uma preferência para uma instância de uma widget */ - getColumnName(column: number): java.lang.String; + setWidgetPreference(instanceId: number, key: string, value: string): void; + + show(pageCode: string): void; } -} -declare namespace java.text { + declare class PageWidgetService {} + declare class PostService {} + declare class SearchService {} - /** - * Formatador de Datas - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html - */ - declare class SimpleDateFormat { + declare class SecurityService { /** - * Cria um novo formatador de datas com o padrão indicado - * - * Exemplos: - * - * - "dd/MM/yyyy" -> data no formato pt-BR - * - "yyyy-MM-dd" -> data no formato ISO - * - "HH:mm" -> Hora (24h) e minuto - * - "yyyy-MM-dd'T'HH:mm:ss.SSSZ" -> Data completa (Ex: 2021-07-04T12:08:56.235-0700) - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html + * Verifica se o usuário logado possui determinada permissão no recurso informado */ - constructor(formato: string); + hasPermission(resource: string, permission: string): boolean; /** - * Aplica o padrão de data de forma similar ao construtor + * Lista os recursos da categoria */ - applyPattern(formato: string): void; + listResourcesByCategory(category: string, filter: string, offset: number, limit: number): java.util.List /** - * Retorna a data formatada conforme o padrão da formatação + * Lista as permissões do recurso informado */ - format(data: java.util.Date): java.lang.String; + getPermissionsByResourceCode(resourceCode: string): java.util.List /** - * Converte uma string, formatada como indicado no construtor, em um objeto Date + * Crias as permissões para o recurso */ - parse(dataFormatada: string): java.util.Date; - } -} + createPermissions(resourceCode: string, permissions: java.util.List): void; -declare namespace java.util { - declare abstract class Iterator { /** - * Indica se ainda há elementos a percorrer + * Remove as permissões do recurso */ - hasNext(): boolean; + deletePermissions(resourceCode: string, permissions: java.util.List): void; /** - * Pega o próximo elemento + * Recupera o Tenant corrente */ - next(): T; + getCurrentTenant(): com.fluig.sdk.tenant.TenantVO; } - declare abstract class Set { + declare class SocialBreadcrumbService {} + declare class SocialSDKService {} + declare class TagsCloudService {} + declare class TasksService {} + declare class TenantService {} + + /** + * Fornece acesso aos serviços de usuário + */ + declare class UserService { + /** - * Adiciona um elemento ao conjunto + * Ativa um usuário + * + * @param genericId login, userCode (matrícula) ou idpId */ - add(value: T): boolean; + activateByCode(genericId: string): void /** - * Indica se o conjunto está vazio + * Desativa um usuário + * + * @param genericId login, userCode (matrícula) ou idpId */ - isEmpty(): boolean; + deactivateByCode(genericId: string): void /** - * Pega a quantidade de elementos do conjunto + * Adiciona um usuário a um grupo */ - size(): number; + addUserToGroup(tenantId: number, groupCode: string, userVO: com.fluig.sdk.user.UserVO): void; /** - * Remove todos os elementos + * Altera a senha */ - clear(): void; + changeUserPassword(vo: com.fluig.sdk.user.UserPasswordVO): void; /** - * Verifica se existe o elemento - */ - contains(value: T): boolean; + * Cria um novo usuário + */ + create(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + create(tenantId: number, vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; /** - * Pega um iterator para percorrer o conjunto + * Retorna o usuário pelo id */ - iterator(): java.util.Iterator; + findById(id: number): com.fluig.sdk.user.UserVO /** - * Remove o elemento indicado + * Retorna o usuário pelo login */ - remove(value: T): boolean; + findByLogin(login: string): com.fluig.sdk.user.UserVO /** - * Retorna um array com todos os elementos + * Retorna usuário pelo ID */ - toArray(): T[]; - } + findByUserCode(colleagueId: string): com.fluig.sdk.user.UserVO - declare abstract class List { /** - * Pega o elemento no índice indicado + * Retorna o usuário corrente logado */ - get(index: number): T; + getCurrent(): com.fluig.sdk.user.UserVO /** - * Adiciona um elemento à lista + * Pesquisa por usuários baseado em um conjunto de parâmetros. */ - add(value: T): void; + list(offset: number, limit: number): java.util.List; + list(params: java.util.HashMap, offset: number, limit: number): java.util.List; + list(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; /** - * Adiciona todos os elementos da lista indicada para esta lista + * Pesquisa por usuários ativos e inativos baseado em um conjunto de parâmetros. */ - addAll(l: java.util.List): void; + listAll(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; /** - * Indica o tamanho da lista + * Pega todos os dados do usuário especificado pelo login */ - size(): number; + listData(login: string): java.util.HashMap; /** - * Remove todos os elementos + * Pega todos os grupos do usuário especificado pelo login */ - clear(): void; + listGroups(login: string): java.util.List; /** - * Verifica se existe o elemento + * Pega todos os papéis do usuário especificado pelo login */ - contains(value: T): boolean; + listRoles(login: string): java.util.List; /** - * Indica se a lista está vazia + * Remove dados do usuário */ - isEmpty(): boolean; + removeUserData(alias: string, key: string): void; /** - * Pega um iterator para percorrer a lista + * Atualiza o usuário */ - iterator(): java.util.Iterator + updateUser(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; /** - * Remove o elemento + * Atualiza os dados do usuário logado */ - remove(value: T): boolean; + updateUserData(data: java.util.HashMap): boolean; /** - * Retorna um array com todos os elementos da lista + * Atualiza os dados do usuário procurando pelo ID */ - toArray(): T[]; - } + updateUserDataById(data: java.util.HashMap, userId: string): boolean; - declare class ArrayList extends List { + /** + * Atualiza usuário mesmo que esteja desabilitado (inativo) + */ + updateUserEvenDisabled(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; } + declare class WidgetService {} - declare abstract class Map { + /** + * Fornece acesso aos serviços de workflow + */ + declare class WorkflowAPIService { /** - * Pega o elemento no índice indicado + * Faz com que o usuário repassado assuma a tarefa */ - get(name: K): V; + assumeProcessTask(assumeProcessTaskVO: com.fluig.sdk.api.workflow.AssumeProcessTaskVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; + assumeProcessTask(companyId: number, userId: string, processInstanceId: number, movementSequence: number, replacementId: string): com.fluig.sdk.api.workflow.ProcessTaskVO; /** - * Adiciona um elemento + * Faz com que os usuários repassados assumam as tarefas vinculadas aos mesmos */ - put(name: K, value: V): void; + assumeProcessTasks(assumeProcessTasksVO: com.fluig.sdk.api.workflow.AssumeProcessTasksVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; + + cancelInstance(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstanceVO): com.fluig.sdk.api.workflow.CancelInstanceResultVO; + cancelInstances(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstancesVO): com.fluig.sdk.api.workflow.CancelInstancesResultVO; /** - * Indica o tamanho da lista + * Insere um complemento em uma solicitação */ - size(): number; + createProcessObservation(processObservationVO: com.fluig.sdk.api.workflow.ProcessObservationVO): com.fluig.sdk.api.workflow.ProcessObservationVO; + + findAssignedToMeTasks(processId: string, initialStartDate: string, finalStartDate: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + + findManagedByMeTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; /** - * Remove todos os elementos + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante */ - clear(): void; + findMyRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, assignee: string, manager: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + + findMyRequestsTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; /** - * Copia todos os elementos do mapa indicado para este mapa + * Retorna a lista de complementos em uma solicitação */ - putAll(m: java.util.Map): void; + findObservations(processInstanceId: number, stateSequence: number, threadSequence: number): java.util.List; /** - * Retorna um conjunto com as chaves do Mapa + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável */ - keySet(): java.util.Set; + findRequestSLAByProcessInstanceId(processInstanceId: number, populateCurrentTasks: boolean, calculate: boolean, populateCardFields: boolean, populateLocals: boolean, assigneeLocals: boolean): com.fluig.sdk.api.workflow.RequestSLAVO; + findRequestSLAByProcessInstanceId(processInstanceId: string, expand: string, calculate: string): com.fluig.sdk.api.workflow.RequestSLAVO; /** - * Retorna verdadeiro se houver item para a chave indicada + * Recupera uma lista das solicitações de SLA dos processos configurados */ - containsKey(name: K): boolean; + findRequestsSLA(): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, returnCurrentTasks: boolean, requester: string, assignee: string, manager: string, requesterLocals: java.util.List, assigneeLocals: java.util.List, orderParams: java.util.List, calculate: boolean, page: number, pageSize: number, populateCardFields: boolean, populateLocalsValue: boolean, populateAssigneeLocalsValue: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; /** - * Retorna verdadeiro se o mapa está vazio + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável */ - isEmpty(): boolean; + findRequestsSLAAssignedToMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; /** - * Remove o elemento indicado pela chave + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor */ - remove(name: K): V; - } - - declare class HashMap extends java.util.Map { - } + findRequestsSLAManagedByMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; - declare class LinkedHashSet extends java.util.Set { - } + findSLATasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; - declare class LinkedHashMap extends java.util.HashMap { - } + /** + * Retorna uma lista das atividades pendentes de um processo + */ + getActiveTasks(processInstanceId: number): com.fluig.sdk.api.workflow.ProcessInstanceInfoVO; - declare class Date { + /** + * Retorna uma lista de processos disponíveis para o usuário + */ + getAvailableProcess(tenantId: number, userId: string): java.util.List; /** - * Inicializa com a data do momento que o objeto foi criado + * Retorna a versão de um processo */ - constructor(); + getProcessVersion(processId: string): number; /** - * Inicializa com a data em milisegundos decorridos desde 1970-01-01 00:00:00 GMT + * Retorna todos os processos da empresa */ - constructor(date: number); + listProcess(pattern: string, limit: number, offset: number): java.util.List; /** - * Compara se essa data é posterior à data indicada + * Retorna todos os processos da empresa */ - after(when: Date): boolean; + listSlaProcess(): java.util.List; + + resumeAssignedToMeTasks(processId: string, startDate: string, endDate: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + resumeManagedByMeTasks(processId: string, startDate: string, endDate: string, requester: string, assignee: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; /** - * Compara se essa data é anterior à data indicada + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante */ - before(when: Date): boolean; + resumeMyRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + + resumeMyRequestsTasks(processId: string, startDate: string, endDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; /** - * Retorna o dia do mês - * - * @deprecated Usar Calendar.get(Calendar.DAY_OF_MONTH) + * Recupera um resumo dos indicadores de SLA dos processos configurados */ - getDate(): number; + resumeRequestsSLA(): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, requester: string, assignee: string, manager: string, requesterLocalsList: java.util.List, assigneeLocalsList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; /** - * Retorna o dia da semana - * - * @deprecated Usar Calendar.get(Calendar.DAY_OF_WEEK) + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável */ - getDay(): number; + resumeRequestsSLAAssignedToMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; /** - * Retorna a hora - * - * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY) + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor */ - getHours(): number; + resumeRequestsSLAManagedByMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + + resumeSLATasks(processId: string, startDate: string, endDate: string, assignee: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + } +} +declare namespace com.fluig.sdk.tenant { + declare class AdminUserVO { /** - * Retorna os minutos - * - * @deprecated Usar Calendar.get(Calendar.MINUTE) + * Recupera valor do code */ - getMinutes(): number; + getCode(): java.lang.String; /** - * Retorna o mês - * - * @deprecated Usar Calendar.get(Calendar.MONTH) + * Recupera valor do email */ - getMonth(): number; + getEmail(): java.lang.String; /** - * Retorna os segundos - * - * @deprecated Usar Calendar.get(Calendar.SECOND) + * Recupera valor do firstName */ - getSeconds(): number; + getFirstName(): java.lang.String; /** - * Retorna o ano - * - * @deprecated Usar Calendar.get(Calendar.YEAR) - 1900 + * Recupera valor do lastName */ - getYear(): number; + getLastName(): java.lang.String; /** - * Atribui o dia do mês - * - * @deprecated Usar Calendar.set(Calendar.DAY_OF_MONTH, dia) + * Recupera valor do login */ - setDate(): number; + getLogin(): java.lang.String; + } + declare class TenantVO { /** - * Atribui a hora - * - * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY, hora) + * Recupera valor do adminUser */ - setHours(): number; + getAdminUser(): AdminUserVO; /** - * Atribui os minutos - * - * @deprecated Usar Calendar.set(Calendar.MINUTE, minutos) + * Recupera valor do Tenant Code */ - setMinutes(): number; + getCode(): java.lang.String; /** - * Atribui o mês - * - * @deprecated Usar Calendar.set(Calendar.MONTH, mes) + * Recupera valor do data */ - setMonth(): number; + getData(): java.util.Map /** - * Atribui os segundos - * - * @deprecated Usar Calendar.set(Calendar.SECOND, segundos) + * Recupera valor do description */ - setSeconds(): number; + getDescription(): java.lang.String; /** - * Atribui o ano - * - * @deprecated Usar Calendar.set(Calendar.YEAR, ano + 1900) + * Recupera valor do federalId */ - setYear(): number; - } + getFederalId(): java.lang.String; - /** - * A Classe Calendar não deve ser instanciada com operador new. Use sempre o método getInstance(). - * - * Essa classe á abstrata e o Java normalmente vai instanciar um GregorianCalendar quando chamada a getInstance(). - */ - declare abstract class Calendar { /** - * Cria uma instância de Calendário - * - * Essa classe é abstrata, por isso não é possível instanciá-la diretamente. + * Recupera valor do id */ - static getInstance(): Calendar; + getId(): number; - // Constantes indicando os valores dos meses + /** + * Recupera valor do idpId + */ + getIdpId(): java.lang.String; /** - * Indica o valor de Janeiro + * Recupera valor do idpLogOff */ - static const JANUARY: number; + getIdpLogOff(): boolean; /** - * Indica o valor de Fevereiro + * Recupera valor do organizationUrl */ - static const FEBRUARY: number; + getOrganizationUrl(): java.lang.String; /** - * Indica o valor de Março + * Recupera valor do removeVolume */ - static const MARCH: number; + getRemoveVolume(): boolean; /** - * Indica o valor de Abril + * Recupera o valor para tenantActive */ - static const APRIL: number; + getTenantActive(): boolean; /** - * Indica o valor de Maio + * Recupera valor do thumbnailEnabled */ - static const MAY: number; + getThumbnailEnabled(): boolean; /** - * Indica o valor de Junho + * Recupera valor do volumeDir */ - static const JUNE: number; + getVolumeDir(): java.lang.String; + } +} + +declare namespace com.fluig.sdk.user { + /** + * Representa um colleague (que acho ser o mesmo que user, mas o Flug quis diferenciar) + */ + declare class ColleagueVO { /** - * Indica o valor de Julho + * Pega o e-mail */ - static const JULY: number; + getEmail(): java.lang.String /** - * Indica o valor de Agosto + * Pega o nome completo */ - static const AUGUST: number; + getFullName(): java.lang.String /** - * Indica o valor de Setembro + * Pega o primeiro nome */ - static const SEPTEMBER: number; + getFirstName(): java.lang.String; /** - * Indica o valor de Outubro + * Pega o sobrenome */ - static const OCTOBER: number; + getLastName(): java.lang.String; /** - * Indica o valor de Novembro + * Pega o login */ - static const NOVEMBER: number; + getLogin(): java.lang.String; /** - * Indica o valor de Dezembro + * Pega o código */ - static const DECEMBER: number; + getCode(): java.lang.String - // Constantes de horário + /** + * Atribui o login + */ + setLogin(login: string): void; /** - * Indica que a hora é antes de meio dia + * Atribui o primeiro nome */ - static const AM: number; + setFirstName(firstName: string): void; /** - * Indica que a hora é após meio dia + * Atribui o sobrenome */ - static const PM: number; + setLastName(lastName: string): void; - // Constantes de dia da semana + /** + * Atribui o nome completo + */ + setFullName(fullName: string): void; /** - * Indica que é Domingo + * Atribui o código */ - static const SUNDAY: number; + setCode(code: string): void; /** - * Indica que é segunda-feira + * Atribui o e-mail */ - static const MONDAY: number; + setEmail(email: string): void; + } + declare class UserPasswordVO {} + + /** + * Representa um Usuário + */ + declare class UserVO { /** - * Indica que é terça-feira + * Pega o e-mail */ - static const TUESDAY: number; + getEmail(): java.lang.String /** - * Indica que é quarta-feira + * Pega o nome completo */ - static const WEDNESDAY: number; + getFullName(): java.lang.String /** - * Indica que é quinta-feira + * Pega o primeiro nome */ - static const THURSDAY: number; + getFirstName(): java.lang.String; /** - * Indica que é sexta-feira + * Pega o sobrenome */ - static const FRIDAY: number; + getLastName(): java.lang.String; /** - * Indica que é Sábado + * Pega o login */ - static const SATURDAY: number; + getLogin(): java.lang.String; + /** + * Pega o código + */ + getCode(): java.lang.String - // Constantes de campo + /** + * Pega todos os dados extras + */ + getExtData(): java.util.HashMap; /** - * Campo que indica se horário é antes ou depois do meio dia + * Pega um dado extra */ - static const AM_PM: number; + getExtraData(key: string): object; /** - * Campo que indica o dia do mês + * Pega os grupos */ - static const DATE: number; + getGroups(): java.util.List; /** - * Campo que indica o dia do mês + * Pega o ID */ - static const DAY_OF_MONTH: number; + getId(): number; /** - * Campo que indica o dia da semana + * Informa se é um usuário Ativo */ - static const DAY_OF_WEEK: number; + getIsActive(): boolean; /** - * Campo que indica o dia do ano + * Pega a senha */ - static const DAY_OF_YEAR: number; + getPassword(): string; /** - * Campo que indica a hora antes ou depois do meio dia (12h) + * Pega o fuso horário */ - static const HOUR: number; + getTimezone(): java.lang.String; /** - * Campo que indica a hora do dia (24h) + * Pega os papéis */ - static const HOUR_OF_DAY: number; + getRoles(): java.util.List; /** - * Campo que indica os milissegundos + * Pega o token de acesso */ - static const MILLISECOND: number; + getTokenAccess(): java.lang.String; /** - * Campo que indica os minutos + * Pega a senha do token */ - static const MINUTE: number; + getTokenSecret(): java.lang.String; /** - * Campo que indica o mês + * Pega o UUID */ - static const MONTH: number; + getUserUUID(): java.lang.String; /** - * Campo que indica os segundos + * Retorna objeto no mapa */ - static const SECOND: number; + getValueExtData(key: string): object; + + /** + * Adiciona dados extras + */ + addExtData(key: string, value: object): void; /** - * Campo que indica a semana do mês + * Atribui o código */ - static const WEEK_OF_MONTH: number; + setCode(code: string): void; /** - * Campo que indica a semana do ano + * Atribui o e-mail */ - static const WEEK_OF_YEAR: number; + setEmail(email: string): void; /** - * Campo que indica o ano + * Atribui os dados extras */ - static const YEAR: number; + setExtData(extData: java.util.HashMap): void; /** - * Retorna o valor do campo indicado - * - * @param {number} campo Uma das constantes da classe indicando o campo + * Atribui um valor para um dado extra */ - get(campo: number): number; + setExtraData(key: string, value: object): void; /** - * Atribui o valor ao campo indicado - * - * @param {number} campo Uma das constantes da classe indicando o campo - * @param {number} valor O valor que será atribuído ao campo + * Atribui o primeiro nome */ - set(campo: number, valor: number): void; + setFirstName(firstName: string): void; /** - * Retorna o calendário como um objeto Date + * Atribui o sobrenome */ - getTime(): Date; + setLastName(lastName: string): void; /** - * Configura o calendário usando um objeto Date + * Atribui o nome completo */ - setTime(data: Date): void; + setFullName(fullName: string): void; /** - * Compara se essa data é posterior à data indicada + * Atribui os grupos */ - after(data: Calendar): boolean; + setGroups(groups: java.util.List): void; /** - * Compara se essa data é anterior à data indicada + * Atribui o ID */ - before(data: Calendar): boolean; + setId(id: number): void; /** - * Configura o calendário com o Ano, Mês e Dia + * Atribui o status de Ativo */ - set(ano: number, mes: number, dia: number): void; + setIsActive(isActive: boolean): void; /** - * Configura o calendário com o Ano, Mês, Dia, Hora e Minutos + * Atribui o login */ - set(ano: number, mes: number, dia: number, hora: number, minutos: number): void; + setLogin(login: string): void; /** - * Configura o calendário com o Ano, Mês, Dia, Hora, Minutos e Segundos + * Atribui a senha */ - set(ano: number, mes: number, dia: number, hora: number, minutos: number, segundos: number): void; + setPassword(password: string): void; /** - * Adiciona ou Subtrai 1 unidade do campo indicado - * - * @param {number} campo Uma das constantes de campo - * @param {boolean} aumentaValor Se for true aumentará o campo, senão ele será diminuído + * Atribui os papéis */ - roll(campo: number, aumentaValor: boolean): void; + setRoles(roles: java.util.List): void; /** - * Adiciona ou Subtrai unidades do campo indicado - * - * @param {number} campo Uma das constantes de campo - * @param {boolean} valor Valor que será utilizado no cálculo. Se positivo aumentará, se negativo diminuirá + * Atribui o fuso horário */ - roll(campo: number, valor: number): void; + setTimezone(timezone: string): void; /** - * Adiciona ou subtrai a quantidade indicada do campo indicado - * - * @param campo Uma das constantes de campo - * @param valor Valor que será utilizado no cálculo. Se negativo vai subtrair + * Atribui o token de acesso */ - add(campo: number, valor: number): void; - } + setTokenAccess(token: string): void; - declare class UUID { /** - * Cria um UUID tipo 4 (geração pseudo aleatória) + * Atribui a senha do token */ - static randomUUID(): UUID; + setTokenSecret(tokenSecret: string): void; /** - * Retorna uma string representando o UUID + * Atribui o UUID */ - toString(): java.lang.String; + setUserUUID(userUUID: string): void; } } diff --git a/package-lock.json b/package-lock.json index 5f4d622..83ed401 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "devDependencies": { "gulp": "^4.0.2", + "gulp-cli": "^2.3.0", "gulp-concat": "^2.6.1" } }, diff --git a/package.json b/package.json index 65e1d82..bff59b4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fluig-declaration-type", - "version": "1.2.0", + "version": "1.3.0", "description": "Fluig decaration types", "types": "fluig.d.ts", "scripts": { @@ -22,6 +22,7 @@ "homepage": "https://github.com/brunogasparetto/fluig-declaration-type#readme", "devDependencies": { "gulp": "^4.0.2", + "gulp-cli": "^2.3.0", "gulp-concat": "^2.6.1" } } diff --git a/src/fluigSoap/ECMCardService.d.ts b/src/fluigSoap/ECMCardService.d.ts new file mode 100644 index 0000000..26b0fb3 --- /dev/null +++ b/src/fluigSoap/ECMCardService.d.ts @@ -0,0 +1,60 @@ +declare namespace com.totvs.technology.ecm.dm.ws { + + /** + * Serviço para tratar registros de formulários + */ + declare class CardService { + + /** + * Cria um registro de formulário + */ + create(companyId: number, username: string, password: string, card: CardDtoArray): WebServiceMessageArray; + + /** + * Atualiza o registro do formulário + */ + updateCardData(companyId: number, username: string, password: string, cardId: number, cardData: CardFieldDtoArray): WebServiceMessageArray; + + /** + * Apaga o registro do formulário + */ + deleteCard(companyId: number, username: string, password: string, cardId: number): WebServiceMessageArray; + } + + /** + * Representa um Documento/Formulário + */ + declare class CardDto { + setUserNotify(notify: boolean): void; + setInheritSecurity(inherit: boolean): void; + setDocumentDescription(description: string): void; + setParentDocumentId(parentId: number): void; + getCardData(): java.util.List; + } + + /** + * Representa um campo do Documento/Formulário + */ + declare class CardFieldDto { + setField(field: string): void; + setValue(value: string): void; + } + + /** + * Representa um conjunto de Documentos/Formulários + * + * Utilizado ao criar um documento/formulário. + */ + declare class CardDtoArray { + getItem(): java.util.List; + } + + /** + * Representa um conjunto de campos do Documento/Formulário + * + * Utilizado ao editar um documento/formulário. + */ + declare class CardFieldDtoArray { + getItem(): java.util.List; + } +} diff --git a/src/fluigSoap/ECMDocumentService.d.ts b/src/fluigSoap/ECMDocumentService.d.ts new file mode 100644 index 0000000..a877759 --- /dev/null +++ b/src/fluigSoap/ECMDocumentService.d.ts @@ -0,0 +1,78 @@ +declare namespace com.totvs.technology.ecm.dm.ws { + /** + * Serviço para gerenciar os documentos via SOAP + * + * @example + * var serviceHelper = ServiceManager.getService("ECMDocumentService").getBean(); + * + * // Instanciando o objeto da classe DocumentService + * var service = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.ECMDocumentServiceService") + * .getDocumentServicePort() + * ; + */ + declare class DocumentService { + /** + * Cria um documento do jeito simplificado + */ + createSimpleDocument( + username: string, + password: string, + companyId: number, + folderId: number, + publisherCode: string, + fileName: string, + attachmentArray: AttachmentArray + ): WebServiceMessageArray; + + /** + * Pega o conteúdo de um arquivo do GED + */ + getDocumentContent( + username: string, + password: string, + companyId: number, + documentId: number, + userCode: string, + version: number, + documentDescription: string + ): java.lang.Byte[]; + } + + declare class Attachment { + setFileName(fileName: string): void; + setFileSize(fileSize: number): void; + setAttach(isAttach: boolean): void; + setEditing(isEditing: boolean): void; + setPrincipal(isPrincipal: boolean): void; + + /** + * Configura o conteúdo do arquivo + * + * @param content Conteúdo em ByteArray + * + * @example + * var serviceHelper = ServiceManager + * .getService("ECMDocumentService") + * .getBean() + * ; + * + * var service = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.ECMDocumentServiceService") + * .getDocumentServicePort() + * ; + * + * var attachment = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.Attachment") + * ; + * + * // Inserindo conteúdo em Base64 + * attachment.setFileContent(java.util.Base64.getDecoder().decode(new java.lang.String("string em Base64").getBytes("UTF-8")) + */ + setFilecontent(content: java.lang.Byte[]): void; + } + + declare class AttachmentArray { + getItem(): java.util.List; + } +} diff --git a/src/fluigSoap/ECMFolderService.d.ts b/src/fluigSoap/ECMFolderService.d.ts new file mode 100644 index 0000000..bd54e74 --- /dev/null +++ b/src/fluigSoap/ECMFolderService.d.ts @@ -0,0 +1,337 @@ +declare namespace com.totvs.technology.ecm.dm.ws { + /** + * Serviço para gerenciar as pastas via SOAP + * + * @example + * var serviceHelper = ServiceManager.getService("ECMFolderService").getBean(); + * + * // Instanciando o objeto da classe FolderService + * var service = serviceHelper + * .instantiate("com.totvs.technology.ecm.dm.ws.ECMFolderServiceService") + * .getFolderServicePort() + * ; + */ + declare class FolderService { + /** + * Cria uma pasta de forma simplificada + */ + createSimpleFolder( + username: string, + password: string, + companyId: number, + parentId: number, + publisherCode: string, + folderName: string + ): com.totvs.technology.ecm.dm.ws.WebServiceMessageArray; + + /** + * Pega todas as pastas filhas da pasta indicada em documentId + */ + getSubFolders( + username: string, + password: string, + colleagueCode: string, + companyId: number, + documentId: number + ): DocumentDtoArray; + } + + declare class DocumentDtoArray { + getItem(): java.util.List; + } + + declare class DocumentDto { + getAccessCount(): java.lang.Integer; + setAccessCount(value: java.lang.Integer): void; + + isActiveUserApprover(): boolean; + setActiveUserApprover(value: boolean): void; + + isActiveVersion(): boolean; + setActiveVersion(value: boolean): void; + + getAdditionalComments(): java.lang.String; + setAdditionalComments(value: java.lang.String): void; + + isAllowMuiltiCardsPerUser(): boolean; + setAllowMuiltiCardsPerUser(value: boolean): void; + + isApprovalAndOr(): boolean; + setApprovalAndOr(value: boolean): void; + + isApproved(): boolean; + setApproved(value: boolean): void; + + getApprovedDate(): java.util.Calendar; + setApprovedDate(value: java.util.Calendar): void; + + getArticleContent(): java.lang.String; + setArticleContent(value: java.lang.String): void; + + getAttachments(): java.util.List; + + getAtualizationId(): java.lang.Integer; + setAtualizationId(value: java.lang.Integer): void; + + getBackgroundColor(): java.lang.String; + setBackgroundColor(value: java.lang.String): void; + + getBackgroundImage(): java.lang.String; + setBackgroundImage(value: java.lang.String): void; + + getBannerImage(): java.lang.String; + setBannerImage(value: java.lang.String): void; + + getCardDescription(): java.lang.String; + setCardDescription(value: java.lang.String): void; + + getColleagueId(): java.lang.String; + setColleagueId(value: java.lang.String): void; + + getColleagueName(): java.lang.String; + setColleagueName(value: java.lang.String): void; + + getCompanyId(): number; + setCompanyId(value: number): void; + + getConvertDocumentType(): java.lang.Integer; + setConvertDocumentType(value: java.lang.Integer): void; + + getCrc(): number; + setCrc(value: number): void; + + getCreateDate(): java.util.Calendar; + setCreateDate(value: java.util.Calendar): void; + + getCreateDateInMilliseconds(): number; + setCreateDateInMilliseconds(value: number): void; + + getDatasetName(): java.lang.String; + setDatasetName(value: java.lang.String): void; + + isDateFormStarted(): boolean; + setDateFormStarted(value: boolean): void; + + isDeleted(): boolean; + setDeleted(value: boolean): void; + + getDocumentDescription(): java.lang.String; + setDocumentDescription(value: java.lang.String): void; + + getDocumentId(): java.lang.Integer; + setDocumentId(value: java.lang.Integer): void; + + getDocumentKeyWord(): java.lang.String; + setDocumentKeyWord(value: java.lang.String): void; + + getDocumentPropertyNumber(): java.lang.Integer; + setDocumentPropertyNumber(value: java.lang.Integer): void; + + getDocumentPropertyVersion(): java.lang.Integer; + setDocumentPropertyVersion(value: java.lang.Integer): void; + + getDocumentType(): java.lang.String; + setDocumentType(value: java.lang.String): void; + + getDocumentTypeId(): java.lang.String; + setDocumentTypeId(value: java.lang.String): void; + + isDownloadEnabled(): boolean; + setDownloadEnabled(value: boolean): void; + + isDraft(): boolean; + setDraft(value: boolean): void; + + getExpirationDate(): java.util.Calendar; + setExpirationDate(value: java.util.Calendar): void; + + isExpiredForm(): boolean; + setExpiredForm(value: boolean): void; + + isExpires(): boolean; + setExpires(value: boolean): void; + + getExternalDocumentId(): java.lang.String; + setExternalDocumentId(value: java.lang.String): void; + + isFavorite(): boolean; + setFavorite(value: boolean): void; + + getFileURL(): java.lang.String; + setFileURL(value: java.lang.String): void; + + getFolderId(): java.lang.Integer; + setFolderId(value: java.lang.Integer): void; + + isForAproval(): boolean; + setForAproval(value: boolean): void; + + getHashAnnotations(): java.lang.String; + setHashAnnotations(value: java.lang.String): void; + + getIconId(): java.lang.Integer; + setIconId(value: java.lang.Integer): void; + + getIconPath(): java.lang.String; + setIconPath(value: java.lang.String): void; + + isImutable(): boolean; + setImutable(value: boolean): void; + + isIndexed(): boolean; + setIndexed(value: boolean): void; + + isInheritApprovers(): boolean; + setInheritApprovers(value: boolean): void; + + isInheritSecurity(): boolean; + setInheritSecurity(value: boolean): void; + + isInternalVisualizer(): boolean; + setInternalVisualizer(value: boolean): void; + + isIsEncrypted(): boolean; + setIsEncrypted(value: boolean): void; + + getKeyWord(): java.lang.String; + setKeyWord(value: java.lang.String): void; + + getLanguageId(): java.lang.String; + setLanguageId(value: java.lang.String): void; + + getLanguageIndicator(): java.lang.String; + setLanguageIndicator(value: java.lang.String): void; + + getLastModifiedDate(): java.util.Calendar; + setLastModifiedDate(value: java.util.Calendar): void; + + getLastModifiedTime(): java.lang.String; + setLastModifiedTime(value: java.lang.String): void; + + getMetaListId(): java.lang.Integer; + setMetaListId(value: java.lang.Integer): void; + + getMetaListRecordId(): java.lang.Integer; + setMetaListRecordId(value: java.lang.Integer): void; + + isNewStructure(): boolean; + setNewStructure(value: boolean): void; + + getNotificationDays(): java.lang.Integer; + setNotificationDays(value: java.lang.Integer): void; + + isOnCheckout(): boolean; + setOnCheckout(value: boolean): void; + + getParentDocumentId(): java.lang.Integer; + setParentDocumentId(value: java.lang.Integer): void; + + getPdfRenderEngine(): java.lang.String; + setPdfRenderEngine(value: java.lang.String): void; + + getPermissionType(): java.lang.Integer; + setPermissionType(value: java.lang.Integer): void; + + getPhisicalFile(): java.lang.String; + setPhisicalFile(value: java.lang.String): void; + + getPhisicalFileSize(): number; + setPhisicalFileSize(value: number): void; + + getPriority(): java.lang.Integer; + setPriority(value: java.lang.Integer): void; + + getPrivateColleagueId(): java.lang.String; + setPrivateColleagueId(value: java.lang.String): void; + + isPrivateDocument(): boolean; + setPrivateDocument(value: boolean): void; + + isProtectedCopy(): boolean; + setProtectedCopy(value: boolean): void; + + isPublicDocument(): boolean; + setPublicDocument(value: boolean): void; + + getPublisherId(): java.lang.String; + setPublisherId(value: java.lang.String): void; + + getPublisherName(): java.lang.String; + setPublisherName(value: java.lang.String): void; + + getQuota(): java.lang.Integer; + setQuota(value: java.lang.Integer): void; + + getRelatedFiles(): java.lang.String; + setRelatedFiles(value: java.lang.String): void; + + getRestrictionType(): java.lang.Integer; + setRestrictionType(value: java.lang.Integer): void; + + getRowId(): java.lang.Integer + setRowId(value: number): void; + + getSearchNumber(): java.lang.Integer; + setSearchNumber(value: java.lang.Integer): void; + + getSecurityLevel(): java.lang.Integer + setSecurityLevel(value: number): void; + + getSiteCode(): java.lang.String; + setSiteCode(value: java.lang.String): void; + + getSociableDocumentDto(): SociableDocumentDto; + setSociableDocumentDto(value: SociableDocumentDto): void; + + getSocialDocument(): java.lang.String; + setSocialDocument(value: java.lang.String): void; + + isTool(): boolean; + setTool(value: boolean): void; + + getTopicId(): java.lang.Integer; + setTopicId(value: java.lang.Integer): void; + + isTranslated(): boolean; + setTranslated(value: boolean): void; + + getUUID(): java.lang.String; + setUUID(value: java.lang.String): void; + + isUpdateIsoProperties(): boolean; + setUpdateIsoProperties(value: boolean): void; + + isUserAnswerForm(): boolean; + setUserAnswerForm(value: boolean): void; + + isUserNotify(): boolean; + setUserNotify(value: boolean): void; + + getUserPermission(): java.lang.Integer; + setUserPermission(value: java.lang.Integer): void; + + getValidationStartDate(): java.util.Calendar; + setValidationStartDate(value: java.util.Calendar): void; + + getVersion(): java.lang.Integer + setVersion(value: number): void; + + getVersionDescription(): java.lang.String; + setVersionDescription(value: java.lang.String): void; + + getVersionOption(): java.lang.String; + setVersionOption(value: java.lang.String): void; + + getVisualization(): java.lang.String; + setVisualization(value: java.lang.String): void; + + getVolumeId(): java.lang.String; + setVolumeId(value: java.lang.String): void; + + getWatermarkId(): java.lang.Integer; + setWatermarkId(value: java.lang.Integer): void; + } + + declare class SociableDocumentDto {} +} + diff --git a/src/fluigSoap/WebServiceMessage.d.ts b/src/fluigSoap/WebServiceMessage.d.ts new file mode 100644 index 0000000..b21498a --- /dev/null +++ b/src/fluigSoap/WebServiceMessage.d.ts @@ -0,0 +1,13 @@ +declare namespace com.totvs.technology.ecm.dm.ws { + declare class WebServiceMessage { + getCompanyId(): number; + getDocumentDescription(): java.lang.String; + getDocumentId(): java.lang.Integer; + getVersion(): number; + getWebServiceMessage(): java.lang.String; + } + + declare class WebServiceMessageArray { + getItem(): java.util.List; + } +} diff --git a/src/java/lang.d.ts b/src/java/lang.d.ts index 122e220..69f0146 100644 --- a/src/java/lang.d.ts +++ b/src/java/lang.d.ts @@ -189,4 +189,6 @@ declare namespace java.lang { */ parseInt(value: String): number; } + + declare class Byte extends Object {} }