@orvello/sdk 0.7.1 → 0.7.4

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/dist/contract.js CHANGED
@@ -32,88 +32,141 @@ var apiMountPrefixes = {
32
32
  "/exports",
33
33
  "/invoices",
34
34
  "/managing-companies",
35
- "/oauth"
35
+ "/oauth",
36
+ "/tax-years"
36
37
  ]
37
38
  };
38
39
  var apiGroups = {
39
40
  base: [
41
+ {
42
+ "key": "amp_mail",
43
+ "module": "./base/routes.amp_mail"
44
+ },
40
45
  {
41
46
  "key": "app_info",
42
- "module": "./routes.app_info"
47
+ "module": "./base/routes.app_info"
43
48
  },
44
49
  {
45
50
  "key": "auth",
46
- "module": "./routes.auth"
51
+ "module": "./base/routes.auth"
47
52
  },
48
53
  {
49
54
  "key": "entitlements",
50
- "module": "./routes.entitlements"
55
+ "module": "./base/routes.entitlements"
51
56
  },
52
57
  {
53
58
  "key": "internal",
54
- "module": "./routes.internal"
59
+ "module": "./base/routes.internal"
60
+ },
61
+ {
62
+ "key": "logs",
63
+ "module": "./base/routes.logs"
64
+ },
65
+ {
66
+ "key": "oauth2",
67
+ "module": "./base/routes.oauth2"
68
+ },
69
+ {
70
+ "key": "oauth2_external",
71
+ "module": "./base/routes.oauth2_external"
55
72
  },
56
73
  {
57
74
  "key": "permissions",
58
- "module": "./routes.permissions"
75
+ "module": "./base/routes.permissions"
59
76
  },
60
77
  {
61
78
  "key": "roles",
62
- "module": "./routes.roles"
79
+ "module": "./base/routes.roles"
63
80
  },
64
81
  {
65
82
  "key": "security",
66
- "module": "./routes.security"
83
+ "module": "./base/routes.security"
67
84
  },
68
85
  {
69
86
  "key": "settings",
70
- "module": "./routes.settings"
87
+ "module": "./base/routes.settings"
71
88
  },
72
89
  {
73
90
  "key": "user_activity",
74
- "module": "./routes.user_activity"
91
+ "module": "./base/routes.user_activity"
75
92
  },
76
93
  {
77
94
  "key": "users",
78
- "module": "./routes.users"
95
+ "module": "./base/routes.users"
79
96
  },
80
97
  {
81
98
  "key": "webhooks",
82
- "module": "./routes.webhooks"
99
+ "module": "./base/routes.webhooks"
83
100
  }
84
101
  ],
85
102
  features: [
86
103
  {
87
104
  "key": "admin",
88
- "module": "./routes.admin"
105
+ "module": "./features/routes.admin"
89
106
  },
90
107
  {
91
108
  "key": "bookkeeping",
92
- "module": "./routes.bookkeeping"
109
+ "module": "./features/routes.bookkeeping"
93
110
  },
94
111
  {
95
112
  "key": "currency_rates",
96
- "module": "./routes.currency_rates"
113
+ "module": "./features/routes.currency_rates"
97
114
  },
98
115
  {
99
116
  "key": "customer_companies",
100
- "module": "./routes.customer_companies"
117
+ "module": "./features/routes.customer_companies"
118
+ },
119
+ {
120
+ "key": "customer_companies_external",
121
+ "module": "./features/routes.customer_companies_external"
122
+ },
123
+ {
124
+ "key": "document_library",
125
+ "module": "./features/routes.document_library"
101
126
  },
102
127
  {
103
128
  "key": "documents",
104
- "module": "./routes.documents"
129
+ "module": "./features/routes.documents"
130
+ },
131
+ {
132
+ "key": "dunning_external",
133
+ "module": "./features/routes.dunning_external"
134
+ },
135
+ {
136
+ "key": "enterprise",
137
+ "module": "./features/routes.enterprise"
105
138
  },
106
139
  {
107
140
  "key": "exports",
108
- "module": "./routes.exports"
141
+ "module": "./features/routes.exports"
109
142
  },
110
143
  {
111
144
  "key": "invoices",
112
- "module": "./routes.invoices"
145
+ "module": "./features/routes.invoices"
146
+ },
147
+ {
148
+ "key": "invoices_external",
149
+ "module": "./features/routes.invoices_external"
113
150
  },
114
151
  {
115
152
  "key": "managing_companies",
116
- "module": "./routes.managing_companies"
153
+ "module": "./features/routes.managing_companies"
154
+ },
155
+ {
156
+ "key": "managing_companies_external",
157
+ "module": "./features/routes.managing_companies_external"
158
+ },
159
+ {
160
+ "key": "managing_company_logos",
161
+ "module": "./features/routes.managing_company_logos"
162
+ },
163
+ {
164
+ "key": "tax_years",
165
+ "module": "./features/routes.tax_years"
166
+ },
167
+ {
168
+ "key": "work_tracking",
169
+ "module": "./features/routes.work_tracking"
117
170
  }
118
171
  ],
119
172
  all: [
@@ -149,6 +202,10 @@ var apiGroups = {
149
202
  "key": "customer_companies_external",
150
203
  "module": "./features/routes.customer_companies_external"
151
204
  },
205
+ {
206
+ "key": "document_library",
207
+ "module": "./features/routes.document_library"
208
+ },
152
209
  {
153
210
  "key": "documents",
154
211
  "module": "./features/routes.documents"
@@ -221,6 +278,10 @@ var apiGroups = {
221
278
  "key": "settings",
222
279
  "module": "./base/routes.settings"
223
280
  },
281
+ {
282
+ "key": "tax_years",
283
+ "module": "./features/routes.tax_years"
284
+ },
224
285
  {
225
286
  "key": "user_activity",
226
287
  "module": "./base/routes.user_activity"
@@ -365,6 +426,18 @@ var apiRoutes_app_info = {
365
426
  types: null
366
427
  },
367
428
  // Contract source: explicit
429
+ "app_info_capabilities": {
430
+ method: "GET",
431
+ path: "/app-info/capabilities",
432
+ auth: { "type": "public" },
433
+ meta: {
434
+ tags: ["app-info"],
435
+ summary: "Public app capabilities for the sign-in screen (mail: password registration, reset and verification; credits: the backend keeps credit balances)",
436
+ validated: { "params": false, "query": true, "body": false }
437
+ },
438
+ types: null
439
+ },
440
+ // Contract source: explicit
368
441
  "app_info_get": {
369
442
  method: "GET",
370
443
  path: "/app-info",
@@ -424,7 +497,7 @@ var apiRoutes_auth = {
424
497
  auth: { "type": "frontend_bearer_http" },
425
498
  meta: {
426
499
  tags: ["auth"],
427
- summary: "Prepare TOTP enrollment after rechecking the password",
500
+ summary: "Prepare TOTP enrollment after rechecking the password or a fresh Google sign-in",
428
501
  bodyContentType: "application/json",
429
502
  validated: { "params": false, "query": false, "body": true }
430
503
  },
@@ -450,7 +523,7 @@ var apiRoutes_auth = {
450
523
  auth: { "type": "frontend_bearer_http" },
451
524
  meta: {
452
525
  tags: ["auth"],
453
- summary: "Disable MFA using both the password and a second factor",
526
+ summary: "Disable MFA using the password or a fresh Google sign-in, plus a second factor",
454
527
  bodyContentType: "application/json",
455
528
  validated: { "params": false, "query": false, "body": true }
456
529
  },
@@ -527,7 +600,83 @@ var apiRoutes_auth = {
527
600
  auth: { "type": "frontend_bearer_http" },
528
601
  meta: {
529
602
  tags: ["auth"],
530
- summary: "Update the current user's own profile (name, avatar)",
603
+ summary: "Update the current user's own profile (name, avatar, locale)",
604
+ bodyContentType: "application/json",
605
+ validated: { "params": false, "query": false, "body": true }
606
+ },
607
+ types: null
608
+ },
609
+ // Contract source: explicit
610
+ "auth_me_image_replace": {
611
+ method: "PUT",
612
+ path: "/auth/me/image",
613
+ auth: { "type": "frontend_bearer_http" },
614
+ meta: {
615
+ tags: ["auth"],
616
+ summary: "Upload the current user's profile image (base64), stored in this backend",
617
+ bodyContentType: "application/json",
618
+ validated: { "params": false, "query": false, "body": true }
619
+ },
620
+ types: null
621
+ },
622
+ // Contract source: explicit
623
+ "auth_me_image_delete": {
624
+ method: "DELETE",
625
+ path: "/auth/me/image",
626
+ auth: { "type": "frontend_bearer_http" },
627
+ meta: {
628
+ tags: ["auth"],
629
+ summary: "Remove the current user's profile image",
630
+ validated: { "params": false, "query": true, "body": false }
631
+ },
632
+ types: null
633
+ },
634
+ // Contract source: explicit
635
+ "auth_google_config": {
636
+ method: "GET",
637
+ path: "/auth/google/config",
638
+ auth: { "type": "public" },
639
+ meta: {
640
+ tags: ["auth"],
641
+ summary: "Public Google sign-in configuration per client kind (never a secret)",
642
+ validated: { "params": false, "query": true, "body": false }
643
+ },
644
+ types: null
645
+ },
646
+ // Contract source: explicit
647
+ "auth_google_login": {
648
+ method: "POST",
649
+ path: "/auth/google",
650
+ auth: { "type": "public" },
651
+ meta: {
652
+ tags: ["auth"],
653
+ summary: "Sign in with a Google authorization code obtained via system browser + PKCE",
654
+ bodyContentType: "application/json",
655
+ validated: { "params": false, "query": false, "body": true }
656
+ },
657
+ types: null
658
+ },
659
+ // Contract source: explicit
660
+ "auth_google_link": {
661
+ method: "POST",
662
+ path: "/auth/google/link",
663
+ auth: { "type": "frontend_bearer_http" },
664
+ meta: {
665
+ tags: ["auth"],
666
+ summary: "Link a Google account to the current user (requires the current password)",
667
+ bodyContentType: "application/json",
668
+ validated: { "params": false, "query": false, "body": true }
669
+ },
670
+ types: null
671
+ },
672
+ // Contract source: explicit
673
+ "auth_google_unlink": {
674
+ method: "DELETE",
675
+ path: "/auth/google/link",
676
+ auth: { "type": "frontend_bearer_http" },
677
+ meta: {
678
+ tags: ["auth"],
679
+ summary: "Unlink Google from the current user (requires the password, revokes all sessions)",
531
680
  bodyContentType: "application/json",
532
681
  validated: { "params": false, "query": false, "body": true }
533
682
  },
@@ -3081,6 +3230,219 @@ var apiRoutes_customer_companies_external = {
3081
3230
  }
3082
3231
  };
3083
3232
 
3233
+ // src/generated/api/features/routes.document_library.ts
3234
+ var apiRoutes_document_library = {
3235
+ // Contract source: explicit
3236
+ "document_library_settings": {
3237
+ method: "GET",
3238
+ path: "/documents/library/settings",
3239
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3240
+ meta: {
3241
+ tags: ["document_library"],
3242
+ validated: { "params": false, "query": true, "body": false }
3243
+ },
3244
+ types: null
3245
+ },
3246
+ // Contract source: explicit
3247
+ "document_library_settings_save": {
3248
+ method: "PUT",
3249
+ path: "/documents/library/settings",
3250
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3251
+ meta: {
3252
+ tags: ["document_library"],
3253
+ validated: { "params": false, "query": true, "body": true }
3254
+ },
3255
+ types: null
3256
+ },
3257
+ // Contract source: explicit
3258
+ "document_library_branding": {
3259
+ method: "GET",
3260
+ path: "/documents/library/branding",
3261
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3262
+ meta: {
3263
+ tags: ["document_library"],
3264
+ validated: { "params": false, "query": true, "body": false }
3265
+ },
3266
+ types: null
3267
+ },
3268
+ // Contract source: explicit
3269
+ "document_library_list": {
3270
+ method: "GET",
3271
+ path: "/documents/library",
3272
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3273
+ meta: {
3274
+ tags: ["document_library"],
3275
+ validated: { "params": false, "query": true, "body": false }
3276
+ },
3277
+ types: null
3278
+ },
3279
+ // Contract source: explicit
3280
+ "document_library_folders": {
3281
+ method: "GET",
3282
+ path: "/documents/library/folders",
3283
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3284
+ meta: {
3285
+ tags: ["document_library"],
3286
+ validated: { "params": false, "query": true, "body": false }
3287
+ },
3288
+ types: null
3289
+ },
3290
+ // Contract source: explicit
3291
+ "document_library_folder_create": {
3292
+ method: "POST",
3293
+ path: "/documents/library/folders",
3294
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3295
+ meta: {
3296
+ tags: ["document_library"],
3297
+ validated: { "params": false, "query": true, "body": true }
3298
+ },
3299
+ types: null
3300
+ },
3301
+ // Contract source: explicit
3302
+ "document_library_folder_update": {
3303
+ method: "PUT",
3304
+ path: "/documents/library/folders/:id",
3305
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3306
+ meta: {
3307
+ tags: ["document_library"],
3308
+ validated: { "params": true, "query": true, "body": true }
3309
+ },
3310
+ types: null
3311
+ },
3312
+ // Contract source: explicit
3313
+ "document_library_folder_delete": {
3314
+ method: "DELETE",
3315
+ path: "/documents/library/folders/:id",
3316
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3317
+ meta: {
3318
+ tags: ["document_library"],
3319
+ validated: { "params": true, "query": true, "body": false }
3320
+ },
3321
+ types: null
3322
+ },
3323
+ // Contract source: explicit
3324
+ "document_library_batch": {
3325
+ method: "POST",
3326
+ path: "/documents/library/batch",
3327
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3328
+ meta: {
3329
+ tags: ["document_library"],
3330
+ validated: { "params": false, "query": true, "body": true }
3331
+ },
3332
+ types: null
3333
+ },
3334
+ // Contract source: explicit
3335
+ "document_library_metadata": {
3336
+ method: "PATCH",
3337
+ path: "/documents/library/:id/metadata",
3338
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3339
+ meta: {
3340
+ tags: ["document_library"],
3341
+ validated: { "params": true, "query": true, "body": true }
3342
+ },
3343
+ types: null
3344
+ },
3345
+ // Contract source: explicit
3346
+ "document_library_drafts": {
3347
+ method: "GET",
3348
+ path: "/documents/library/drafts",
3349
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3350
+ meta: {
3351
+ tags: ["document_library"],
3352
+ validated: { "params": false, "query": true, "body": false }
3353
+ },
3354
+ types: null
3355
+ },
3356
+ // Contract source: explicit
3357
+ "document_library_draft_get": {
3358
+ method: "GET",
3359
+ path: "/documents/library/drafts/:id",
3360
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3361
+ meta: {
3362
+ tags: ["document_library"],
3363
+ validated: { "params": true, "query": true, "body": false }
3364
+ },
3365
+ types: null
3366
+ },
3367
+ // Contract source: explicit
3368
+ "document_library_draft_create": {
3369
+ method: "POST",
3370
+ path: "/documents/library/drafts",
3371
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3372
+ meta: {
3373
+ tags: ["document_library"],
3374
+ validated: { "params": false, "query": true, "body": true }
3375
+ },
3376
+ types: null
3377
+ },
3378
+ // Contract source: explicit
3379
+ "document_library_draft_update": {
3380
+ method: "PUT",
3381
+ path: "/documents/library/drafts/:id",
3382
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3383
+ meta: {
3384
+ tags: ["document_library"],
3385
+ validated: { "params": true, "query": true, "body": true }
3386
+ },
3387
+ types: null
3388
+ },
3389
+ // Contract source: explicit
3390
+ "document_library_draft_delete": {
3391
+ method: "DELETE",
3392
+ path: "/documents/library/drafts/:id",
3393
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3394
+ meta: {
3395
+ tags: ["document_library"],
3396
+ validated: { "params": true, "query": true, "body": false }
3397
+ },
3398
+ types: null
3399
+ },
3400
+ // Contract source: explicit
3401
+ "document_library_preview": {
3402
+ method: "POST",
3403
+ path: "/documents/library/drafts/:id/preview",
3404
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3405
+ meta: {
3406
+ tags: ["document_library"],
3407
+ validated: { "params": true, "query": true, "body": true }
3408
+ },
3409
+ types: null
3410
+ },
3411
+ // Contract source: explicit
3412
+ "document_library_render": {
3413
+ method: "POST",
3414
+ path: "/documents/library/drafts/:id/render",
3415
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3416
+ meta: {
3417
+ tags: ["document_library"],
3418
+ validated: { "params": true, "query": true, "body": true }
3419
+ },
3420
+ types: null
3421
+ },
3422
+ // Contract source: explicit
3423
+ "document_library_deliveries": {
3424
+ method: "GET",
3425
+ path: "/documents/library/:id/deliveries",
3426
+ auth: { "type": "frontend_permission_http", "permission": "documents_access" },
3427
+ meta: {
3428
+ tags: ["document_library"],
3429
+ validated: { "params": true, "query": true, "body": false }
3430
+ },
3431
+ types: null
3432
+ },
3433
+ // Contract source: explicit
3434
+ "document_library_send": {
3435
+ method: "POST",
3436
+ path: "/documents/library/:id/send",
3437
+ auth: { "type": "frontend_permission_http", "permission": "documents_manage" },
3438
+ meta: {
3439
+ tags: ["document_library"],
3440
+ validated: { "params": true, "query": true, "body": true }
3441
+ },
3442
+ types: null
3443
+ }
3444
+ };
3445
+
3084
3446
  // src/generated/api/features/routes.documents.ts
3085
3447
  var apiRoutes_documents = {
3086
3448
  // Contract source: explicit
@@ -4025,7 +4387,21 @@ var apiRoutes_invoices_external = {
4025
4387
  meta: {
4026
4388
  tags: ["invoices-external"],
4027
4389
  summary: "Create invoice (external API)",
4028
- description: "Creates a new invoice via API Key or OAuth2. managingCompanyId is derived from the auth token. Includes full line item support, VAT calculation, and optional PDF generation. Optional idempotencyKey durably replays the original creation response within the authenticated tenant and OAuth client/API key. Changed validated payload returns 409; current cost-center access is checked again. Keys do not expire. With idempotencyKey, paidAt is rejected (400). The stored creation response is not current payment evidence.",
4390
+ description: "Creates a new invoice via API Key or OAuth2. managingCompanyId is derived from the auth token. Includes full line item support, VAT calculation, and optional PDF generation. Optional idempotencyKey durably replays the original creation response within the authenticated tenant and OAuth client/API key. Changed validated payload returns 409; current cost-center access is checked again. Keys do not expire. With paidAt, invoice creation, paid status and the receipt commit atomically; a PDF download completes publication if needed. The stored creation response is not current payment evidence.",
4391
+ bodyContentType: "application/json",
4392
+ validated: { "params": false, "query": false, "body": true }
4393
+ },
4394
+ types: null
4395
+ },
4396
+ // Contract source: explicit
4397
+ "invoices_dry_run_external": {
4398
+ method: "POST",
4399
+ path: "/invoices/external/dry-run",
4400
+ auth: { "type": "unified_bearer", "allowUserSession": false, "allowOAuth2": true, "allowApiKey": true, "requireRole": "editor", "scopes": ["invoices:write"] },
4401
+ meta: {
4402
+ tags: ["invoices-external"],
4403
+ summary: "Dry run an invoice creation end to end (external API)",
4404
+ description: "Runs the full creation path of POST /invoices/external in one transaction: plan limit, VAT, number, line items, paid status (with paidAt), PDF, e-invoice, upload, year folder filing, document. Then rolls everything back and deletes the uploaded PDF. Nothing is persisted and no number is consumed. Same error responses as the real creation. idempotencyKey is ignored. Meant for scheduled canaries of consumers.",
4029
4405
  bodyContentType: "application/json",
4030
4406
  validated: { "params": false, "query": false, "body": true }
4031
4407
  },
@@ -4140,6 +4516,42 @@ var apiRoutes_logs = {
4140
4516
 
4141
4517
  // src/generated/api/features/routes.managing_companies.ts
4142
4518
  var apiRoutes_managing_companies = {
4519
+ // Contract source: explicit
4520
+ "managing_companies_invoice_numbering_get": {
4521
+ method: "GET",
4522
+ path: "/managing-companies/invoice-numbering/:managingCompanyId",
4523
+ auth: { "type": "frontend_bearer_http" },
4524
+ meta: {
4525
+ tags: ["managing-companies"],
4526
+ summary: "Nummernregeln und \xC4nderungsverlauf",
4527
+ validated: { "params": true, "query": false, "body": false }
4528
+ },
4529
+ types: null
4530
+ },
4531
+ // Contract source: explicit
4532
+ "managing_companies_invoice_numbering_save": {
4533
+ method: "PUT",
4534
+ path: "/managing-companies/invoice-numbering/:managingCompanyId",
4535
+ auth: { "type": "frontend_bearer_http" },
4536
+ meta: {
4537
+ tags: ["managing-companies"],
4538
+ summary: "Nummernregeln als Unternehmensadministrator \xE4ndern",
4539
+ validated: { "params": true, "query": false, "body": true }
4540
+ },
4541
+ types: null
4542
+ },
4543
+ // Contract source: explicit
4544
+ "managing_companies_invoice_numbering_preview": {
4545
+ method: "POST",
4546
+ path: "/managing-companies/invoice-numbering/:managingCompanyId/preview",
4547
+ auth: { "type": "frontend_bearer_http" },
4548
+ meta: {
4549
+ tags: ["managing-companies"],
4550
+ summary: "Nummern vorschauen ohne Reservierung",
4551
+ validated: { "params": true, "query": false, "body": true }
4552
+ },
4553
+ types: null
4554
+ },
4143
4555
  // Contract source: explicit
4144
4556
  "managing_companies_user_assignments_assign": {
4145
4557
  method: "POST",
@@ -4402,6 +4814,19 @@ var apiRoutes_managing_companies = {
4402
4814
  types: null
4403
4815
  },
4404
4816
  // Contract source: explicit
4817
+ "managing_companies_vat_settings_history": {
4818
+ method: "GET",
4819
+ path: "/managing-companies/vat-settings/:companyId/history",
4820
+ auth: { "type": "frontend_bearer_http" },
4821
+ meta: {
4822
+ tags: ["managing-companies", "vat-settings"],
4823
+ summary: "Verlauf der USt-Einstellungen lesen",
4824
+ description: "Aenderungsverlauf (Besteuerungsverfahren, UStVA-Praeferenz, Begruendung) der USt-Einstellungen einer Managing Company, aelteste zuerst. Fuer jedes Mitglied der Firma; der Admin-Weg GET /admin/vat/company/:companyId/settings-history bleibt der Plattformverwaltung. Auth: Bearer.",
4825
+ validated: { "params": true, "query": false, "body": false }
4826
+ },
4827
+ types: null
4828
+ },
4829
+ // Contract source: explicit
4405
4830
  "managing_companies_vat_settings_upsert": {
4406
4831
  method: "POST",
4407
4832
  path: "/managing-companies/vat-settings/:companyId",
@@ -5391,6 +5816,75 @@ var apiRoutes_settings = {
5391
5816
  }
5392
5817
  };
5393
5818
 
5819
+ // src/generated/api/features/routes.tax_years.ts
5820
+ var apiRoutes_tax_years = {
5821
+ // Contract source: explicit
5822
+ "tax_years_get": {
5823
+ method: "GET",
5824
+ path: "/tax-years/:year",
5825
+ auth: { "type": "frontend_bearer_http" },
5826
+ meta: {
5827
+ tags: ["tax-years"],
5828
+ summary: "Pers\xF6nlichen Steuerjahr-Arbeitsbereich lesen",
5829
+ description: "Lesend, legt keine Daten an. Nur der angemeldete Nutzer, unabh\xE4ngig von der ausgew\xE4hlten Firma. Liefert Aufgaben, Blocker, Quellen und aktuelle betriebliche Vorschauen mit erneut gepr\xFCften Zugriffsrechten. Fehlerhafte Daten sind unbekannt, niemals Null. Kein Steuerbescheid und keine Abgabe.",
5830
+ validated: { "params": true, "query": false, "body": false }
5831
+ },
5832
+ types: null
5833
+ },
5834
+ // Contract source: explicit
5835
+ "tax_years_configure": {
5836
+ method: "PUT",
5837
+ path: "/tax-years/:year/configuration",
5838
+ auth: { "type": "frontend_bearer_http" },
5839
+ meta: {
5840
+ tags: ["tax-years"],
5841
+ summary: "Pers\xF6nliche Situation und eigene Betriebe zuordnen",
5842
+ description: "Ersetzt die vollst\xE4ndige Konfiguration eines Jahres. expectedRevision aus GET, neue requestId pro \xC4nderung; bei Transportfehler dieselbe Anfrage wiederholen. 409 bei konkurrierender \xC4nderung. Betriebe erfordern unbeschr\xE4nkten Verwaltungszugriff und die ausdr\xFCckliche Zuordnung als eigener Einzelbetrieb. Alte Pr\xFCfungen und Abgabereferenzen bleiben nachvollziehbar.",
5843
+ validated: { "params": true, "query": false, "body": false }
5844
+ },
5845
+ types: null
5846
+ },
5847
+ // Contract source: explicit
5848
+ "tax_years_review": {
5849
+ method: "POST",
5850
+ path: "/tax-years/:year/reviews",
5851
+ auth: { "type": "frontend_bearer_http" },
5852
+ meta: {
5853
+ tags: ["tax-years"],
5854
+ summary: "Pr\xFCfung eines Vorbereitungsschritts dokumentieren oder wieder \xF6ffnen",
5855
+ description: "taskKey und basisFingerprint kommen aus GET. Nur ausdr\xFCcklich gepr\xFCfte Schritte best\xE4tigen; note benennt gepr\xFCfte Nachweise oder offene Punkte. Bei business:<id>:tax_checks ist corrections zwingend, auch als leere Liste; ersetzt die Korrekturen dieses Betriebs. Jede Korrektur verlangt betriebliche Zuordnung, Begr\xFCndung und Belegreferenz. euer-Pr\xFCfung archiviert die Berechnung. reopen einer Abgabe erh\xE4lt die Referenz und markiert erneuten Pr\xFCfbedarf. 409 bei ge\xE4nderter Grundlage, 422 bei offenen Voraussetzungen. Kein automatisches Abschlie\xDFen aufgrund vorhandener Zahlen.",
5856
+ validated: { "params": true, "query": false, "body": false }
5857
+ },
5858
+ types: null
5859
+ },
5860
+ // Contract source: explicit
5861
+ "tax_years_record_submission": {
5862
+ method: "POST",
5863
+ path: "/tax-years/:year/submissions",
5864
+ auth: { "type": "frontend_bearer_http" },
5865
+ meta: {
5866
+ tags: ["tax-years"],
5867
+ summary: "Bereits erfolgte externe Abgabe dokumentieren",
5868
+ description: "Speichert Datum und \xDCbermittlungsreferenz. Sendet nichts an ELSTER. Auch eine Abgabe mit offenen Punkten kann ehrlich erfasst werden; sie wird als pr\xFCfbed\xFCrftig angezeigt. Wiederholte Korrekturen erzeugen eine Revision. Abgabe ist kein Nachweis steuerlicher Vollst\xE4ndigkeit.",
5869
+ validated: { "params": true, "query": false, "body": false }
5870
+ },
5871
+ types: null
5872
+ },
5873
+ // Contract source: explicit
5874
+ "tax_years_history": {
5875
+ method: "GET",
5876
+ path: "/tax-years/:year/history",
5877
+ auth: { "type": "frontend_bearer_http" },
5878
+ meta: {
5879
+ tags: ["tax-years"],
5880
+ summary: "Pers\xF6nlichen \xC4nderungsverlauf lesen",
5881
+ description: "H\xF6chstens 50 Revisionen, absteigend. nextBeforeRevision als beforeRevision f\xFCr die n\xE4chste Seite. Ausschlie\xDFlich der eigene Verlauf.",
5882
+ validated: { "params": true, "query": true, "body": false }
5883
+ },
5884
+ types: null
5885
+ }
5886
+ };
5887
+
5394
5888
  // src/generated/api/base/routes.user_activity.ts
5395
5889
  var apiRoutes_user_activity = {
5396
5890
  // Contract source: explicit
@@ -5461,6 +5955,31 @@ var apiRoutes_users = {
5461
5955
  types: null
5462
5956
  },
5463
5957
  // Contract source: explicit
5958
+ "users_update_external_image": {
5959
+ method: "PUT",
5960
+ path: "/users/update/external/:frontendUserId/image",
5961
+ auth: { "type": "frontend_bearer_http" },
5962
+ meta: {
5963
+ tags: ["users"],
5964
+ summary: "Mirror the frontend user's profile image into this backend (base64)",
5965
+ bodyContentType: "application/json",
5966
+ validated: { "params": true, "query": false, "body": true }
5967
+ },
5968
+ types: null
5969
+ },
5970
+ // Contract source: explicit
5971
+ "users_delete_external_image": {
5972
+ method: "DELETE",
5973
+ path: "/users/update/external/:frontendUserId/image",
5974
+ auth: { "type": "frontend_bearer_http" },
5975
+ meta: {
5976
+ tags: ["users"],
5977
+ summary: "Remove the mirrored profile image of the frontend user",
5978
+ validated: { "params": true, "query": false, "body": false }
5979
+ },
5980
+ types: null
5981
+ },
5982
+ // Contract source: explicit
5464
5983
  "users_delete": {
5465
5984
  method: "DELETE",
5466
5985
  path: "/users/delete/:userId",
@@ -5745,6 +6264,7 @@ var apiRoutes = {
5745
6264
  ...apiRoutes_currency_rates,
5746
6265
  ...apiRoutes_customer_companies,
5747
6266
  ...apiRoutes_customer_companies_external,
6267
+ ...apiRoutes_document_library,
5748
6268
  ...apiRoutes_documents,
5749
6269
  ...apiRoutes_dunning_external,
5750
6270
  ...apiRoutes_enterprise,
@@ -5763,12 +6283,13 @@ var apiRoutes = {
5763
6283
  ...apiRoutes_roles,
5764
6284
  ...apiRoutes_security,
5765
6285
  ...apiRoutes_settings,
6286
+ ...apiRoutes_tax_years,
5766
6287
  ...apiRoutes_user_activity,
5767
6288
  ...apiRoutes_users,
5768
6289
  ...apiRoutes_webhooks,
5769
6290
  ...apiRoutes_work_tracking
5770
6291
  };
5771
6292
 
5772
- export { apiGroups, apiMountPrefixes, apiRoutes, apiRoutes_admin, apiRoutes_amp_mail, apiRoutes_app_info, apiRoutes_auth, apiRoutes_bookkeeping, apiRoutes_currency_rates, apiRoutes_customer_companies, apiRoutes_customer_companies_external, apiRoutes_documents, apiRoutes_dunning_external, apiRoutes_enterprise, apiRoutes_entitlements, apiRoutes_exports, apiRoutes_internal, apiRoutes_invoices, apiRoutes_invoices_external, apiRoutes_logs, apiRoutes_managing_companies, apiRoutes_managing_companies_external, apiRoutes_managing_company_logos, apiRoutes_oauth2, apiRoutes_oauth2_external, apiRoutes_permissions, apiRoutes_roles, apiRoutes_security, apiRoutes_settings, apiRoutes_user_activity, apiRoutes_users, apiRoutes_webhooks, apiRoutes_work_tracking };
6293
+ export { apiGroups, apiMountPrefixes, apiRoutes, apiRoutes_admin, apiRoutes_amp_mail, apiRoutes_app_info, apiRoutes_auth, apiRoutes_bookkeeping, apiRoutes_currency_rates, apiRoutes_customer_companies, apiRoutes_customer_companies_external, apiRoutes_document_library, apiRoutes_documents, apiRoutes_dunning_external, apiRoutes_enterprise, apiRoutes_entitlements, apiRoutes_exports, apiRoutes_internal, apiRoutes_invoices, apiRoutes_invoices_external, apiRoutes_logs, apiRoutes_managing_companies, apiRoutes_managing_companies_external, apiRoutes_managing_company_logos, apiRoutes_oauth2, apiRoutes_oauth2_external, apiRoutes_permissions, apiRoutes_roles, apiRoutes_security, apiRoutes_settings, apiRoutes_tax_years, apiRoutes_user_activity, apiRoutes_users, apiRoutes_webhooks, apiRoutes_work_tracking };
5773
6294
  //# sourceMappingURL=contract.js.map
5774
6295
  //# sourceMappingURL=contract.js.map