@ogcio/building-blocks-sdk 0.0.1

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.
Files changed (106) hide show
  1. package/.husky/commit-msg +1 -0
  2. package/.husky/pre-push +1 -0
  3. package/.nvmrc +1 -0
  4. package/.vscode/settings.json +20 -0
  5. package/biome.jsonc +45 -0
  6. package/commitlint.config.js +6 -0
  7. package/dist/client/auth/index.d.ts +4 -0
  8. package/dist/client/auth/index.d.ts.map +1 -0
  9. package/dist/client/auth/index.js +83 -0
  10. package/dist/client/auth/index.js.map +1 -0
  11. package/dist/client/base-client.d.ts +18 -0
  12. package/dist/client/base-client.d.ts.map +1 -0
  13. package/dist/client/base-client.js +71 -0
  14. package/dist/client/base-client.js.map +1 -0
  15. package/dist/client/clients/messaging/index.d.ts +2407 -0
  16. package/dist/client/clients/messaging/index.d.ts.map +1 -0
  17. package/dist/client/clients/messaging/index.js +430 -0
  18. package/dist/client/clients/messaging/index.js.map +1 -0
  19. package/dist/client/clients/messaging/schema.d.ts +3823 -0
  20. package/dist/client/clients/messaging/schema.d.ts.map +1 -0
  21. package/dist/client/clients/messaging/schema.js +2 -0
  22. package/dist/client/clients/messaging/schema.js.map +1 -0
  23. package/dist/client/clients/payments/index.d.ts +2294 -0
  24. package/dist/client/clients/payments/index.d.ts.map +1 -0
  25. package/dist/client/clients/payments/index.js +217 -0
  26. package/dist/client/clients/payments/index.js.map +1 -0
  27. package/dist/client/clients/payments/schema.d.ts +2534 -0
  28. package/dist/client/clients/payments/schema.d.ts.map +1 -0
  29. package/dist/client/clients/payments/schema.js +2 -0
  30. package/dist/client/clients/payments/schema.js.map +1 -0
  31. package/dist/client/clients/profile/index.d.ts +1364 -0
  32. package/dist/client/clients/profile/index.d.ts.map +1 -0
  33. package/dist/client/clients/profile/index.js +102 -0
  34. package/dist/client/clients/profile/index.js.map +1 -0
  35. package/dist/client/clients/profile/schema.d.ts +1429 -0
  36. package/dist/client/clients/profile/schema.d.ts.map +1 -0
  37. package/dist/client/clients/profile/schema.js +2 -0
  38. package/dist/client/clients/profile/schema.js.map +1 -0
  39. package/dist/client/clients/scheduler/index.d.ts +14 -0
  40. package/dist/client/clients/scheduler/index.d.ts.map +1 -0
  41. package/dist/client/clients/scheduler/index.js +14 -0
  42. package/dist/client/clients/scheduler/index.js.map +1 -0
  43. package/dist/client/clients/scheduler/schema.d.ts +114 -0
  44. package/dist/client/clients/scheduler/schema.d.ts.map +1 -0
  45. package/dist/client/clients/scheduler/schema.js +2 -0
  46. package/dist/client/clients/scheduler/schema.js.map +1 -0
  47. package/dist/client/clients/upload/index.d.ts +390 -0
  48. package/dist/client/clients/upload/index.d.ts.map +1 -0
  49. package/dist/client/clients/upload/index.js +93 -0
  50. package/dist/client/clients/upload/index.js.map +1 -0
  51. package/dist/client/clients/upload/schema.d.ts +564 -0
  52. package/dist/client/clients/upload/schema.d.ts.map +1 -0
  53. package/dist/client/clients/upload/schema.js +2 -0
  54. package/dist/client/clients/upload/schema.js.map +1 -0
  55. package/dist/client/utils/client-utils.d.ts +15 -0
  56. package/dist/client/utils/client-utils.d.ts.map +1 -0
  57. package/dist/client/utils/client-utils.js +14 -0
  58. package/dist/client/utils/client-utils.js.map +1 -0
  59. package/dist/clients-configurations/clients-configuration.json +92 -0
  60. package/dist/clients-configurations/read-configuration-file.d.ts +22 -0
  61. package/dist/clients-configurations/read-configuration-file.d.ts.map +1 -0
  62. package/dist/clients-configurations/read-configuration-file.js +47 -0
  63. package/dist/clients-configurations/read-configuration-file.js.map +1 -0
  64. package/dist/index.d.ts +6 -0
  65. package/dist/index.d.ts.map +1 -0
  66. package/dist/index.js +33 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/types/index.d.ts +63 -0
  69. package/dist/types/index.d.ts.map +1 -0
  70. package/dist/types/index.js +6 -0
  71. package/dist/types/index.js.map +1 -0
  72. package/dist/utils/get-absolute-path.d.ts +3 -0
  73. package/dist/utils/get-absolute-path.d.ts.map +1 -0
  74. package/dist/utils/get-absolute-path.js +8 -0
  75. package/dist/utils/get-absolute-path.js.map +1 -0
  76. package/package.json +44 -0
  77. package/src/cli/cli-utils.ts +25 -0
  78. package/src/cli/index.ts +13 -0
  79. package/src/cli/outdated-clients-command.ts +148 -0
  80. package/src/cli/update-clients-command.ts +298 -0
  81. package/src/client/auth/index.ts +131 -0
  82. package/src/client/base-client.ts +97 -0
  83. package/src/client/clients/messaging/index.ts +683 -0
  84. package/src/client/clients/messaging/open-api-definition.json +8394 -0
  85. package/src/client/clients/messaging/schema.ts +3822 -0
  86. package/src/client/clients/payments/index.ts +349 -0
  87. package/src/client/clients/payments/open-api-definition.json +6094 -0
  88. package/src/client/clients/payments/schema.ts +2533 -0
  89. package/src/client/clients/profile/index.ts +182 -0
  90. package/src/client/clients/profile/open-api-definition.json +2876 -0
  91. package/src/client/clients/profile/schema.ts +1428 -0
  92. package/src/client/clients/scheduler/index.ts +28 -0
  93. package/src/client/clients/scheduler/open-api-definition.json +120 -0
  94. package/src/client/clients/scheduler/schema.ts +113 -0
  95. package/src/client/clients/upload/index.ts +129 -0
  96. package/src/client/clients/upload/open-api-definition.json +985 -0
  97. package/src/client/clients/upload/schema.ts +563 -0
  98. package/src/client/utils/client-utils.ts +50 -0
  99. package/src/clients-configurations/clients-configuration.json +92 -0
  100. package/src/clients-configurations/read-configuration-file.ts +68 -0
  101. package/src/index.ts +43 -0
  102. package/src/logto-node.d.ts +12 -0
  103. package/src/types/index.ts +82 -0
  104. package/src/utils/get-absolute-path.ts +10 -0
  105. package/tsconfig.json +18 -0
  106. package/tsconfig.prod.json +4 -0
@@ -0,0 +1,563 @@
1
+ export interface paths {
2
+ "/api/v1/files/": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ get?: never;
10
+ put?: never;
11
+ post: {
12
+ parameters: {
13
+ query?: never;
14
+ header?: never;
15
+ path?: never;
16
+ cookie?: never;
17
+ };
18
+ requestBody?: {
19
+ content: {
20
+ "multipart/form-data": unknown | unknown;
21
+ };
22
+ };
23
+ responses: {
24
+ /** @description Default Response */
25
+ 201: {
26
+ headers: {
27
+ [name: string]: unknown;
28
+ };
29
+ content: {
30
+ "application/json": {
31
+ data: {
32
+ id: string;
33
+ };
34
+ };
35
+ };
36
+ };
37
+ /** @description Default Response */
38
+ "4XX": {
39
+ headers: {
40
+ [name: string]: unknown;
41
+ };
42
+ content: {
43
+ "application/json": {
44
+ code: string;
45
+ detail: string;
46
+ requestId: string;
47
+ name: string;
48
+ validation?: unknown;
49
+ validationContext?: string;
50
+ };
51
+ };
52
+ };
53
+ /** @description Default Response */
54
+ "5XX": {
55
+ headers: {
56
+ [name: string]: unknown;
57
+ };
58
+ content: {
59
+ "application/json": {
60
+ code: string;
61
+ detail: string;
62
+ requestId: string;
63
+ name: string;
64
+ validation?: unknown;
65
+ validationContext?: string;
66
+ };
67
+ };
68
+ };
69
+ };
70
+ };
71
+ delete?: never;
72
+ options?: never;
73
+ head?: never;
74
+ patch?: never;
75
+ trace?: never;
76
+ };
77
+ "/api/v1/files/{id}": {
78
+ parameters: {
79
+ query?: never;
80
+ header?: never;
81
+ path?: never;
82
+ cookie?: never;
83
+ };
84
+ get: {
85
+ parameters: {
86
+ query?: never;
87
+ header?: never;
88
+ path: {
89
+ id: string;
90
+ };
91
+ cookie?: never;
92
+ };
93
+ requestBody?: never;
94
+ responses: {
95
+ /** @description Default Response */
96
+ 200: {
97
+ headers: {
98
+ [name: string]: unknown;
99
+ };
100
+ content: {
101
+ "application/json": string;
102
+ };
103
+ };
104
+ /** @description Default Response */
105
+ "4XX": {
106
+ headers: {
107
+ [name: string]: unknown;
108
+ };
109
+ content: {
110
+ "application/json": {
111
+ code: string;
112
+ detail: string;
113
+ requestId: string;
114
+ name: string;
115
+ validation?: unknown;
116
+ validationContext?: string;
117
+ };
118
+ };
119
+ };
120
+ /** @description Default Response */
121
+ "5XX": {
122
+ headers: {
123
+ [name: string]: unknown;
124
+ };
125
+ content: {
126
+ "application/json": {
127
+ code: string;
128
+ detail: string;
129
+ requestId: string;
130
+ name: string;
131
+ validation?: unknown;
132
+ validationContext?: string;
133
+ };
134
+ };
135
+ };
136
+ };
137
+ };
138
+ put?: never;
139
+ post?: never;
140
+ delete?: never;
141
+ options?: never;
142
+ head?: never;
143
+ patch?: never;
144
+ trace?: never;
145
+ };
146
+ "/api/v1/metadata/": {
147
+ parameters: {
148
+ query?: never;
149
+ header?: never;
150
+ path?: never;
151
+ cookie?: never;
152
+ };
153
+ get: {
154
+ parameters: {
155
+ query?: {
156
+ userId?: string;
157
+ organizationId?: string;
158
+ };
159
+ header?: never;
160
+ path?: never;
161
+ cookie?: never;
162
+ };
163
+ requestBody?: never;
164
+ responses: {
165
+ /** @description Default Response */
166
+ 200: {
167
+ headers: {
168
+ [name: string]: unknown;
169
+ };
170
+ content: {
171
+ "application/json": {
172
+ data: {
173
+ fileName: string;
174
+ id?: string;
175
+ key: string;
176
+ ownerId: string;
177
+ fileSize: number;
178
+ mimeType: string;
179
+ createdAt: string;
180
+ lastScan: string;
181
+ /** @default false */
182
+ deleted: boolean;
183
+ infected: boolean;
184
+ infectionDescription?: string;
185
+ antivirusDbVersion?: string;
186
+ expiresAt?: string;
187
+ }[];
188
+ };
189
+ };
190
+ };
191
+ /** @description Default Response */
192
+ "4XX": {
193
+ headers: {
194
+ [name: string]: unknown;
195
+ };
196
+ content: {
197
+ "application/json": {
198
+ code: string;
199
+ detail: string;
200
+ requestId: string;
201
+ name: string;
202
+ validation?: unknown;
203
+ validationContext?: string;
204
+ };
205
+ };
206
+ };
207
+ /** @description Default Response */
208
+ "5XX": {
209
+ headers: {
210
+ [name: string]: unknown;
211
+ };
212
+ content: {
213
+ "application/json": {
214
+ code: string;
215
+ detail: string;
216
+ requestId: string;
217
+ name: string;
218
+ validation?: unknown;
219
+ validationContext?: string;
220
+ };
221
+ };
222
+ };
223
+ };
224
+ };
225
+ put?: never;
226
+ post?: never;
227
+ delete: {
228
+ parameters: {
229
+ query?: never;
230
+ header?: never;
231
+ path?: never;
232
+ cookie?: never;
233
+ };
234
+ requestBody: {
235
+ content: {
236
+ "application/json": {
237
+ fileId: string;
238
+ };
239
+ };
240
+ };
241
+ responses: {
242
+ /** @description Default Response */
243
+ 200: {
244
+ headers: {
245
+ [name: string]: unknown;
246
+ };
247
+ content: {
248
+ "application/json": {
249
+ data: {
250
+ id: string;
251
+ };
252
+ };
253
+ };
254
+ };
255
+ /** @description Default Response */
256
+ "4XX": {
257
+ headers: {
258
+ [name: string]: unknown;
259
+ };
260
+ content: {
261
+ "application/json": {
262
+ code: string;
263
+ detail: string;
264
+ requestId: string;
265
+ name: string;
266
+ validation?: unknown;
267
+ validationContext?: string;
268
+ };
269
+ };
270
+ };
271
+ /** @description Default Response */
272
+ "5XX": {
273
+ headers: {
274
+ [name: string]: unknown;
275
+ };
276
+ content: {
277
+ "application/json": {
278
+ code: string;
279
+ detail: string;
280
+ requestId: string;
281
+ name: string;
282
+ validation?: unknown;
283
+ validationContext?: string;
284
+ };
285
+ };
286
+ };
287
+ };
288
+ };
289
+ options?: never;
290
+ head?: never;
291
+ patch?: never;
292
+ trace?: never;
293
+ };
294
+ "/api/v1/metadata/{id}": {
295
+ parameters: {
296
+ query?: never;
297
+ header?: never;
298
+ path?: never;
299
+ cookie?: never;
300
+ };
301
+ get: {
302
+ parameters: {
303
+ query?: never;
304
+ header?: never;
305
+ path: {
306
+ id: string;
307
+ };
308
+ cookie?: never;
309
+ };
310
+ requestBody?: never;
311
+ responses: {
312
+ /** @description Default Response */
313
+ 200: {
314
+ headers: {
315
+ [name: string]: unknown;
316
+ };
317
+ content: {
318
+ "application/json": {
319
+ data: {
320
+ fileName: string;
321
+ id?: string;
322
+ key: string;
323
+ ownerId: string;
324
+ fileSize: number;
325
+ mimeType: string;
326
+ createdAt: string;
327
+ lastScan: string;
328
+ /** @default false */
329
+ deleted: boolean;
330
+ infected: boolean;
331
+ infectionDescription?: string;
332
+ antivirusDbVersion?: string;
333
+ expiresAt?: string;
334
+ };
335
+ };
336
+ };
337
+ };
338
+ /** @description Default Response */
339
+ "4XX": {
340
+ headers: {
341
+ [name: string]: unknown;
342
+ };
343
+ content: {
344
+ "application/json": {
345
+ code: string;
346
+ detail: string;
347
+ requestId: string;
348
+ name: string;
349
+ validation?: unknown;
350
+ validationContext?: string;
351
+ };
352
+ };
353
+ };
354
+ /** @description Default Response */
355
+ "5XX": {
356
+ headers: {
357
+ [name: string]: unknown;
358
+ };
359
+ content: {
360
+ "application/json": {
361
+ code: string;
362
+ detail: string;
363
+ requestId: string;
364
+ name: string;
365
+ validation?: unknown;
366
+ validationContext?: string;
367
+ };
368
+ };
369
+ };
370
+ };
371
+ };
372
+ put?: never;
373
+ post?: never;
374
+ delete?: never;
375
+ options?: never;
376
+ head?: never;
377
+ patch?: never;
378
+ trace?: never;
379
+ };
380
+ "/api/v1/permissions/": {
381
+ parameters: {
382
+ query?: never;
383
+ header?: never;
384
+ path?: never;
385
+ cookie?: never;
386
+ };
387
+ get: {
388
+ parameters: {
389
+ query: {
390
+ fileId: string;
391
+ };
392
+ header?: never;
393
+ path?: never;
394
+ cookie?: never;
395
+ };
396
+ requestBody?: never;
397
+ responses: {
398
+ /** @description Default Response */
399
+ "4XX": {
400
+ headers: {
401
+ [name: string]: unknown;
402
+ };
403
+ content: {
404
+ "application/json": {
405
+ code: string;
406
+ detail: string;
407
+ requestId: string;
408
+ name: string;
409
+ validation?: unknown;
410
+ validationContext?: string;
411
+ };
412
+ };
413
+ };
414
+ /** @description Default Response */
415
+ "5XX": {
416
+ headers: {
417
+ [name: string]: unknown;
418
+ };
419
+ content: {
420
+ "application/json": {
421
+ code: string;
422
+ detail: string;
423
+ requestId: string;
424
+ name: string;
425
+ validation?: unknown;
426
+ validationContext?: string;
427
+ };
428
+ };
429
+ };
430
+ };
431
+ };
432
+ put?: never;
433
+ post: {
434
+ parameters: {
435
+ query?: never;
436
+ header?: never;
437
+ path?: never;
438
+ cookie?: never;
439
+ };
440
+ requestBody: {
441
+ content: {
442
+ "application/json": {
443
+ fileId: string;
444
+ userId: string;
445
+ };
446
+ };
447
+ };
448
+ responses: {
449
+ /** @description Default Response */
450
+ 201: {
451
+ headers: {
452
+ [name: string]: unknown;
453
+ };
454
+ content: {
455
+ "application/json": {
456
+ data: {
457
+ fileId: string;
458
+ userId: string;
459
+ };
460
+ };
461
+ };
462
+ };
463
+ /** @description Default Response */
464
+ "4XX": {
465
+ headers: {
466
+ [name: string]: unknown;
467
+ };
468
+ content: {
469
+ "application/json": {
470
+ code: string;
471
+ detail: string;
472
+ requestId: string;
473
+ name: string;
474
+ validation?: unknown;
475
+ validationContext?: string;
476
+ };
477
+ };
478
+ };
479
+ /** @description Default Response */
480
+ "5XX": {
481
+ headers: {
482
+ [name: string]: unknown;
483
+ };
484
+ content: {
485
+ "application/json": {
486
+ code: string;
487
+ detail: string;
488
+ requestId: string;
489
+ name: string;
490
+ validation?: unknown;
491
+ validationContext?: string;
492
+ };
493
+ };
494
+ };
495
+ };
496
+ };
497
+ delete: {
498
+ parameters: {
499
+ query?: never;
500
+ header?: never;
501
+ path?: never;
502
+ cookie?: never;
503
+ };
504
+ requestBody: {
505
+ content: {
506
+ "application/json": {
507
+ fileId: string;
508
+ userId: string;
509
+ };
510
+ };
511
+ };
512
+ responses: {
513
+ /** @description Default Response */
514
+ "4XX": {
515
+ headers: {
516
+ [name: string]: unknown;
517
+ };
518
+ content: {
519
+ "application/json": {
520
+ code: string;
521
+ detail: string;
522
+ requestId: string;
523
+ name: string;
524
+ validation?: unknown;
525
+ validationContext?: string;
526
+ };
527
+ };
528
+ };
529
+ /** @description Default Response */
530
+ "5XX": {
531
+ headers: {
532
+ [name: string]: unknown;
533
+ };
534
+ content: {
535
+ "application/json": {
536
+ code: string;
537
+ detail: string;
538
+ requestId: string;
539
+ name: string;
540
+ validation?: unknown;
541
+ validationContext?: string;
542
+ };
543
+ };
544
+ };
545
+ };
546
+ };
547
+ options?: never;
548
+ head?: never;
549
+ patch?: never;
550
+ trace?: never;
551
+ };
552
+ }
553
+ export type webhooks = Record<string, never>;
554
+ export interface components {
555
+ schemas: never;
556
+ responses: never;
557
+ parameters: never;
558
+ requestBodies: never;
559
+ headers: never;
560
+ pathItems: never;
561
+ }
562
+ export type $defs = Record<string, never>;
563
+ export type operations = Record<string, never>;
@@ -0,0 +1,50 @@
1
+ import type { ParseAsResponse } from "openapi-fetch";
2
+ import type {
3
+ ErrorStatus,
4
+ FilterKeys,
5
+ OkStatus,
6
+ ResponseContent,
7
+ ResponseObjectMap,
8
+ } from "openapi-typescript-helpers";
9
+
10
+ export interface PaginationParams {
11
+ offset?: string | number;
12
+ limit?: string | number;
13
+ }
14
+
15
+ export type DataResponseValue<T, O> = ParseAsResponse<
16
+ FilterKeys<
17
+ ResponseContent<FilterKeys<ResponseObjectMap<T>, OkStatus>>,
18
+ "application/json"
19
+ >,
20
+ O
21
+ > & {
22
+ error: ParseAsResponse<
23
+ FilterKeys<
24
+ ResponseContent<FilterKeys<ResponseObjectMap<T>, ErrorStatus>>,
25
+ "application/json"
26
+ >,
27
+ O
28
+ >;
29
+ };
30
+
31
+ export function toStringOrUndefined(variable: number | boolean | undefined) {
32
+ return variable === undefined ? undefined : String(variable);
33
+ }
34
+
35
+ export function preparePaginationParams(paginationParams?: PaginationParams): {
36
+ offset?: string;
37
+ limit?: string;
38
+ } {
39
+ const output: { offset?: string; limit?: string } = {};
40
+
41
+ if (paginationParams?.offset) {
42
+ output.offset = String(paginationParams.offset);
43
+ }
44
+
45
+ if (paginationParams?.limit) {
46
+ output.limit = String(paginationParams.limit);
47
+ }
48
+
49
+ return output;
50
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "buildingBlocks": [
3
+ {
4
+ "name": "messaging",
5
+ "openApiDefinitionUrl": "https://raw.githubusercontent.com/ogcio/life-events/refs/heads/dev/apps/messaging-api/openapi-definition.yml",
6
+ "openApiDefinitionFormat": "yaml",
7
+ "citizenPermissions": [
8
+ "messaging:message.self:read",
9
+ "messaging:message.self:write",
10
+ "messaging:citizen.self:read",
11
+ "messaging:citizen.self:write"
12
+ ],
13
+ "publicServantPermissions": [
14
+ "urn:logto:scope:organizations",
15
+ "urn:logto:scope:organization_roles",
16
+ "messaging:message:*",
17
+ "messaging:provider:*",
18
+ "messaging:template:*",
19
+ "messaging:citizen:*",
20
+ "messaging:event:read"
21
+ ],
22
+ "updateDefinitions": true
23
+ },
24
+ {
25
+ "name": "upload",
26
+ "openApiDefinitionUrl": "https://raw.githubusercontent.com/ogcio/life-events/refs/heads/dev/apps/upload-api/openapi-definition.yml",
27
+ "openApiDefinitionFormat": "yaml",
28
+ "citizenPermissions": ["upload:file.self:write", "upload:file.self:read"],
29
+ "publicServantPermissions": [
30
+ "urn:logto:scope:organizations",
31
+ "urn:logto:scope:organization_roles",
32
+ "upload:file:*",
33
+ "profile:user:read"
34
+ ],
35
+ "updateDefinitions": true
36
+ },
37
+ {
38
+ "name": "payments",
39
+ "openApiDefinitionUrl": "https://raw.githubusercontent.com/ogcio/life-events/refs/heads/dev/apps/payments-api/openapi-definition.yml",
40
+ "openApiDefinitionFormat": "yaml",
41
+ "citizenPermissions": [
42
+ "payments:transaction.self:read",
43
+ "payments:payment_request.public:read",
44
+ "payments:transaction.self:write",
45
+ "payments:provider.public:read"
46
+ ],
47
+ "publicServantPermissions": [
48
+ "urn:logto:scope:organizations",
49
+ "urn:logto:scope:organization_roles",
50
+ "payments:provider:*",
51
+ "payments:payment_request:*",
52
+ "payments:payment_request.public:read",
53
+ "payments:transaction:*"
54
+ ],
55
+ "updateDefinitions": true
56
+ },
57
+ {
58
+ "name": "scheduler",
59
+ "openApiDefinitionUrl": "https://raw.githubusercontent.com/ogcio/life-events/refs/heads/dev/apps/scheduler-api/openapi-definition.yml",
60
+ "openApiDefinitionFormat": "yaml",
61
+ "citizenPermissions": ["scheduler:jobs:write"],
62
+ "publicServantPermissions": [
63
+ "urn:logto:scope:organizations",
64
+ "urn:logto:scope:organization_roles",
65
+ "scheduler:jobs:write"
66
+ ],
67
+ "updateDefinitions": true
68
+ },
69
+ {
70
+ "name": "profile",
71
+ "openApiDefinitionUrl": "https://raw.githubusercontent.com/ogcio/life-events/refs/heads/dev/apps/profile-api/openapi-definition.yml",
72
+ "openApiDefinitionFormat": "yaml",
73
+ "citizenPermissions": [
74
+ "profile:user.self:read",
75
+ "profile:user.self:write",
76
+ "profile:address.self:read",
77
+ "profile:address.self:write",
78
+ "profile:entitlement.self:read",
79
+ "profile:entitlement.self:write",
80
+ "profile:user:read"
81
+ ],
82
+ "publicServantPermissions": [
83
+ "urn:logto:scope:organizations",
84
+ "urn:logto:scope:organization_roles",
85
+ "profile:user:*",
86
+ "profile:address:*",
87
+ "profile:entitlement:*"
88
+ ],
89
+ "updateDefinitions": true
90
+ }
91
+ ]
92
+ }