@saasicat/ui-vue 1.0.0-rc.27 → 1.0.0-rc.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/dist/.build-stamp +1 -1
- package/dist/assets/ui-vue.css +24 -1
- package/dist/{catalog-DwUIt-lr.d.cts → catalog-DheYUn-o.d.cts} +204 -2
- package/dist/{catalog-DwUIt-lr.d.ts → catalog-DheYUn-o.d.ts} +204 -2
- package/dist/{chunk-OAY5OVAZ.js → chunk-C6IYEQYN.js} +1 -1
- package/dist/{chunk-XNFQOQ4E.js → chunk-RDLOR3OP.js} +324 -16
- package/dist/{chunk-HQUTEVZN.js → chunk-UKVR6TKU.js} +17 -4
- package/dist/{chunk-AFEVIVPR.js → chunk-UPJS7YM6.js} +258 -73
- package/dist/{chunk-OVB6KZUS.js → chunk-XA77XIXF.js} +93 -2
- package/dist/chunks/QBtnToggle-PLGimm18.js +168 -0
- package/dist/client/index.cjs +457 -35
- package/dist/client/index.d.cts +31 -38
- package/dist/client/index.d.ts +31 -38
- package/dist/client/index.js +25 -5
- package/dist/index.cjs +747 -146
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +37 -7
- package/dist/{batch-column-fetcher-BoLjA4Gr.d.ts → invoice-cancellation-BGGaER3E.d.ts} +55 -5
- package/dist/{batch-column-fetcher-EPMSDmOq.d.cts → invoice-cancellation-CBPt205G.d.cts} +55 -5
- package/dist/pages/ReconciliationPage.js +3 -165
- package/dist/pages/TenantDetailPage.js +688 -64
- package/dist/quasar/index.cjs +325 -19
- package/dist/quasar/index.d.cts +2 -2
- package/dist/quasar/index.d.ts +2 -2
- package/dist/quasar/index.js +2 -2
- package/dist/{resource-registry-_fkP9cdl.d.cts → resource-registry-BusXVc1H.d.cts} +1 -1
- package/dist/{resource-registry-782pymZL.d.ts → resource-registry-DBJDimni.d.ts} +1 -1
- package/dist/vue/index.cjs +697 -133
- package/dist/vue/index.d.cts +83 -6
- package/dist/vue/index.d.ts +83 -6
- package/dist/vue/index.js +14 -4
- package/package.json +5 -5
- package/src/client/admin-error.ts +14 -4
- package/src/client/http/axios-http-client.ts +23 -0
- package/src/client/http/fetch-http-client.ts +7 -4
- package/src/client/i18n/messages/errors.ts +13 -5
- package/src/client/i18n/messages/tenants.ts +214 -0
- package/src/client/index.ts +2 -0
- package/src/client/invoice-cancellation.ts +123 -0
- package/src/client/resources/resource-request.ts +81 -9
- package/src/client/resources/tenants.resource.ts +105 -3
- package/src/client/save-file.ts +62 -0
- package/src/client/types.ts +11 -0
- package/src/index.ts +4 -0
- package/src/internal/tenant-detail/InvoiceCancellationDialog.vue +326 -0
- package/src/internal/tenant-detail/InvoiceCancellationLines.vue +148 -0
- package/src/internal/tenant-detail/TenantContracts.vue +121 -0
- package/src/internal/tenant-detail/TenantCredits.vue +5 -1
- package/src/internal/tenant-detail/TenantPayments.vue +75 -5
- package/src/pages/TenantDetailPage.vue +30 -0
- package/src/vue/index.ts +4 -0
- package/src/vue/use-file-download.ts +50 -0
- package/src/vue/use-invoice-cancellation.ts +238 -0
- package/src/vue/use-tenant-contracts.ts +54 -0
- package/src/vue/use-tenant-downloads.ts +43 -0
package/dist/.build-stamp
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
25d9bdf300afc11738864821176eeb1949f0583fdb0bc06d0c8dbdd7019c8c7c
|
package/dist/assets/ui-vue.css
CHANGED
|
@@ -6916,6 +6916,29 @@ code[data-v-aab75c67] {
|
|
|
6916
6916
|
font-size: var(--sa-text-md);
|
|
6917
6917
|
}
|
|
6918
6918
|
|
|
6919
|
+
.sa-invoice-cancel__lines[data-v-c2083b50] {
|
|
6920
|
+
list-style: none;
|
|
6921
|
+
margin: var(--sa-space-2) 0 0;
|
|
6922
|
+
padding: 0;
|
|
6923
|
+
display: grid;
|
|
6924
|
+
gap: var(--sa-space-2);
|
|
6925
|
+
}
|
|
6926
|
+
.sa-invoice-cancel__line[data-v-c2083b50] {
|
|
6927
|
+
display: flex;
|
|
6928
|
+
justify-content: space-between;
|
|
6929
|
+
gap: var(--sa-space-3);
|
|
6930
|
+
}
|
|
6931
|
+
|
|
6932
|
+
.sa-invoice-cancel__figures[data-v-47173c72] {
|
|
6933
|
+
display: grid;
|
|
6934
|
+
grid-template-columns: max-content 1fr;
|
|
6935
|
+
gap: var(--sa-space-1) var(--sa-space-3);
|
|
6936
|
+
margin: var(--sa-space-2) 0 0;
|
|
6937
|
+
}
|
|
6938
|
+
.sa-invoice-cancel__figures dd[data-v-47173c72] {
|
|
6939
|
+
margin: 0;
|
|
6940
|
+
}
|
|
6941
|
+
|
|
6919
6942
|
.sa-tenant-subscriber__note[data-v-2e8dc554] {
|
|
6920
6943
|
color: var(--sa-color-fg-muted);
|
|
6921
6944
|
margin: 0;
|
|
@@ -6925,7 +6948,7 @@ code[data-v-aab75c67] {
|
|
|
6925
6948
|
padding-left: var(--sa-space-4);
|
|
6926
6949
|
}
|
|
6927
6950
|
|
|
6928
|
-
code[data-v-
|
|
6951
|
+
code[data-v-73185124] {
|
|
6929
6952
|
background: var(--sa-color-bg-sunken);
|
|
6930
6953
|
padding: var(--sa-space-0) var(--sa-space-2);
|
|
6931
6954
|
border-radius: var(--sa-radius-badge);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _saasicat_core from '@saasicat/core';
|
|
2
|
-
import { FeatureWithdrawalReduction, FeatureWithdrawalView, FeatureWithdrawalPreview, FeatureWithdrawalAnnounced, FeatureWithdrawalLifted, BundleVersionRetirementView, BundleRetirementPreview, BundleRetirementAnnounced, VersionRetirementView, RetirementPreview, RetirementAnnounced, MaintenanceOverview, MaintenanceWindowView, MaintenanceLockView, MaintenanceUnlockView, AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, AdminSubscriberAccount, AdminSubscriberCredits, AdminTenantPayments, AdminSubscriberPayout, AdminTenantSubscriber, AdminSubscriberHistoryEntry, AdminSubscriberCorrected, AdminSubscriberAttention, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
2
|
+
import { FeatureWithdrawalReduction, FeatureWithdrawalView, FeatureWithdrawalPreview, FeatureWithdrawalAnnounced, FeatureWithdrawalLifted, BundleVersionRetirementView, BundleRetirementPreview, BundleRetirementAnnounced, VersionRetirementView, RetirementPreview, RetirementAnnounced, MaintenanceOverview, MaintenanceWindowView, MaintenanceLockView, MaintenanceUnlockView, AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, AdminSubscriberAccount, AdminSubscriberCredits, AdminTenantPayments, AdminTenantContracts, AdminSubscriberPayout, AdminInvoice, InvoiceCancellationRequest, AdminInvoiceCancellationPlan, AdminCancelledInvoice, AdminTenantSubscriber, AdminSubscriberHistoryEntry, AdminSubscriberCorrected, AdminSubscriberAttention, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Minimal abstraction over `fetch`. Consumers may pass their own
|
|
@@ -10,6 +10,12 @@ type HttpClient = (url: string, init?: {
|
|
|
10
10
|
method?: string;
|
|
11
11
|
headers?: Record<string, string>;
|
|
12
12
|
body?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The answer is a file, such as an invoice's document: ask for its
|
|
15
|
+
* body as it arrived, which `HttpResponse.bytes` then hands over. A
|
|
16
|
+
* client that leaves this out still serves every other request.
|
|
17
|
+
*/
|
|
18
|
+
binary?: boolean;
|
|
13
19
|
}) => Promise<HttpResponse>;
|
|
14
20
|
interface HttpResponse {
|
|
15
21
|
status: number;
|
|
@@ -18,6 +24,11 @@ interface HttpResponse {
|
|
|
18
24
|
};
|
|
19
25
|
json(): Promise<unknown>;
|
|
20
26
|
text(): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* The body as it arrived, for a request made with `binary`. Optional: only
|
|
29
|
+
* the downloads ask for it, and they say so where a client has none.
|
|
30
|
+
*/
|
|
31
|
+
bytes?(): Promise<Uint8Array>;
|
|
21
32
|
}
|
|
22
33
|
/** Simple persistence adapter; default is `localStorage`. */
|
|
23
34
|
interface KvStore {
|
|
@@ -386,6 +397,56 @@ declare const auditResource: ResourceDef<{
|
|
|
386
397
|
readonly list: (http: HttpClient, ctx: ResourceContext, filter?: AuditListFilter) => Promise<AuditEntry[]>;
|
|
387
398
|
}>;
|
|
388
399
|
|
|
400
|
+
interface ResourceRequestInit {
|
|
401
|
+
/** Default `GET`. */
|
|
402
|
+
method?: string;
|
|
403
|
+
/** Serialised here — the `HttpClient` contract only carries strings. */
|
|
404
|
+
body?: unknown;
|
|
405
|
+
/** Merged over the defaults, so a caller's header wins. */
|
|
406
|
+
headers?: Record<string, string>;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Sends a request and returns the parsed body, or `null` when there was none.
|
|
410
|
+
*
|
|
411
|
+
* `null` covers both a `204` and a 2xx whose body would not parse. The two are
|
|
412
|
+
* deliberately not distinguished: every caller treats them the same way — a
|
|
413
|
+
* list turns `null` into `[]`, a mutation turns it into a failure — and no
|
|
414
|
+
* endpoint in this family answers a mutation with an empty 200 on purpose.
|
|
415
|
+
*
|
|
416
|
+
* A non-2xx throws an `AdminError` carrying the parsed body, so a caller can
|
|
417
|
+
* still branch on `status` and `body.code` the way the pages do today.
|
|
418
|
+
*
|
|
419
|
+
* A client that resolved without an HTTP status throws before any of that: no
|
|
420
|
+
* status means the request never reached the server, which is a transport
|
|
421
|
+
* failure and not an answer this function may read.
|
|
422
|
+
*/
|
|
423
|
+
declare function requestJson<T>(http: HttpClient, url: string, init?: ResourceRequestInit): Promise<T | null>;
|
|
424
|
+
/** A file a download answered: its bytes, its media type and the name it is offered under. */
|
|
425
|
+
interface DownloadedFile {
|
|
426
|
+
content: Uint8Array;
|
|
427
|
+
mediaType: string;
|
|
428
|
+
fileName: string;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Downloads the file `url` answers, such as an invoice's archived document. A
|
|
432
|
+
* refusal is thrown as `requestJson` throws it, from the JSON body the server
|
|
433
|
+
* answers a refusal with. The name is the one `Content-Disposition` offers, or
|
|
434
|
+
* `fallbackName` where it offers none.
|
|
435
|
+
*
|
|
436
|
+
* Needs a client whose responses have `bytes()`: both clients the package
|
|
437
|
+
* ships do. One of the application's own that has none is said, rather than
|
|
438
|
+
* read through `text()`, which would hand a PDF over decoded as UTF-8.
|
|
439
|
+
*/
|
|
440
|
+
declare function requestFile(http: HttpClient, url: string, fallbackName: string): Promise<DownloadedFile>;
|
|
441
|
+
/**
|
|
442
|
+
* Reads the body of a request that must answer with one.
|
|
443
|
+
*
|
|
444
|
+
* The empty case is a failure rather than a `null` the caller has to re-check:
|
|
445
|
+
* a create that returns nothing has not told us what it created. Raised with
|
|
446
|
+
* `status: 0`, because no HTTP status went wrong — the response was a 2xx.
|
|
447
|
+
*/
|
|
448
|
+
declare function requestJsonBody<T>(http: HttpClient, url: string, what: string, init?: ResourceRequestInit): Promise<T>;
|
|
449
|
+
|
|
389
450
|
/** 1-based: the page a list starts on, and the one a changed filter returns to. */
|
|
390
451
|
declare const LIST_FIRST_PAGE = 1;
|
|
391
452
|
/**
|
|
@@ -532,12 +593,48 @@ declare const tenantsResource: ResourceDef<{
|
|
|
532
593
|
* `payments.read`.
|
|
533
594
|
*/
|
|
534
595
|
readonly payments: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<AdminTenantPayments>;
|
|
596
|
+
/**
|
|
597
|
+
* The tenant's contracts, the newest first, each with where its
|
|
598
|
+
* confirmation stands. Served only where the manifest announces
|
|
599
|
+
* `contracts.read`.
|
|
600
|
+
*/
|
|
601
|
+
readonly contracts: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<AdminTenantContracts>;
|
|
602
|
+
/**
|
|
603
|
+
* The archived confirmation of one contract, the file its subscriber was
|
|
604
|
+
* sent. Served where the manifest announces `contracts.read`.
|
|
605
|
+
*/
|
|
606
|
+
readonly contractConfirmation: (http: HttpClient, ctx: ResourceContext, contractId: string) => Promise<DownloadedFile>;
|
|
607
|
+
/**
|
|
608
|
+
* The archived document of one invoice, the file it was issued as. Served
|
|
609
|
+
* where the manifest announces `invoices.read`.
|
|
610
|
+
*/
|
|
611
|
+
readonly invoiceDocument: (http: HttpClient, ctx: ResourceContext, invoiceId: string) => Promise<DownloadedFile>;
|
|
535
612
|
/**
|
|
536
613
|
* Records a payout made outside the gateway against one credit, and
|
|
537
614
|
* answers the credits as they stand after it. Requires the second factor;
|
|
538
615
|
* served where the manifest announces `credits.payout`.
|
|
539
616
|
*/
|
|
540
617
|
readonly recordPayout: (http: HttpClient, ctx: ResourceContext, slug: string, creditId: string, payout: AdminSubscriberPayout, mfaCode?: string) => Promise<AdminSubscriberCredits>;
|
|
618
|
+
/**
|
|
619
|
+
* One of the tenant's invoices with its lines, each with what its charge
|
|
620
|
+
* stands at and whether a cancellation may correct it. Served where the
|
|
621
|
+
* manifest announces `invoices.cancel`.
|
|
622
|
+
*/
|
|
623
|
+
readonly invoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string) => Promise<AdminInvoice>;
|
|
624
|
+
/**
|
|
625
|
+
* What cancelling one of the tenant's invoices would write — the
|
|
626
|
+
* cancellation invoice, the replacement and where what was paid goes —,
|
|
627
|
+
* computed as the cancellation computes it and refused as it is; nothing
|
|
628
|
+
* is written. Served where the manifest announces `invoices.cancel`.
|
|
629
|
+
*/
|
|
630
|
+
readonly previewInvoiceCancellation: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: InvoiceCancellationRequest) => Promise<AdminInvoiceCancellationPlan>;
|
|
631
|
+
/**
|
|
632
|
+
* Cancels one of the tenant's invoices by a cancellation invoice and its
|
|
633
|
+
* replacement. Requires the second factor; the request carries the
|
|
634
|
+
* preview's digest, and a preview that no longer holds is refused with the
|
|
635
|
+
* new one.
|
|
636
|
+
*/
|
|
637
|
+
readonly cancelInvoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: InvoiceCancellationRequest, mfaCode?: string) => Promise<AdminCancelledInvoice>;
|
|
541
638
|
/**
|
|
542
639
|
* The tenant's subscriber, its tax details and what holds its next
|
|
543
640
|
* contract back. Served only where the manifest announces
|
|
@@ -862,7 +959,13 @@ declare const platformResources: {
|
|
|
862
959
|
readonly charges: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberAccount>;
|
|
863
960
|
readonly credits: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberCredits>;
|
|
864
961
|
readonly payments: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantPayments>;
|
|
962
|
+
readonly contracts: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantContracts>;
|
|
963
|
+
readonly contractConfirmation: (http: HttpClient, ctx: ResourceContext, contractId: string) => Promise<DownloadedFile>;
|
|
964
|
+
readonly invoiceDocument: (http: HttpClient, ctx: ResourceContext, invoiceId: string) => Promise<DownloadedFile>;
|
|
865
965
|
readonly recordPayout: (http: HttpClient, ctx: ResourceContext, slug: string, creditId: string, payout: _saasicat_core.AdminSubscriberPayout, mfaCode?: string) => Promise<_saasicat_core.AdminSubscriberCredits>;
|
|
966
|
+
readonly invoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string) => Promise<_saasicat_core.AdminInvoice>;
|
|
967
|
+
readonly previewInvoiceCancellation: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: _saasicat_core.InvoiceCancellationRequest) => Promise<_saasicat_core.AdminInvoiceCancellationPlan>;
|
|
968
|
+
readonly cancelInvoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: _saasicat_core.InvoiceCancellationRequest, mfaCode?: string) => Promise<_saasicat_core.AdminCancelledInvoice>;
|
|
866
969
|
readonly subscriber: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantSubscriber>;
|
|
867
970
|
readonly subscriberHistory: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberHistoryEntry[]>;
|
|
868
971
|
readonly correctSubscriberIdentity: (http: HttpClient, ctx: ResourceContext, slug: string, correction: SubscriberIdentityCorrectionInput, mfaCode?: string) => Promise<_saasicat_core.AdminSubscriberCorrected>;
|
|
@@ -1538,6 +1641,7 @@ declare const errorsMessages: Record<SaBuiltinLocale, {
|
|
|
1538
1641
|
server: string;
|
|
1539
1642
|
httpStatus: string;
|
|
1540
1643
|
unexpected: string;
|
|
1644
|
+
codes: Record<_saasicat_core.PlatformErrorCode, string>;
|
|
1541
1645
|
}>;
|
|
1542
1646
|
|
|
1543
1647
|
declare const featureWithdrawalsMessages: Record<SaBuiltinLocale, {
|
|
@@ -2767,6 +2871,7 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2767
2871
|
fromPayment: string;
|
|
2768
2872
|
fromInvoice: string;
|
|
2769
2873
|
fromReversal: string;
|
|
2874
|
+
fromCancellation: string;
|
|
2770
2875
|
unknownInvoice: string;
|
|
2771
2876
|
payOut: string;
|
|
2772
2877
|
mfaPayout: string;
|
|
@@ -2796,6 +2901,102 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2796
2901
|
columnOwed: string;
|
|
2797
2902
|
casesTitle: string;
|
|
2798
2903
|
casesEmpty: string;
|
|
2904
|
+
columnStanding: string;
|
|
2905
|
+
cancellationOf: string;
|
|
2906
|
+
replacementOf: string;
|
|
2907
|
+
cancelledBy: string;
|
|
2908
|
+
cancel: string;
|
|
2909
|
+
cancelInvoice: string;
|
|
2910
|
+
download: string;
|
|
2911
|
+
downloadInvoice: string;
|
|
2912
|
+
mfaCancel: string;
|
|
2913
|
+
cancelled: string;
|
|
2914
|
+
cancelledWithoutReplacement: string;
|
|
2915
|
+
cancelDialog: {
|
|
2916
|
+
askSubtitle: string;
|
|
2917
|
+
reason: string;
|
|
2918
|
+
reasonHint: string;
|
|
2919
|
+
lines: string;
|
|
2920
|
+
linesCaption: string;
|
|
2921
|
+
linesLoadFailed: string;
|
|
2922
|
+
lineChoice: string;
|
|
2923
|
+
lineOwed: string;
|
|
2924
|
+
lineNotOwed: string;
|
|
2925
|
+
linePart: string;
|
|
2926
|
+
lineAmount: string;
|
|
2927
|
+
lineAmountHint: string;
|
|
2928
|
+
lineFollows: string;
|
|
2929
|
+
lineCorrection: string;
|
|
2930
|
+
lineNothing: string;
|
|
2931
|
+
movedLines: string;
|
|
2932
|
+
movedLine: string;
|
|
2933
|
+
replacementLines: string;
|
|
2934
|
+
deliverTo: string;
|
|
2935
|
+
deliverToHint: string;
|
|
2936
|
+
corrections: string;
|
|
2937
|
+
correctionsCaption: string;
|
|
2938
|
+
onRecord: string;
|
|
2939
|
+
onRecordEmpty: string;
|
|
2940
|
+
takeOver: string;
|
|
2941
|
+
takeOverLabel: string;
|
|
2942
|
+
cleared: string;
|
|
2943
|
+
preview: string;
|
|
2944
|
+
previewSubtitle: string;
|
|
2945
|
+
cancellationInvoice: string;
|
|
2946
|
+
replacement: string;
|
|
2947
|
+
noReplacement: string;
|
|
2948
|
+
amounts: string;
|
|
2949
|
+
tax: string;
|
|
2950
|
+
dates: string;
|
|
2951
|
+
movedIn: string;
|
|
2952
|
+
credited: string;
|
|
2953
|
+
deliveredTo: string;
|
|
2954
|
+
toRecord: string;
|
|
2955
|
+
party: string;
|
|
2956
|
+
changed: string;
|
|
2957
|
+
none: string;
|
|
2958
|
+
back: string;
|
|
2959
|
+
submit: string;
|
|
2960
|
+
previewChanged: string;
|
|
2961
|
+
taxTreatment: {
|
|
2962
|
+
standard: string;
|
|
2963
|
+
reduced: string;
|
|
2964
|
+
exempt: string;
|
|
2965
|
+
'reverse-charge': string;
|
|
2966
|
+
'not-taxable': string;
|
|
2967
|
+
'small-business': string;
|
|
2968
|
+
};
|
|
2969
|
+
};
|
|
2970
|
+
};
|
|
2971
|
+
contracts: {
|
|
2972
|
+
title: string;
|
|
2973
|
+
subtitle: string;
|
|
2974
|
+
loadFailed: string;
|
|
2975
|
+
empty: string;
|
|
2976
|
+
columnConcluded: string;
|
|
2977
|
+
columnStart: string;
|
|
2978
|
+
columnStatus: string;
|
|
2979
|
+
columnBilling: string;
|
|
2980
|
+
columnTotal: string;
|
|
2981
|
+
columnTerms: string;
|
|
2982
|
+
columnNotice: string;
|
|
2983
|
+
columnConfirmation: string;
|
|
2984
|
+
noTerms: string;
|
|
2985
|
+
noticeDays: string;
|
|
2986
|
+
statuses: {
|
|
2987
|
+
active: string;
|
|
2988
|
+
scheduled: string;
|
|
2989
|
+
terminated: string;
|
|
2990
|
+
superseded: string;
|
|
2991
|
+
};
|
|
2992
|
+
states: {
|
|
2993
|
+
'not-due': string;
|
|
2994
|
+
'being-made': string;
|
|
2995
|
+
'awaiting-mail': string;
|
|
2996
|
+
sent: string;
|
|
2997
|
+
};
|
|
2998
|
+
download: string;
|
|
2999
|
+
downloadConfirmation: string;
|
|
2799
3000
|
};
|
|
2800
3001
|
subscriber: {
|
|
2801
3002
|
title: string;
|
|
@@ -2865,6 +3066,7 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2865
3066
|
};
|
|
2866
3067
|
field: {
|
|
2867
3068
|
addressLine1: string;
|
|
3069
|
+
addressLine2: string;
|
|
2868
3070
|
postalCode: string;
|
|
2869
3071
|
city: string;
|
|
2870
3072
|
country: string;
|
|
@@ -3058,4 +3260,4 @@ interface SaCatalog {
|
|
|
3058
3260
|
*/
|
|
3059
3261
|
declare function createSaCatalog(options?: SaCatalogOptions): SaCatalog;
|
|
3060
3262
|
|
|
3061
|
-
export { type
|
|
3263
|
+
export { type ResourceOp as $, ActionDefNotInManifestError as A, type Bound as B, type PilotCreateResult as C, DEFAULT_SA_LOCALE as D, type EmailHistoryDetail as E, type FeatureWithdrawalAnnouncementInput as F, type PilotEditPayload as G, type HttpClient as H, type PilotEditResult as I, type PilotRow as J, type KpiReading as K, LIST_FIRST_PAGE as L, type MaintenanceAnnouncementInput as M, type PlatformEmailProvider as N, type PlatformEmailTestInput as O, type PartialMessages as P, type PlatformEmailTestResult as Q, type PlatformEmailWriteInput as R, type PlatformResources as S, type PromoCodesFilter as T, type PromoDetail as U, type PublishBundleVersionOptions as V, type PublishPlanVersionOptions as W, type ResolvedAction as X, type ResourceContext as Y, type ResourceDef as Z, type ResourceListPage as _, type ActionHandler as a, type ResourceOps as a0, type ResourceRequestInit as a1, type RetirementAnnouncement as a2, SA_INTL_LOCALES as a3, SA_LOCALES as a4, SA_LOCALE_LABELS as a5, SA_MESSAGES as a6, type SaBuiltinLocale as a7, type SaCatalog as a8, type SaCatalogOptions as a9, featureWithdrawalsResource as aA, filterQueryString as aB, isMaintenanceOverview as aC, isSaBuiltinLocale as aD, isSentInQuery as aE, listUrl as aF, maintenanceResource as aG, marketingResource as aH, mergeMessages as aI, planVersionsResource as aJ, plansResource as aK, platformResources as aL, promoCodesResource as aM, readListPage as aN, requestFile as aO, requestJson as aP, requestJsonBody as aQ, resolveMessages as aR, settingsResource as aS, tenantsResource as aT, versionRetirementsResource as aU, type SaNavMessages as aV, type SaLocale as aa, type SaLocaleDefinition as ab, type SaLocaleOption as ac, type SaMessages as ad, type SaMessagesOverrides as ae, type SettingsChangeView as af, type SettingsDifferenceView as ag, type SubscriberBusinessStatusInput as ah, type SubscriberIdentityCorrectionInput as ai, type TenantsListFilter as aj, type TranslationOf as ak, auditResource as al, bindResource as am, bundleVersionRetirementsResource as an, bundleVersionsResource as ao, bundlesResource as ap, clampListPage as aq, clampListPageSize as ar, createSaCatalog as as, dashboardResource as at, defaultHttpClient as au, defaultKvStore as av, defineListOp as aw, defineMessages as ax, defineResource as ay, discoveryResource as az, ActionRegistry as b, type AppliedSettingsView as c, type AuditListFilter as d, type BundleRetirementAnnouncement as e, type DiscoveryRead as f, type DownloadedFile as g, type EmailHistoryFilter as h, type EmailHistoryListResult as i, type EmailHistoryResendResult as j, type EmailHistoryRow as k, type EmailHistoryStatus as l, type HttpResponse as m, type KvStore as n, LIST_PAGE_SIZE_DEFAULT as o, LIST_PAGE_SIZE_MAX as p, LIST_PAGINATION_PARAMS as q, type ListFilterOf as r, type ListOp as s, type ListQuery as t, type MaintenanceLockInput as u, type MaintenanceRevisionInput as v, type MarketingProjectionsFilter as w, type MessageTree as x, MissingHandlerError as y, type PilotCreatePayload as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _saasicat_core from '@saasicat/core';
|
|
2
|
-
import { FeatureWithdrawalReduction, FeatureWithdrawalView, FeatureWithdrawalPreview, FeatureWithdrawalAnnounced, FeatureWithdrawalLifted, BundleVersionRetirementView, BundleRetirementPreview, BundleRetirementAnnounced, VersionRetirementView, RetirementPreview, RetirementAnnounced, MaintenanceOverview, MaintenanceWindowView, MaintenanceLockView, MaintenanceUnlockView, AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, AdminSubscriberAccount, AdminSubscriberCredits, AdminTenantPayments, AdminSubscriberPayout, AdminTenantSubscriber, AdminSubscriberHistoryEntry, AdminSubscriberCorrected, AdminSubscriberAttention, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
2
|
+
import { FeatureWithdrawalReduction, FeatureWithdrawalView, FeatureWithdrawalPreview, FeatureWithdrawalAnnounced, FeatureWithdrawalLifted, BundleVersionRetirementView, BundleRetirementPreview, BundleRetirementAnnounced, VersionRetirementView, RetirementPreview, RetirementAnnounced, MaintenanceOverview, MaintenanceWindowView, MaintenanceLockView, MaintenanceUnlockView, AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, AdminSubscriberAccount, AdminSubscriberCredits, AdminTenantPayments, AdminTenantContracts, AdminSubscriberPayout, AdminInvoice, InvoiceCancellationRequest, AdminInvoiceCancellationPlan, AdminCancelledInvoice, AdminTenantSubscriber, AdminSubscriberHistoryEntry, AdminSubscriberCorrected, AdminSubscriberAttention, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Minimal abstraction over `fetch`. Consumers may pass their own
|
|
@@ -10,6 +10,12 @@ type HttpClient = (url: string, init?: {
|
|
|
10
10
|
method?: string;
|
|
11
11
|
headers?: Record<string, string>;
|
|
12
12
|
body?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The answer is a file, such as an invoice's document: ask for its
|
|
15
|
+
* body as it arrived, which `HttpResponse.bytes` then hands over. A
|
|
16
|
+
* client that leaves this out still serves every other request.
|
|
17
|
+
*/
|
|
18
|
+
binary?: boolean;
|
|
13
19
|
}) => Promise<HttpResponse>;
|
|
14
20
|
interface HttpResponse {
|
|
15
21
|
status: number;
|
|
@@ -18,6 +24,11 @@ interface HttpResponse {
|
|
|
18
24
|
};
|
|
19
25
|
json(): Promise<unknown>;
|
|
20
26
|
text(): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* The body as it arrived, for a request made with `binary`. Optional: only
|
|
29
|
+
* the downloads ask for it, and they say so where a client has none.
|
|
30
|
+
*/
|
|
31
|
+
bytes?(): Promise<Uint8Array>;
|
|
21
32
|
}
|
|
22
33
|
/** Simple persistence adapter; default is `localStorage`. */
|
|
23
34
|
interface KvStore {
|
|
@@ -386,6 +397,56 @@ declare const auditResource: ResourceDef<{
|
|
|
386
397
|
readonly list: (http: HttpClient, ctx: ResourceContext, filter?: AuditListFilter) => Promise<AuditEntry[]>;
|
|
387
398
|
}>;
|
|
388
399
|
|
|
400
|
+
interface ResourceRequestInit {
|
|
401
|
+
/** Default `GET`. */
|
|
402
|
+
method?: string;
|
|
403
|
+
/** Serialised here — the `HttpClient` contract only carries strings. */
|
|
404
|
+
body?: unknown;
|
|
405
|
+
/** Merged over the defaults, so a caller's header wins. */
|
|
406
|
+
headers?: Record<string, string>;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Sends a request and returns the parsed body, or `null` when there was none.
|
|
410
|
+
*
|
|
411
|
+
* `null` covers both a `204` and a 2xx whose body would not parse. The two are
|
|
412
|
+
* deliberately not distinguished: every caller treats them the same way — a
|
|
413
|
+
* list turns `null` into `[]`, a mutation turns it into a failure — and no
|
|
414
|
+
* endpoint in this family answers a mutation with an empty 200 on purpose.
|
|
415
|
+
*
|
|
416
|
+
* A non-2xx throws an `AdminError` carrying the parsed body, so a caller can
|
|
417
|
+
* still branch on `status` and `body.code` the way the pages do today.
|
|
418
|
+
*
|
|
419
|
+
* A client that resolved without an HTTP status throws before any of that: no
|
|
420
|
+
* status means the request never reached the server, which is a transport
|
|
421
|
+
* failure and not an answer this function may read.
|
|
422
|
+
*/
|
|
423
|
+
declare function requestJson<T>(http: HttpClient, url: string, init?: ResourceRequestInit): Promise<T | null>;
|
|
424
|
+
/** A file a download answered: its bytes, its media type and the name it is offered under. */
|
|
425
|
+
interface DownloadedFile {
|
|
426
|
+
content: Uint8Array;
|
|
427
|
+
mediaType: string;
|
|
428
|
+
fileName: string;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Downloads the file `url` answers, such as an invoice's archived document. A
|
|
432
|
+
* refusal is thrown as `requestJson` throws it, from the JSON body the server
|
|
433
|
+
* answers a refusal with. The name is the one `Content-Disposition` offers, or
|
|
434
|
+
* `fallbackName` where it offers none.
|
|
435
|
+
*
|
|
436
|
+
* Needs a client whose responses have `bytes()`: both clients the package
|
|
437
|
+
* ships do. One of the application's own that has none is said, rather than
|
|
438
|
+
* read through `text()`, which would hand a PDF over decoded as UTF-8.
|
|
439
|
+
*/
|
|
440
|
+
declare function requestFile(http: HttpClient, url: string, fallbackName: string): Promise<DownloadedFile>;
|
|
441
|
+
/**
|
|
442
|
+
* Reads the body of a request that must answer with one.
|
|
443
|
+
*
|
|
444
|
+
* The empty case is a failure rather than a `null` the caller has to re-check:
|
|
445
|
+
* a create that returns nothing has not told us what it created. Raised with
|
|
446
|
+
* `status: 0`, because no HTTP status went wrong — the response was a 2xx.
|
|
447
|
+
*/
|
|
448
|
+
declare function requestJsonBody<T>(http: HttpClient, url: string, what: string, init?: ResourceRequestInit): Promise<T>;
|
|
449
|
+
|
|
389
450
|
/** 1-based: the page a list starts on, and the one a changed filter returns to. */
|
|
390
451
|
declare const LIST_FIRST_PAGE = 1;
|
|
391
452
|
/**
|
|
@@ -532,12 +593,48 @@ declare const tenantsResource: ResourceDef<{
|
|
|
532
593
|
* `payments.read`.
|
|
533
594
|
*/
|
|
534
595
|
readonly payments: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<AdminTenantPayments>;
|
|
596
|
+
/**
|
|
597
|
+
* The tenant's contracts, the newest first, each with where its
|
|
598
|
+
* confirmation stands. Served only where the manifest announces
|
|
599
|
+
* `contracts.read`.
|
|
600
|
+
*/
|
|
601
|
+
readonly contracts: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<AdminTenantContracts>;
|
|
602
|
+
/**
|
|
603
|
+
* The archived confirmation of one contract, the file its subscriber was
|
|
604
|
+
* sent. Served where the manifest announces `contracts.read`.
|
|
605
|
+
*/
|
|
606
|
+
readonly contractConfirmation: (http: HttpClient, ctx: ResourceContext, contractId: string) => Promise<DownloadedFile>;
|
|
607
|
+
/**
|
|
608
|
+
* The archived document of one invoice, the file it was issued as. Served
|
|
609
|
+
* where the manifest announces `invoices.read`.
|
|
610
|
+
*/
|
|
611
|
+
readonly invoiceDocument: (http: HttpClient, ctx: ResourceContext, invoiceId: string) => Promise<DownloadedFile>;
|
|
535
612
|
/**
|
|
536
613
|
* Records a payout made outside the gateway against one credit, and
|
|
537
614
|
* answers the credits as they stand after it. Requires the second factor;
|
|
538
615
|
* served where the manifest announces `credits.payout`.
|
|
539
616
|
*/
|
|
540
617
|
readonly recordPayout: (http: HttpClient, ctx: ResourceContext, slug: string, creditId: string, payout: AdminSubscriberPayout, mfaCode?: string) => Promise<AdminSubscriberCredits>;
|
|
618
|
+
/**
|
|
619
|
+
* One of the tenant's invoices with its lines, each with what its charge
|
|
620
|
+
* stands at and whether a cancellation may correct it. Served where the
|
|
621
|
+
* manifest announces `invoices.cancel`.
|
|
622
|
+
*/
|
|
623
|
+
readonly invoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string) => Promise<AdminInvoice>;
|
|
624
|
+
/**
|
|
625
|
+
* What cancelling one of the tenant's invoices would write — the
|
|
626
|
+
* cancellation invoice, the replacement and where what was paid goes —,
|
|
627
|
+
* computed as the cancellation computes it and refused as it is; nothing
|
|
628
|
+
* is written. Served where the manifest announces `invoices.cancel`.
|
|
629
|
+
*/
|
|
630
|
+
readonly previewInvoiceCancellation: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: InvoiceCancellationRequest) => Promise<AdminInvoiceCancellationPlan>;
|
|
631
|
+
/**
|
|
632
|
+
* Cancels one of the tenant's invoices by a cancellation invoice and its
|
|
633
|
+
* replacement. Requires the second factor; the request carries the
|
|
634
|
+
* preview's digest, and a preview that no longer holds is refused with the
|
|
635
|
+
* new one.
|
|
636
|
+
*/
|
|
637
|
+
readonly cancelInvoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: InvoiceCancellationRequest, mfaCode?: string) => Promise<AdminCancelledInvoice>;
|
|
541
638
|
/**
|
|
542
639
|
* The tenant's subscriber, its tax details and what holds its next
|
|
543
640
|
* contract back. Served only where the manifest announces
|
|
@@ -862,7 +959,13 @@ declare const platformResources: {
|
|
|
862
959
|
readonly charges: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberAccount>;
|
|
863
960
|
readonly credits: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberCredits>;
|
|
864
961
|
readonly payments: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantPayments>;
|
|
962
|
+
readonly contracts: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantContracts>;
|
|
963
|
+
readonly contractConfirmation: (http: HttpClient, ctx: ResourceContext, contractId: string) => Promise<DownloadedFile>;
|
|
964
|
+
readonly invoiceDocument: (http: HttpClient, ctx: ResourceContext, invoiceId: string) => Promise<DownloadedFile>;
|
|
865
965
|
readonly recordPayout: (http: HttpClient, ctx: ResourceContext, slug: string, creditId: string, payout: _saasicat_core.AdminSubscriberPayout, mfaCode?: string) => Promise<_saasicat_core.AdminSubscriberCredits>;
|
|
966
|
+
readonly invoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string) => Promise<_saasicat_core.AdminInvoice>;
|
|
967
|
+
readonly previewInvoiceCancellation: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: _saasicat_core.InvoiceCancellationRequest) => Promise<_saasicat_core.AdminInvoiceCancellationPlan>;
|
|
968
|
+
readonly cancelInvoice: (http: HttpClient, ctx: ResourceContext, slug: string, invoiceId: string, request: _saasicat_core.InvoiceCancellationRequest, mfaCode?: string) => Promise<_saasicat_core.AdminCancelledInvoice>;
|
|
866
969
|
readonly subscriber: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantSubscriber>;
|
|
867
970
|
readonly subscriberHistory: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberHistoryEntry[]>;
|
|
868
971
|
readonly correctSubscriberIdentity: (http: HttpClient, ctx: ResourceContext, slug: string, correction: SubscriberIdentityCorrectionInput, mfaCode?: string) => Promise<_saasicat_core.AdminSubscriberCorrected>;
|
|
@@ -1538,6 +1641,7 @@ declare const errorsMessages: Record<SaBuiltinLocale, {
|
|
|
1538
1641
|
server: string;
|
|
1539
1642
|
httpStatus: string;
|
|
1540
1643
|
unexpected: string;
|
|
1644
|
+
codes: Record<_saasicat_core.PlatformErrorCode, string>;
|
|
1541
1645
|
}>;
|
|
1542
1646
|
|
|
1543
1647
|
declare const featureWithdrawalsMessages: Record<SaBuiltinLocale, {
|
|
@@ -2767,6 +2871,7 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2767
2871
|
fromPayment: string;
|
|
2768
2872
|
fromInvoice: string;
|
|
2769
2873
|
fromReversal: string;
|
|
2874
|
+
fromCancellation: string;
|
|
2770
2875
|
unknownInvoice: string;
|
|
2771
2876
|
payOut: string;
|
|
2772
2877
|
mfaPayout: string;
|
|
@@ -2796,6 +2901,102 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2796
2901
|
columnOwed: string;
|
|
2797
2902
|
casesTitle: string;
|
|
2798
2903
|
casesEmpty: string;
|
|
2904
|
+
columnStanding: string;
|
|
2905
|
+
cancellationOf: string;
|
|
2906
|
+
replacementOf: string;
|
|
2907
|
+
cancelledBy: string;
|
|
2908
|
+
cancel: string;
|
|
2909
|
+
cancelInvoice: string;
|
|
2910
|
+
download: string;
|
|
2911
|
+
downloadInvoice: string;
|
|
2912
|
+
mfaCancel: string;
|
|
2913
|
+
cancelled: string;
|
|
2914
|
+
cancelledWithoutReplacement: string;
|
|
2915
|
+
cancelDialog: {
|
|
2916
|
+
askSubtitle: string;
|
|
2917
|
+
reason: string;
|
|
2918
|
+
reasonHint: string;
|
|
2919
|
+
lines: string;
|
|
2920
|
+
linesCaption: string;
|
|
2921
|
+
linesLoadFailed: string;
|
|
2922
|
+
lineChoice: string;
|
|
2923
|
+
lineOwed: string;
|
|
2924
|
+
lineNotOwed: string;
|
|
2925
|
+
linePart: string;
|
|
2926
|
+
lineAmount: string;
|
|
2927
|
+
lineAmountHint: string;
|
|
2928
|
+
lineFollows: string;
|
|
2929
|
+
lineCorrection: string;
|
|
2930
|
+
lineNothing: string;
|
|
2931
|
+
movedLines: string;
|
|
2932
|
+
movedLine: string;
|
|
2933
|
+
replacementLines: string;
|
|
2934
|
+
deliverTo: string;
|
|
2935
|
+
deliverToHint: string;
|
|
2936
|
+
corrections: string;
|
|
2937
|
+
correctionsCaption: string;
|
|
2938
|
+
onRecord: string;
|
|
2939
|
+
onRecordEmpty: string;
|
|
2940
|
+
takeOver: string;
|
|
2941
|
+
takeOverLabel: string;
|
|
2942
|
+
cleared: string;
|
|
2943
|
+
preview: string;
|
|
2944
|
+
previewSubtitle: string;
|
|
2945
|
+
cancellationInvoice: string;
|
|
2946
|
+
replacement: string;
|
|
2947
|
+
noReplacement: string;
|
|
2948
|
+
amounts: string;
|
|
2949
|
+
tax: string;
|
|
2950
|
+
dates: string;
|
|
2951
|
+
movedIn: string;
|
|
2952
|
+
credited: string;
|
|
2953
|
+
deliveredTo: string;
|
|
2954
|
+
toRecord: string;
|
|
2955
|
+
party: string;
|
|
2956
|
+
changed: string;
|
|
2957
|
+
none: string;
|
|
2958
|
+
back: string;
|
|
2959
|
+
submit: string;
|
|
2960
|
+
previewChanged: string;
|
|
2961
|
+
taxTreatment: {
|
|
2962
|
+
standard: string;
|
|
2963
|
+
reduced: string;
|
|
2964
|
+
exempt: string;
|
|
2965
|
+
'reverse-charge': string;
|
|
2966
|
+
'not-taxable': string;
|
|
2967
|
+
'small-business': string;
|
|
2968
|
+
};
|
|
2969
|
+
};
|
|
2970
|
+
};
|
|
2971
|
+
contracts: {
|
|
2972
|
+
title: string;
|
|
2973
|
+
subtitle: string;
|
|
2974
|
+
loadFailed: string;
|
|
2975
|
+
empty: string;
|
|
2976
|
+
columnConcluded: string;
|
|
2977
|
+
columnStart: string;
|
|
2978
|
+
columnStatus: string;
|
|
2979
|
+
columnBilling: string;
|
|
2980
|
+
columnTotal: string;
|
|
2981
|
+
columnTerms: string;
|
|
2982
|
+
columnNotice: string;
|
|
2983
|
+
columnConfirmation: string;
|
|
2984
|
+
noTerms: string;
|
|
2985
|
+
noticeDays: string;
|
|
2986
|
+
statuses: {
|
|
2987
|
+
active: string;
|
|
2988
|
+
scheduled: string;
|
|
2989
|
+
terminated: string;
|
|
2990
|
+
superseded: string;
|
|
2991
|
+
};
|
|
2992
|
+
states: {
|
|
2993
|
+
'not-due': string;
|
|
2994
|
+
'being-made': string;
|
|
2995
|
+
'awaiting-mail': string;
|
|
2996
|
+
sent: string;
|
|
2997
|
+
};
|
|
2998
|
+
download: string;
|
|
2999
|
+
downloadConfirmation: string;
|
|
2799
3000
|
};
|
|
2800
3001
|
subscriber: {
|
|
2801
3002
|
title: string;
|
|
@@ -2865,6 +3066,7 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2865
3066
|
};
|
|
2866
3067
|
field: {
|
|
2867
3068
|
addressLine1: string;
|
|
3069
|
+
addressLine2: string;
|
|
2868
3070
|
postalCode: string;
|
|
2869
3071
|
city: string;
|
|
2870
3072
|
country: string;
|
|
@@ -3058,4 +3260,4 @@ interface SaCatalog {
|
|
|
3058
3260
|
*/
|
|
3059
3261
|
declare function createSaCatalog(options?: SaCatalogOptions): SaCatalog;
|
|
3060
3262
|
|
|
3061
|
-
export { type
|
|
3263
|
+
export { type ResourceOp as $, ActionDefNotInManifestError as A, type Bound as B, type PilotCreateResult as C, DEFAULT_SA_LOCALE as D, type EmailHistoryDetail as E, type FeatureWithdrawalAnnouncementInput as F, type PilotEditPayload as G, type HttpClient as H, type PilotEditResult as I, type PilotRow as J, type KpiReading as K, LIST_FIRST_PAGE as L, type MaintenanceAnnouncementInput as M, type PlatformEmailProvider as N, type PlatformEmailTestInput as O, type PartialMessages as P, type PlatformEmailTestResult as Q, type PlatformEmailWriteInput as R, type PlatformResources as S, type PromoCodesFilter as T, type PromoDetail as U, type PublishBundleVersionOptions as V, type PublishPlanVersionOptions as W, type ResolvedAction as X, type ResourceContext as Y, type ResourceDef as Z, type ResourceListPage as _, type ActionHandler as a, type ResourceOps as a0, type ResourceRequestInit as a1, type RetirementAnnouncement as a2, SA_INTL_LOCALES as a3, SA_LOCALES as a4, SA_LOCALE_LABELS as a5, SA_MESSAGES as a6, type SaBuiltinLocale as a7, type SaCatalog as a8, type SaCatalogOptions as a9, featureWithdrawalsResource as aA, filterQueryString as aB, isMaintenanceOverview as aC, isSaBuiltinLocale as aD, isSentInQuery as aE, listUrl as aF, maintenanceResource as aG, marketingResource as aH, mergeMessages as aI, planVersionsResource as aJ, plansResource as aK, platformResources as aL, promoCodesResource as aM, readListPage as aN, requestFile as aO, requestJson as aP, requestJsonBody as aQ, resolveMessages as aR, settingsResource as aS, tenantsResource as aT, versionRetirementsResource as aU, type SaNavMessages as aV, type SaLocale as aa, type SaLocaleDefinition as ab, type SaLocaleOption as ac, type SaMessages as ad, type SaMessagesOverrides as ae, type SettingsChangeView as af, type SettingsDifferenceView as ag, type SubscriberBusinessStatusInput as ah, type SubscriberIdentityCorrectionInput as ai, type TenantsListFilter as aj, type TranslationOf as ak, auditResource as al, bindResource as am, bundleVersionRetirementsResource as an, bundleVersionsResource as ao, bundlesResource as ap, clampListPage as aq, clampListPageSize as ar, createSaCatalog as as, dashboardResource as at, defaultHttpClient as au, defaultKvStore as av, defineListOp as aw, defineMessages as ax, defineResource as ay, discoveryResource as az, ActionRegistry as b, type AppliedSettingsView as c, type AuditListFilter as d, type BundleRetirementAnnouncement as e, type DiscoveryRead as f, type DownloadedFile as g, type EmailHistoryFilter as h, type EmailHistoryListResult as i, type EmailHistoryResendResult as j, type EmailHistoryRow as k, type EmailHistoryStatus as l, type HttpResponse as m, type KvStore as n, LIST_PAGE_SIZE_DEFAULT as o, LIST_PAGE_SIZE_MAX as p, LIST_PAGINATION_PARAMS as q, type ListFilterOf as r, type ListOp as s, type ListQuery as t, type MaintenanceLockInput as u, type MaintenanceRevisionInput as v, type MarketingProjectionsFilter as w, type MessageTree as x, MissingHandlerError as y, type PilotCreatePayload as z };
|