|
5 | 5 |
|
6 | 6 | import { DolittleClient } from '@dolittle/sdk'; |
7 | 7 | import { TenantId } from '@dolittle/sdk.execution'; |
| 8 | +import { setTimeout } from 'timers/promises'; |
| 9 | + |
8 | 10 | import { Employee } from './Employee'; |
9 | | -import { EmployeeHired } from './EmployeeHired'; |
10 | | -import { EmployeeRetired } from './EmployeeRetired'; |
11 | | -import { EmployeeTransferred } from './EmployeeTransferred'; |
12 | 11 |
|
13 | 12 | (async () => { |
14 | 13 | const client = await DolittleClient |
15 | | - .setup(builder => builder |
16 | | - .withEventTypes(eventTypes => { |
17 | | - eventTypes.register(EmployeeHired); |
18 | | - eventTypes.register(EmployeeTransferred); |
19 | | - eventTypes.register(EmployeeRetired); |
20 | | - }) |
21 | | - .withEmbeddings(builder => { |
22 | | - builder.registerEmbedding(Employee); |
23 | | - })) |
| 14 | + .setup() |
24 | 15 | .connect(); |
25 | 16 |
|
26 | 17 | // wait for the registration to complete |
27 | | - setTimeout(async () => { |
28 | | - // mock of the state from the external HR system |
29 | | - const updatedEmployee = new Employee( |
30 | | - 'Mr. Taco', |
31 | | - 'Street Food Taco Truck'); |
32 | | - |
33 | | - await client.embeddings |
34 | | - .forTenant(TenantId.development) |
35 | | - .update(Employee, updatedEmployee.name, updatedEmployee); |
36 | | - console.log(`Updated ${updatedEmployee.name}`); |
37 | | - |
38 | | - const mrTaco = await client.embeddings |
39 | | - .forTenant(TenantId.development) |
40 | | - .get(Employee, 'Mr. Taco'); |
41 | | - console.log(`Mr. Taco is now working at ${mrTaco.state.workplace}`); |
42 | | - |
43 | | - const allEmployeeNames = await client.embeddings |
44 | | - .forTenant(TenantId.development) |
45 | | - .getKeys(Employee); |
46 | | - console.log(`All current employees are ${allEmployeeNames}`); |
47 | | - |
48 | | - await client.embeddings |
49 | | - .forTenant(TenantId.development) |
50 | | - .delete(Employee, updatedEmployee.name); |
51 | | - console.log(`Deleted ${updatedEmployee.name}`); |
52 | | - }, 1000); |
| 18 | + await setTimeout(1000); |
| 19 | + |
| 20 | + // mock of the state from the external HR system |
| 21 | + const updatedEmployee = new Employee( |
| 22 | + 'Mr. Taco', |
| 23 | + 'Street Food Taco Truck'); |
| 24 | + |
| 25 | + await client.embeddings |
| 26 | + .forTenant(TenantId.development) |
| 27 | + .update(Employee, updatedEmployee.name, updatedEmployee); |
| 28 | + console.log(`Updated ${updatedEmployee.name}`); |
| 29 | + |
| 30 | + const mrTaco = await client.embeddings |
| 31 | + .forTenant(TenantId.development) |
| 32 | + .get(Employee, 'Mr. Taco'); |
| 33 | + console.log(`Mr. Taco is now working at ${mrTaco.state.workplace}`); |
| 34 | + |
| 35 | + const allEmployeeNames = await client.embeddings |
| 36 | + .forTenant(TenantId.development) |
| 37 | + .getKeys(Employee); |
| 38 | + console.log(`All current employees are ${allEmployeeNames}`); |
| 39 | + |
| 40 | + await client.embeddings |
| 41 | + .forTenant(TenantId.development) |
| 42 | + .delete(Employee, updatedEmployee.name); |
| 43 | + console.log(`Deleted ${updatedEmployee.name}`); |
53 | 44 | })(); |
0 commit comments