jsegd-fluig-types 1.0.27 → 1.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,245 +1,190 @@
1
1
  # jsegd-fluig-types
2
2
 
3
- ![Version](https://img.shields.io/badge/version-1.0.23-blue.svg)
3
+ ![Version](https://img.shields.io/badge/version-1.0.28-blue.svg)
4
4
  ![License](https://img.shields.io/badge/license-CC--BY--NC--ND--4.0-green.svg)
5
5
 
6
- Pacote de tipos TypeScript para desenvolvimento com a plataforma Fluig. Este pacote fornece tipagens completas para APIs do Fluig, facilitando o desenvolvimento tanto no frontend quanto no backend, incluindo suporte para webservices e implementações duais de DatasetFactory.
6
+ Definições de tipos TypeScript (`.d.ts`) para desenvolvimento na plataforma **Fluig**, cobrindo APIs frontend, eventos de workflow, datasets, SDK Java, webservices e classes Java básicas usadas no runtime Rhino.
7
+
8
+ ## 🎯 Objetivo
9
+
10
+ Disponibilizar tipagem global para todos os identificadores expostos pelo Fluig em scripts de:
11
+
12
+ - **Frontend** (widgets, formulários, eventos): `FLUIGC`, `WCMAPI`, `Datatable`, `Modal`, `Toast`, `Autocomplete`, `formMode`, etc.
13
+ - **Backend / Workflow** (Rhino + Java): `hAPI`, `log`, `globalVars`, `getValue`, `ServiceManager`, `JSONUtil`, `FormController`, `customHTML`.
14
+ - **Datasets**: `DatasetFactory`, `DatasetBuilder`, `DefaultDataset`, `AddColumn`, `setKey`, `addIndex`, `defineStructure`, `onSync`, `onMobileSync`, `createDataset`, `ConstraintType`, `DatasetFieldType`.
15
+ - **SDK Java do Fluig**: namespaces `com.fluig.sdk.*` (services, VOs, OAuth).
16
+ - **Webservice ECM**: `com.totvs.technology.ecm.workflow.ws.ECMWorkflowEngineServiceService` e DTOs relacionados.
17
+ - **Java**: `java.util.*`, `java.lang.*`, `java.sql.*`, `javax.naming.*`, `javax.sql.*`.
18
+
19
+ Todos os símbolos são declarados em `declare global { ... }`, ficando disponíveis sem `import` em qualquer arquivo `.ts` do projeto consumidor.
7
20
 
8
21
  ## 📦 Instalação
9
22
 
10
23
  ```bash
11
- npm install jsegd-fluig-types
24
+ npm install -D jsegd-fluig-types
12
25
  ```
13
26
 
14
- ## 🚀 Uso
27
+ ou com yarn:
15
28
 
16
- ### Importação Global
29
+ ```bash
30
+ yarn add -D jsegd-fluig-types
31
+ ```
17
32
 
18
- ```typescript
19
- // Importa todos os tipos disponíveis
20
- import "jsegd-fluig-types";
33
+ ou com pnpm:
34
+
35
+ ```bash
36
+ pnpm add -D jsegd-fluig-types
21
37
  ```
22
38
 
23
- ### Uso em Projetos Fluig
39
+ ## 🚀 Uso
40
+
41
+ ### Carregamento global
42
+
43
+ Adicione uma única referência num arquivo de bootstrap (ex.: `src/types/global.d.ts`):
24
44
 
25
- #### Frontend (Widget/Portal)
26
45
  ```typescript
27
- // Os tipos estarão disponíveis globalmente
28
- // Exemplo: usando tipos de formulário
29
- const mode: FormMod = FormMod.ADD;
30
-
31
- // Exemplo: usando DatasetFactory no frontend (retorna DatasetWcmResult)
32
- DatasetFactory.getDataset(
33
- "colleague",
34
- ["colleagueId", "colleagueName"],
35
- constraints,
36
- ["colleagueName"]
37
- ).then(result => {
38
- // result é do tipo DatasetWcmResult
39
- console.log(result.columns); // string[]
40
- console.log(result.values); // unknown[]
41
- });
42
-
43
- // Exemplo: usando componentes de autocomplete
44
- const autocompleteConfig: AutocompleteOptions = {
45
- type: AutocompleteTypes.tag,
46
- // ... outras configurações
47
- };
46
+ import 'jsegd-fluig-types'
48
47
  ```
49
48
 
50
- #### Backend (Dataset/Evento de Workflow)
51
- ```typescript
52
- // Tipos para datasets (retorna DefaultDataset com tipos Java)
53
- function createDataset(fields: string[], constraints: SearchConstraint[]): DefaultDataset {
54
- const dataset = DatasetFactory.getDataset("myDataset", fields, constraints, []);
55
- // dataset é do tipo DefaultDataset com métodos Java tipados
56
- return dataset;
57
- }
49
+ Ou inclua nos `types` do `tsconfig.json`:
58
50
 
59
- // Criando constraints com tipos específicos para backend
60
- const constraint = DatasetFactory.createConstraint(
61
- "status",
62
- "active",
63
- "active",
64
- ConstraintType.MUST
65
- ); // Retorna SearchConstraint para backend
66
-
67
- // Tipos para eventos de workflow
68
- function beforeTaskSave(colleagueId: string, nextSequenceId: number, userTaskVO: UserTaskVO): void {
69
- // Implementação do evento
51
+ ```json
52
+ {
53
+ "compilerOptions": {
54
+ "types": ["jsegd-fluig-types"]
55
+ }
70
56
  }
71
57
  ```
72
58
 
73
- #### Webservices
74
- ```typescript
75
- // Exemplo: usando ECMWorkflowEngineService
76
- const serviceManager = new ServiceManager();
77
- const workflowService = serviceManager.instantiate("ECMWorkflowEngineService");
78
- // ou alternativamente:
79
- const workflowService2 = serviceManager.instantiate("WorkflowEngineService");
80
-
81
- // Acesso ao service port com tipagem completa
82
- const port = serviceManager.getWorkflowEngineServicePort();
83
- const processes = port.listMyRequestProcesses("usuario123", 0, 10);
84
- ```
59
+ ### Subpath imports (opcional)
85
60
 
86
- #### SDK do Fluig
87
- ```typescript
88
- // Acesso às APIs do Fluig com tipagem completa
89
- const fluigAPI = new com.fluig.sdk.api.FluigAPI();
90
- const documentService = fluigAPI.getDocumentService();
91
- const userService = fluigAPI.getUserService();
92
- ```
61
+ O pacote expõe entradas individuais em `package.json#exports` para uso seletivo:
93
62
 
94
- ## 📁 Estrutura do Pacote
95
-
96
- | Arquivo | Descrição |
97
- |---------|-----------|
98
- | **`fluig.sdk.d.ts`** | Tipos para SDK do Fluig - APIs Java disponíveis no servidor |
99
- | **`java.d.ts`** | Tipos para classes Java básicas (List, ArrayList, HashMap, etc.) |
100
- | **`fluig.frontend.d.ts`** | Tipos para desenvolvimento frontend (widgets, portais, DatasetFactory frontend) |
101
- | **`fluig.backend.d.ts`** | Tipos para desenvolvimento backend (datasets, eventos, ClassNameMap, ServiceManager) |
102
- | **`fluig.webservice.d.ts`** | Tipos para webservices (ECMWorkflowEngineService, WorkflowEngineService) |
103
- | **`fluig.dataset.d.ts`** | Tipos compartilhados para datasets (enums, interfaces, classes base) |
104
- | **`index.d.ts`** | Arquivo principal que exporta todos os tipos |
105
-
106
- ## 🎯 Funcionalidades
107
-
108
- ### ✅ Frontend
109
- - Tipos para componentes de formulário
110
- - Enums para modos de formulário (`FormMod`)
111
- - Tipos para autocomplete e widgets
112
- - Interfaces para eventos frontend
113
- - **DatasetFactory** com retorno otimizado para JavaScript (`DatasetWcmResult`)
114
-
115
- ### ✅ Backend
116
- - Tipos para datasets e constrangimentos
117
- - Interfaces para eventos de workflow
118
- - Tipos para respostas de APIs
119
- - Enums para status e tipos de dados
120
- - **ClassNameMap** para tipagem inteligente do método `instantiate()`
121
- - **ServiceManager** com suporte a webservices
122
- - **DatasetFactory** com retorno de tipos Java (`DefaultDataset`)
123
-
124
- ### ✅ Webservices
125
- - **ECMWorkflowEngineService** com tipagem completa baseada em WSDL
126
- - Mais de 40 métodos tipados para workflow engine
127
- - Interface **WorkflowEngineService** para operações de workflow
128
- - Suporte a mapeamento duplo de nomes de classe
129
-
130
- ### ✅ SDK
131
- - Tipagem completa para todas as APIs do Fluig
132
- - Serviços de documentos, usuários, workflow, etc.
133
- - Classes e interfaces para integração Java
134
-
135
- ## 💡 Exemplos Práticos
136
-
137
- ### DatasetFactory - Implementação Dual
138
-
139
- #### No Backend (Tipos Java)
140
- ```typescript
141
- // Retorna DefaultDataset com métodos Java tipados
142
- const dataset = DatasetFactory.getDataset(
143
- "colleague",
144
- ["colleagueId", "colleagueName"],
145
- constraints,
146
- ["colleagueName"]
147
- );
148
-
149
- // Métodos Java disponíveis
150
- const rowCount = dataset.getRowsCount(); // number
151
- const value = dataset.getValue(0, "colleagueId"); // java.lang.Object
152
- const resultSet = dataset.toResultSet(); // java.sql.ResultSet
153
- ```
63
+ | Subpath | Conteúdo |
64
+ | ------------------------------ | ----------------------------------------------------------------------------------------- |
65
+ | `jsegd-fluig-types` | Reexporta todos os módulos abaixo (recomendado). |
66
+ | `jsegd-fluig-types/frontend` | Tipos de widgets/portal: `FLUIGC`, `WCMAPI`, `Datatable`, `Toast`, `formMode`. |
67
+ | `jsegd-fluig-types/backend` | Tipos de Rhino/workflow: `hAPI`, `log`, `getValue`, `globalVars`, `ServiceManager`. |
68
+ | `jsegd-fluig-types/dataset` | Tipos de dataset: `DatasetFactory`, `DefaultDataset`, `ConstraintType`, `AddColumn`, etc. |
69
+ | `jsegd-fluig-types/sdk` | Namespaces `com.fluig.sdk.*` (FluigAPI e services). |
70
+ | `jsegd-fluig-types/webservice` | `ECMWorkflowEngineServiceService` e DTOs de workflow. |
71
+ | `jsegd-fluig-types/api` | Parâmetros das APIs REST do Fluig (`SearchDatasetValuesParams`). |
72
+ | `jsegd-fluig-types/java` | Tipos `java.*` e `javax.*` necessários no Rhino. |
154
73
 
155
- #### No Frontend (Tipos JavaScript)
156
74
  ```typescript
157
- // Retorna DatasetWcmResult otimizado para frontend
158
- const result = DatasetFactory.getDataset(
159
- "colleague",
160
- ["colleagueId", "colleagueName"],
161
- constraints,
162
- ["colleagueName"]
163
- );
164
-
165
- // Estrutura JavaScript simples
166
- console.log(result.columns); // string[]
167
- console.log(result.values); // unknown[]
75
+ import 'jsegd-fluig-types/backend'
76
+ import 'jsegd-fluig-types/dataset'
168
77
  ```
169
78
 
170
- ### ServiceManager e ClassNameMap
79
+ ## 🧩 Conteúdo
80
+
81
+ ### Frontend (widget/portal)
82
+
171
83
  ```typescript
172
- const serviceManager = new ServiceManager();
84
+ const opts: ModalSettings = {
85
+ title: 'Confirmação',
86
+ content: '<p>Deseja continuar?</p>',
87
+ id: 'modal-confirm',
88
+ showHeader: true,
89
+ showFooter: true,
90
+ actions: [],
91
+ headerActions: [],
92
+ headerContent: '',
93
+ size: 'small',
94
+ formModal: false,
95
+ }
96
+
97
+ FLUIGC.modal(opts)
173
98
 
174
- // Tipagem inteligente - ambas as formas funcionam
175
- const service1 = serviceManager.instantiate("ECMWorkflowEngineService");
176
- const service2 = serviceManager.instantiate("WorkflowEngineService");
99
+ if (formMode === FormMod.ADD) {
100
+ // formulário em modo de inclusão
101
+ }
177
102
 
178
- // IntelliSense completo para métodos do webservice
179
- const processes = service1.listMyRequestProcesses("usuario", 0, 10);
103
+ DatasetFactory.getDataset('colleague', ['colleagueId', 'colleagueName'], [], ['colleagueName'], {
104
+ success: function (result) {
105
+ // result: DatasetWcmResult<unknown>
106
+ console.log(result.columns, result.values)
107
+ },
108
+ })
180
109
  ```
181
110
 
182
- ### Criando Constraints Específicas por Contexto
111
+ ### Backend (Rhino / workflow)
112
+
183
113
  ```typescript
184
- // Backend - retorna SearchConstraint
185
- const backendConstraint = DatasetFactory.createConstraint(
186
- "field",
187
- "value1",
188
- "value2",
189
- ConstraintType.MUST
190
- );
191
-
192
- // Frontend - retorna Constraint
193
- const frontendConstraint = DatasetFactory.createConstraint(
194
- "field",
195
- "value1",
196
- "value2",
197
- ConstraintType.MUST
198
- );
114
+ function beforeTaskSave(colleagueId: string, nextSequenceId: number, userTaskVO: unknown): void {
115
+ const numProc = getValue('WKNumProces')
116
+ const card = hAPI.getCardData(parseInt(numProc))
117
+ log.info('Salvando tarefa de ' + colleagueId + ' no processo ' + numProc)
118
+ globalVars.put('ultimoUsuario', new java.lang.String(colleagueId))
119
+ }
199
120
  ```
200
121
 
201
- ### Evento de Workflow
122
+ ### Dataset
123
+
202
124
  ```typescript
203
- function beforeTaskSave(
204
- colleagueId: string,
205
- nextSequenceId: number,
206
- userTaskVO: UserTaskVO
207
- ): void {
208
- // Lógica do evento com tipos seguros
209
- if (userTaskVO.getColleagueId() === colleagueId) {
210
- // Processar tarefa
211
- }
125
+ function defineStructure(): void {
126
+ AddColumn(new java.lang.String('NOME'), DatasetFieldType.STRING)
127
+ AddColumn(new java.lang.String('IDADE'), DatasetFieldType.NUMBER)
128
+ setKey([new java.lang.String('NOME')])
129
+ addIndex([new java.lang.String('IDADE')])
130
+ }
131
+
132
+ function createDataset(fields: string[], constraints: SearchConstraint[], sortFields: string[]): DefaultDataset {
133
+ const ds = DatasetBuilder.newDataset()
134
+ ds.addColumn(new java.lang.String('NOME'))
135
+ ds.addRow([new java.lang.String('Maria')] as any)
136
+ return ds
212
137
  }
213
138
  ```
214
139
 
215
- ## 📋 Requisitos
140
+ ### SDK e webservice
216
141
 
217
- - TypeScript 3.0+
218
- - Ambiente Fluig (para execução)
142
+ ```typescript
143
+ const fluig = new com.fluig.sdk.api.FluigAPI()
144
+ const userService = fluig.getUserService()
219
145
 
220
- ## 📄 Licença
146
+ const wsService = ServiceManager.getService('ECMWorkflowEngineService')
147
+ const port = wsService.getBean().instantiate('com.totvs.technology.ecm.workflow.ws.ECMWorkflowEngineServiceService').getWorkflowEngineServicePort()
148
+
149
+ const cardData = new java.util.HashMap<java.lang.String, java.lang.String>()
150
+ const choosedUsers = new java.util.ArrayList<string>()
151
+ choosedUsers.add('admin')
152
+ port.startProcess('admin', 'secret', 1, 'ProcExemplo', 2, choosedUsers, 'ok', true, cardData, false)
153
+ ```
154
+
155
+ ## 🗂️ Estrutura
156
+
157
+ ```text
158
+ types/
159
+ ├── index.d.ts # reexporta todos os módulos
160
+ ├── fluig/
161
+ │ ├── fluig.api.d.ts # parâmetros das APIs REST do Fluig
162
+ │ ├── fluig.backend.d.ts # workflow, hAPI, log, ServiceManager, FormController
163
+ │ ├── fluig.dataset.d.ts # DatasetFactory, DefaultDataset, constraints
164
+ │ ├── fluig.frontend.d.ts # FLUIGC, WCMAPI, Datatable, Modal, Toast
165
+ │ ├── fluig.sdk.d.ts # com.fluig.sdk.* (FluigAPI, services, VOs)
166
+ │ └── fluig.webservice.d.ts # ECMWorkflowEngineServiceService e DTOs
167
+ └── java/
168
+ └── java.d.ts # java.util, java.lang, java.sql, javax.*
169
+ ```
221
170
 
222
- Este projeto está licenciado sob **CC-BY-NC-ND-4.0**.
171
+ ## 🔗 Integração com `jsegd-fluig-lint`
223
172
 
224
- **Termos de Uso:**
225
- - ✅ Uso permitido para fins **não comerciais**
226
- - ✅ Atribuição obrigatória ao autor
227
- - ❌ Modificações não permitidas
228
- - ❌ Uso comercial não permitido
173
+ O plugin [`jsegd-fluig-lint`](https://www.npmjs.com/package/jsegd-fluig-lint) extrai automaticamente os globais declarados aqui em tempo de carga, evitando duplicação de listas de identificadores. Mantenha as duas dependências sincronizadas:
229
174
 
230
- ## 👨‍💻 Autor
175
+ ```bash
176
+ npm install -D jsegd-fluig-lint jsegd-fluig-types eslint
177
+ ```
231
178
 
232
- **Elemar Deckmann**
233
- [EGD Tecnologia](https://www.egd.tec.br/)
179
+ ## 📋 Requisitos
234
180
 
235
- ## 🤝 Contribuições
181
+ - TypeScript **3.0+** (testado em 5.9 com `strict: true`).
182
+ - Ambiente Fluig em runtime (não há código emitido — somente tipagens).
183
+
184
+ ## 📄 Licença
236
185
 
237
- Este projeto segue a licença CC-BY-NC-ND-4.0, que não permite modificações. Para sugestões ou melhorias, entre em contato através do site da EGD Tecnologia.
186
+ Distribuído sob **CC-BY-NC-ND-4.0**. Consulte os termos antes de uso comercial ou redistribuição modificada.
238
187
 
239
188
  ---
240
189
 
241
- <div align="center">
242
-
243
- **[EGD Tecnologia](https://www.egd.tec.br/)** - Especialistas em Fluig
244
-
245
- </div>
190
+ Desenvolvido com ❤️ pela [**EGD Tecnologia**](https://www.egd.tec.br/)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsegd-fluig-types",
3
- "version": "1.0.27",
3
+ "version": "1.0.28",
4
4
  "description": "Definições de tipos TypeScript para desenvolvimento na plataforma Fluig - Inclui APIs, SDK, datasets, workflows e webservices",
5
5
  "keywords": [
6
6
  "fluig",
@@ -1,11 +1,11 @@
1
- declare enum FormMod {
2
- 'ADD' = 'ADD',
3
- 'MOD' = 'MOD',
4
- 'VIEW' = 'VIEW',
5
- 'NONE' = 'NONE',
6
- }
7
-
8
1
  declare global {
2
+ enum FormMod {
3
+ ADD = 'ADD',
4
+ MOD = 'MOD',
5
+ VIEW = 'VIEW',
6
+ NONE = 'NONE',
7
+ }
8
+
9
9
  interface ServiceRequestOptions {
10
10
  companyId: string
11
11
  serviceCode: string
@@ -204,10 +204,10 @@ declare global {
204
204
  class customHTML {
205
205
  append(html: string): void
206
206
  }
207
- function displayFields(form: FormController, customHTML: customHTML): void
208
- function enableFields(form: FormController): void
209
- function inputFields(form: FormController): void
210
- function validateForm(form: FormController): void
207
+ export type DisplayFieldsHandler = (form: FormController, customHTML: customHTML) => void;
208
+ export type EnableFieldsHandler = (form: FormController) => void;
209
+ export type InputFieldsHandler = (form: FormController) => void;
210
+ export type ValidateFormHandler = (form: FormController) => void;
211
211
 
212
212
  // #########################################################################
213
213
  // ####################### Definição de Log ################################
@@ -1,12 +1,12 @@
1
- declare enum DatasetFieldType {
2
- NUMBER = "NUMBER",
3
- DATE = "DATE",
4
- BOOLEAN = "BOOLEAN",
5
- STRING = "STRING",
6
- TEXT = "TEXT",
7
- }
8
-
9
1
  declare global {
2
+ enum DatasetFieldType {
3
+ NUMBER = "NUMBER",
4
+ DATE = "DATE",
5
+ BOOLEAN = "BOOLEAN",
6
+ STRING = "STRING",
7
+ TEXT = "TEXT",
8
+ }
9
+
10
10
  enum ConstraintType {
11
11
  MUST = 1,
12
12
  SHOULD = 2,
@@ -46,7 +46,7 @@ declare global {
46
46
  message: string;
47
47
  data?: unknown;
48
48
  errors?: ErrorDetail[];
49
- timestamp: java.lang.System.currentTimeMillis;
49
+ timestamp: number;
50
50
  }
51
51
  interface DatasetResponse {
52
52
  response: DatasetResponseValues;
@@ -1,15 +1,3 @@
1
- // types.d.ts
2
- // =============================
3
- // ENUMS
4
- // =============================
5
-
6
- declare enum FormMod {
7
- 'ADD' = 'ADD',
8
- 'MOD' = 'MOD',
9
- 'VIEW' = 'VIEW',
10
- 'NONE' = 'NONE',
11
- }
12
-
13
1
  declare enum AutocompleteTypes {
14
2
  tag = 'tag',
15
3
  autocomplete = 'autocomplete',
@@ -1,18 +1,10 @@
1
- // fluig.webservice.d.ts
2
- // Tipos para webservices do Fluig
3
-
4
1
  declare global {
5
- // #########################################################################
6
- // #################### ECM Workflow Engine Service Types ##################
7
- // #########################################################################
8
-
9
2
  namespace com {
10
3
  namespace totvs {
11
4
  namespace technology {
12
5
  namespace ecm {
13
6
  namespace workflow {
14
7
  namespace ws {
15
- // Classe principal do serviço ECM Workflow Engine
16
8
  class ECMWorkflowEngineServiceService {
17
9
  constructor();
18
10
 
@@ -250,95 +242,6 @@ declare global {
250
242
  }
251
243
  }
252
244
 
253
- // #########################################################################
254
- // ##################### WebService ServiceManager Types ###################
255
- // #########################################################################
256
-
257
- // A classe ECMWorkflowEngineServiceService já está mapeada no ClassNameMap do fluig.backend.d.ts
258
- // Este arquivo apenas define os tipos específicos para webservices
259
- }
260
-
261
- /*
262
- // ############################################################################
263
- // #################### Exemplos de uso do ECMWorkflowEngineService ##########
264
- // ############################################################################
265
-
266
- // Exemplo de uso básico do ECMWorkflowEngineService
267
- function exemploWorkflowService() {
268
- // Instanciando o serviço com tipagem completa
269
- const service = ServiceManager.getService("ECMWorkflowEngineServiceService");
270
- const workflowServiceClass = service.getBean().instantiate('com.totvs.technology.ecm.workflow.ws.ECMWorkflowEngineServiceService');
271
-
272
- // Obtendo o port/endpoint do webservice
273
- const workflowService = workflowServiceClass.getWorkflowEngineServicePort();
274
-
275
- // Exemplo 1: Iniciar um processo
276
- const cardData = new java.util.HashMap<string, string>();
277
- cardData.put("campo1", "valor1");
278
- cardData.put("campo2", "valor2");
279
-
280
- const choosedUsers = new java.util.ArrayList<string>();
281
- choosedUsers.add("usuario123");
282
-
283
- const result = workflowService.startProcess(
284
- "admin", // username
285
- "senha", // password
286
- 1, // companyId
287
- "ProcessoTeste", // processId
288
- 2, // nextState
289
- choosedUsers, // choosedUsers
290
- "Iniciando processo via webservice", // comments
291
- true, // completeTask
292
- cardData, // cardData
293
- false // managerMode
294
- );
295
-
296
- // Exemplo 2: Obter processos disponíveis
297
- const availableProcesses = workflowService.getAvailableProcess("admin", "senha", 1);
298
- for (const process of availableProcesses.item) {
299
- log.info(`Processo: ${process.processId} - Versão: ${process.version}`);
300
- }
301
-
302
- // Exemplo 3: Obter dados do cartão de uma instância
303
- const instanceCardData = workflowService.getInstanceCardData("admin", "senha", 1, 12345);
304
-
305
- // Exemplo 4: Avançar uma tarefa
306
- const nextCardData = new java.util.HashMap<string, string>();
307
- nextCardData.put("aprovacao", "APROVADO");
308
- nextCardData.put("observacoes", "Processo aprovado com sucesso");
309
-
310
- const taskResult = workflowService.saveAndSendTask(
311
- "admin", // username
312
- "senha", // password
313
- 1, // companyId
314
- 12345, // processInstanceId
315
- 3, // choosedState
316
- 1, // threadSequence
317
- "usuario123", // userId
318
- true, // completeTask
319
- "Aprovando processo", // comments
320
- nextCardData, // cardData
321
- false // managerMode
322
- );
323
-
324
- // Exemplo 5: Obter usuários disponíveis para uma atividade
325
- const availableUsers = workflowService.getAvailableUsers("admin", "senha", 1, 12345, 3, 1);
326
- for (const user of availableUsers.item) {
327
- log.info(`Usuário disponível: ${user.userId} - ${user.userName}`);
328
- }
329
-
330
- // Exemplo 6: Cancelar uma instância
331
- const cancelResult = workflowService.cancelInstance(
332
- "admin", // username
333
- "senha", // password
334
- 1, // companyId
335
- 12345, // processInstanceId
336
- "admin", // userId
337
- "Cancelamento solicitado pelo administrador" // cancelText
338
- );
339
-
340
- return result;
341
245
  }
342
- */
343
246
 
344
- export {};
247
+ export {};
@@ -198,7 +198,7 @@ declare global {
198
198
  namespace naming {
199
199
  class InitialContext {
200
200
  constructor()
201
- lookup(dataSource: java.lang.String): java.lang.Object<java.sql.DataSource>
201
+ lookup(dataSource: java.lang.String): javax.sql.DataSource
202
202
  }
203
203
  }
204
204
  namespace sql {
@@ -1,6 +0,0 @@
1
- declare global {
2
- interface loading {
3
- setMessage(message: string): void;
4
- }
5
- }
6
- export {};