@hyperline/cli 0.1.0-build.1.6d94297 → 0.1.0-build.1.6def1d3
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/bin/hyperline-main.js +1650 -664
- package/dist/external-deps.json +2 -2
- package/package.json +4 -4
|
@@ -34985,10 +34985,10 @@ var require_shared = __commonJS({
|
|
|
34985
34985
|
ZodId: () => ZodId,
|
|
34986
34986
|
ZodTranslationsSchemaFn: () => ZodTranslationsSchemaFn
|
|
34987
34987
|
});
|
|
34988
|
-
var
|
|
34988
|
+
var import_zod24 = require_lib();
|
|
34989
34989
|
var countryIds2 = ["all", ...countries.map(({ id }) => id)];
|
|
34990
|
-
var ZodId =
|
|
34991
|
-
var ZodTranslationsSchemaFn = (schema) =>
|
|
34990
|
+
var ZodId = import_zod24.z.enum(countryIds2);
|
|
34991
|
+
var ZodTranslationsSchemaFn = (schema) => import_zod24.z.record(import_zod24.z.string(), schema.optional());
|
|
34992
34992
|
var UsStates = [
|
|
34993
34993
|
{ id: "AA", name: "Armed Forces Americas" },
|
|
34994
34994
|
{ id: "AE", name: "Armed Forces Europe" },
|
|
@@ -36287,14 +36287,14 @@ var require_shared = __commonJS({
|
|
|
36287
36287
|
ZodNumberCurrencyPositiveValue: () => ZodNumberCurrencyPositiveValue,
|
|
36288
36288
|
ZodNumberCurrencyPositiveValueExcludingZero: () => ZodNumberCurrencyPositiveValueExcludingZero
|
|
36289
36289
|
});
|
|
36290
|
-
var
|
|
36291
|
-
var ZodCurrencyId =
|
|
36290
|
+
var import_zod25 = require_lib();
|
|
36291
|
+
var ZodCurrencyId = import_zod25.z.enum(
|
|
36292
36292
|
all_default.map(({ id }) => id)
|
|
36293
36293
|
);
|
|
36294
|
-
var ZodNumberCurrency =
|
|
36295
|
-
var ZodNumberCurrencyPositiveValue =
|
|
36296
|
-
var ZodNumberCurrencyPositiveValueExcludingZero =
|
|
36297
|
-
var ZodCurrencyMap =
|
|
36294
|
+
var ZodNumberCurrency = import_zod25.z.string().or(import_zod25.z.number().transform((number4) => number4)).transform((number4) => number4);
|
|
36295
|
+
var ZodNumberCurrencyPositiveValue = import_zod25.z.number().min(0).transform((number4) => number4).transform((number4) => number4);
|
|
36296
|
+
var ZodNumberCurrencyPositiveValueExcludingZero = import_zod25.z.number().gt(0).transform((number4) => number4).transform((number4) => number4);
|
|
36297
|
+
var ZodCurrencyMap = import_zod25.z.record(ZodNumberCurrency).refine(
|
|
36298
36298
|
(data) => Object.keys(data).every((key) => ZodCurrencyId.safeParse(key).success),
|
|
36299
36299
|
{
|
|
36300
36300
|
message: "Invalid currency key.",
|
|
@@ -38165,7 +38165,7 @@ Examples:
|
|
|
38165
38165
|
// build/commands/generated/accounting-journal-entries.js
|
|
38166
38166
|
function registerAccounting_Journal_EntriesCommands(parent) {
|
|
38167
38167
|
const resource = parent.command("accounting-journal-entries").description("Manage accounting > journal entries");
|
|
38168
|
-
resource.command("list-journal-entries").description(`List accounting journal entries with optional filters.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--entry-number <value>", `Filter by journal entry number.`).option("--status <value>", `Filter by journal entry status.`).option("--origin <value>", `Filter by automatic or manual origin.`).option("--ledger-id <value>", `Filter by ledger identifier.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).option("--invoice-id <value>", `Filter by invoice identifier.`).option("--customer-id <value>", `Filter by customer identifier.`).option("--subscription-id <value>", `Filter by subscription identifier.`).option("--transaction-id <value>", `Filter by transaction identifier.`).option("--ledger-account-id <value>", `Filter entries containing a ledger account.`).option("--rule-id <value>", `Filter entries containing an accounting rule.`).option("--search <value>", `Search entry number, description, customer, or
|
|
38168
|
+
resource.command("list-journal-entries").description(`List accounting journal entries with optional filters.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--entry-number <value>", `Filter by journal entry number.`).option("--status <value>", `Filter by journal entry status.`).option("--origin <value>", `Filter by automatic or manual origin.`).option("--ledger-id <value>", `Filter by ledger identifier.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).option("--invoice-id <value>", `Filter by invoice identifier.`).option("--customer-id <value>", `Filter by customer identifier.`).option("--subscription-id <value>", `Filter by subscription identifier.`).option("--transaction-id <value>", `Filter by transaction identifier.`).option("--ledger-account-id <value>", `Filter entries containing a ledger account.`).option("--rule-id <value>", `Filter entries containing an accounting rule.`).option("--search <value>", `Search entry number, description, amount, invoice number or ID, customer name or ID, or subscription ID.`).option("--year <number>", `Filter by entry year.`).option("--quarter <number>", `Filter by entry quarter.`).addHelpText("after", `
|
|
38169
38169
|
Examples:
|
|
38170
38170
|
hyperline accounting-journal-entries list-journal-entries
|
|
38171
38171
|
hyperline accounting-journal-entries list-journal-entries --take <take> --entry-number <entry_number>`).action(async (opts) => {
|
|
@@ -38409,9 +38409,10 @@ Examples:
|
|
|
38409
38409
|
queryParamKeys: ["invoicing_entity_id"]
|
|
38410
38410
|
});
|
|
38411
38411
|
});
|
|
38412
|
-
resource.command("create-ledger").description(`Create an accounting ledger for an invoicing entity.`).requiredOption("--invoicing-entity-id <value>", `Identifier of the invoicing entity that owns the ledger.`).requiredOption("--name <value>", `Display name of the ledger.`).requiredOption("--code <value>", `Optional accounting code of the ledger.`).requiredOption("--description <value>", `Optional description of the ledger.`).requiredOption("--type <value>", `Type of ledger.`).requiredOption("--currency <value>", `ISO 4217 currency used by the ledger.`).requiredOption("--entry-number-pattern <value>", `Entry numbering pattern containing \`{number}\`.`).requiredOption("--is-primary", `Whether this is the primary ledger for the invoicing entity.`).requiredOption("--is-inactive", `Whether the ledger is inactive.`).addHelpText("after", `
|
|
38412
|
+
resource.command("create-ledger").description(`Create an accounting ledger for an invoicing entity.`).requiredOption("--invoicing-entity-id <value>", `Identifier of the invoicing entity that owns the ledger.`).requiredOption("--name <value>", `Display name of the ledger.`).requiredOption("--code <value>", `Optional accounting code of the ledger.`).requiredOption("--description <value>", `Optional description of the ledger.`).requiredOption("--type <value>", `Type of ledger.`).requiredOption("--currency <value>", `ISO 4217 currency used by the ledger.`).option("--fiscal-year-end-month <number>", `Last month of the ledger's fiscal year, from 1 (January) to 12 (December). Reports split profit between past fiscal years and the current one from it. Defaults to 12. It cannot be changed after creation.`).requiredOption("--entry-number-pattern <value>", `Entry numbering pattern containing \`{number}\`.`).requiredOption("--is-primary", `Whether this is the primary ledger for the invoicing entity.`).requiredOption("--is-inactive", `Whether the ledger is inactive.`).addHelpText("after", `
|
|
38413
38413
|
Examples:
|
|
38414
38414
|
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive
|
|
38415
|
+
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive --fiscal-year-end-month <fiscal_year_end_month>
|
|
38415
38416
|
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive --output json`).action(async (opts) => {
|
|
38416
38417
|
const ctx = resource.parent?.opts()._ctx;
|
|
38417
38418
|
if (!ctx) {
|
|
@@ -38433,6 +38434,8 @@ Examples:
|
|
|
38433
38434
|
args.currency = opts.currency;
|
|
38434
38435
|
if (opts.entryNumberPattern !== void 0)
|
|
38435
38436
|
args.entry_number_pattern = opts.entryNumberPattern;
|
|
38437
|
+
if (opts.fiscalYearEndMonth !== void 0)
|
|
38438
|
+
args.fiscal_year_end_month = Number(opts.fiscalYearEndMonth);
|
|
38436
38439
|
if (opts.isPrimary !== void 0)
|
|
38437
38440
|
args.is_primary = true;
|
|
38438
38441
|
if (opts.isInactive !== void 0)
|
|
@@ -38504,6 +38507,94 @@ Examples:
|
|
|
38504
38507
|
queryParamKeys: []
|
|
38505
38508
|
});
|
|
38506
38509
|
});
|
|
38510
|
+
resource.command("get-ledger-close-state").description(`Retrieve the last closed month of a ledger and the latest month that can be closed.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38511
|
+
Examples:
|
|
38512
|
+
hyperline accounting-ledgers get-ledger-close-state --id <id>`).action(async (opts) => {
|
|
38513
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38514
|
+
if (!ctx) {
|
|
38515
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38516
|
+
process.exit(1);
|
|
38517
|
+
}
|
|
38518
|
+
const args = {};
|
|
38519
|
+
if (opts.id !== void 0)
|
|
38520
|
+
args.id = opts.id;
|
|
38521
|
+
await ctx.execute({
|
|
38522
|
+
method: "GET",
|
|
38523
|
+
path: "/v1/accounting/ledgers/{id}/close",
|
|
38524
|
+
args,
|
|
38525
|
+
queryParamKeys: []
|
|
38526
|
+
});
|
|
38527
|
+
});
|
|
38528
|
+
resource.command("list-ledger-close-events").description(`List the closes and reopens of a ledger, newest first, with who did them and why.`).requiredOption("--id <value>", `id parameter`).option("--take <number>", `take`).option("--skip <number>", `skip`).addHelpText("after", `
|
|
38529
|
+
Examples:
|
|
38530
|
+
hyperline accounting-ledgers list-ledger-close-events --id <id>
|
|
38531
|
+
hyperline accounting-ledgers list-ledger-close-events --id <id> --take <take>`).action(async (opts) => {
|
|
38532
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38533
|
+
if (!ctx) {
|
|
38534
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38535
|
+
process.exit(1);
|
|
38536
|
+
}
|
|
38537
|
+
const args = {};
|
|
38538
|
+
if (opts.id !== void 0)
|
|
38539
|
+
args.id = opts.id;
|
|
38540
|
+
if (opts.take !== void 0)
|
|
38541
|
+
args.take = Number(opts.take);
|
|
38542
|
+
if (opts.skip !== void 0)
|
|
38543
|
+
args.skip = Number(opts.skip);
|
|
38544
|
+
await ctx.execute({
|
|
38545
|
+
method: "GET",
|
|
38546
|
+
path: "/v1/accounting/ledgers/{id}/close-events",
|
|
38547
|
+
args,
|
|
38548
|
+
queryParamKeys: ["take", "skip"]
|
|
38549
|
+
});
|
|
38550
|
+
});
|
|
38551
|
+
resource.command("close-ledger-period").description(`Close every month of a ledger through an ended month, after posting the revenue recognition due by its end; a user token needs the accounting_close permission.`).requiredOption("--id <value>", `id parameter`).requiredOption("--through-month <value>", `Last month to close, formatted YYYY-MM: an ended month after the last closed month. Every earlier month is closed too.`).option("--reason <value>", `Why the months are closed, 1 to 500 characters.`).addHelpText("after", `
|
|
38552
|
+
Examples:
|
|
38553
|
+
hyperline accounting-ledgers close-ledger-period --id <id> --through-month <through_month>
|
|
38554
|
+
hyperline accounting-ledgers close-ledger-period --id <id> --through-month <through_month> --reason <reason>
|
|
38555
|
+
hyperline accounting-ledgers close-ledger-period --id <id> --through-month <through_month> --output json`).action(async (opts) => {
|
|
38556
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38557
|
+
if (!ctx) {
|
|
38558
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38559
|
+
process.exit(1);
|
|
38560
|
+
}
|
|
38561
|
+
const args = {};
|
|
38562
|
+
if (opts.id !== void 0)
|
|
38563
|
+
args.id = opts.id;
|
|
38564
|
+
if (opts.throughMonth !== void 0)
|
|
38565
|
+
args.through_month = opts.throughMonth;
|
|
38566
|
+
if (opts.reason !== void 0)
|
|
38567
|
+
args.reason = opts.reason;
|
|
38568
|
+
await ctx.execute({
|
|
38569
|
+
method: "POST",
|
|
38570
|
+
path: "/v1/accounting/ledgers/{id}/close",
|
|
38571
|
+
args,
|
|
38572
|
+
queryParamKeys: []
|
|
38573
|
+
});
|
|
38574
|
+
});
|
|
38575
|
+
resource.command("reopen-ledger-period").description(`Reopen a closed month of a ledger and every later month, with a mandatory reason; a user token needs the accounting_close permission.`).requiredOption("--id <value>", `id parameter`).requiredOption("--from-month <value>", `First month to reopen, formatted YYYY-MM: a closed month. Every later month is reopened too.`).requiredOption("--reason <value>", `Why the months are reopened, 1 to 500 characters.`).addHelpText("after", `
|
|
38576
|
+
Examples:
|
|
38577
|
+
hyperline accounting-ledgers reopen-ledger-period --id <id> --from-month <from_month> --reason <reason>
|
|
38578
|
+
hyperline accounting-ledgers reopen-ledger-period --id <id> --from-month <from_month> --reason <reason> --output json`).action(async (opts) => {
|
|
38579
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38580
|
+
if (!ctx) {
|
|
38581
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38582
|
+
process.exit(1);
|
|
38583
|
+
}
|
|
38584
|
+
const args = {};
|
|
38585
|
+
if (opts.id !== void 0)
|
|
38586
|
+
args.id = opts.id;
|
|
38587
|
+
if (opts.fromMonth !== void 0)
|
|
38588
|
+
args.from_month = opts.fromMonth;
|
|
38589
|
+
if (opts.reason !== void 0)
|
|
38590
|
+
args.reason = opts.reason;
|
|
38591
|
+
await ctx.execute({
|
|
38592
|
+
method: "POST",
|
|
38593
|
+
path: "/v1/accounting/ledgers/{id}/reopen",
|
|
38594
|
+
args,
|
|
38595
|
+
queryParamKeys: []
|
|
38596
|
+
});
|
|
38597
|
+
});
|
|
38507
38598
|
}
|
|
38508
38599
|
|
|
38509
38600
|
// build/commands/generated/accounting-reports.js
|
|
@@ -38864,7 +38955,7 @@ Examples:
|
|
|
38864
38955
|
// build/commands/generated/accounting-rules.js
|
|
38865
38956
|
function registerAccounting_RulesCommands(parent) {
|
|
38866
38957
|
const resource = parent.command("accounting-rules").description("Manage accounting > rules");
|
|
38867
|
-
resource.command("list").description(`Retrieve existing accounting rules with optional filtering.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `ledger_id`).option("--ledger-id.not <value>", `ledger_id__not`).option("--ledger-id.
|
|
38958
|
+
resource.command("list").description(`Retrieve existing accounting rules with optional filtering.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `ledger_id`).option("--ledger-id.not <value>", `ledger_id__not`).option("--ledger-id.equals <value>", `ledger_id__equals`).option("--ledger-id.contains <value>", `ledger_id__contains`).option("--ledger-id.starts-with <value>", `ledger_id__startsWith`).option("--ledger-id.end-with <value>", `ledger_id__endWith`).option("--category <value>", `category`).option("--category.not <value>", `category__not`).option("--category.equals <value>", `category__equals`).option("--category.contains <value>", `category__contains`).option("--category.starts-with <value>", `category__startsWith`).option("--category.end-with <value>", `category__endWith`).addHelpText("after", `
|
|
38868
38959
|
Examples:
|
|
38869
38960
|
hyperline accounting-rules list
|
|
38870
38961
|
hyperline accounting-rules list --take <take> --ledger-id <ledger_id>`).action(async (opts) => {
|
|
@@ -38878,10 +38969,6 @@ Examples:
|
|
|
38878
38969
|
args.ledger_id = opts.ledgerId;
|
|
38879
38970
|
if (opts["ledgerId.not"] !== void 0)
|
|
38880
38971
|
args.ledger_id__not = opts["ledgerId.not"];
|
|
38881
|
-
if (opts["ledgerId.isNull"] !== void 0)
|
|
38882
|
-
args.ledger_id__isNull = opts["ledgerId.isNull"];
|
|
38883
|
-
if (opts["ledgerId.isNotNull"] !== void 0)
|
|
38884
|
-
args.ledger_id__isNotNull = opts["ledgerId.isNotNull"];
|
|
38885
38972
|
if (opts["ledgerId.equals"] !== void 0)
|
|
38886
38973
|
args.ledger_id__equals = opts["ledgerId.equals"];
|
|
38887
38974
|
if (opts["ledgerId.contains"] !== void 0)
|
|
@@ -38894,10 +38981,6 @@ Examples:
|
|
|
38894
38981
|
args.category = opts.category;
|
|
38895
38982
|
if (opts["category.not"] !== void 0)
|
|
38896
38983
|
args.category__not = opts["category.not"];
|
|
38897
|
-
if (opts["category.isNull"] !== void 0)
|
|
38898
|
-
args.category__isNull = opts["category.isNull"];
|
|
38899
|
-
if (opts["category.isNotNull"] !== void 0)
|
|
38900
|
-
args.category__isNotNull = opts["category.isNotNull"];
|
|
38901
38984
|
if (opts["category.equals"] !== void 0)
|
|
38902
38985
|
args.category__equals = opts["category.equals"];
|
|
38903
38986
|
if (opts["category.contains"] !== void 0)
|
|
@@ -38919,16 +39002,12 @@ Examples:
|
|
|
38919
39002
|
"skip",
|
|
38920
39003
|
"ledger_id",
|
|
38921
39004
|
"ledger_id__not",
|
|
38922
|
-
"ledger_id__isNull",
|
|
38923
|
-
"ledger_id__isNotNull",
|
|
38924
39005
|
"ledger_id__equals",
|
|
38925
39006
|
"ledger_id__contains",
|
|
38926
39007
|
"ledger_id__startsWith",
|
|
38927
39008
|
"ledger_id__endWith",
|
|
38928
39009
|
"category",
|
|
38929
39010
|
"category__not",
|
|
38930
|
-
"category__isNull",
|
|
38931
|
-
"category__isNotNull",
|
|
38932
39011
|
"category__equals",
|
|
38933
39012
|
"category__contains",
|
|
38934
39013
|
"category__startsWith",
|
|
@@ -39008,7 +39087,7 @@ Examples:
|
|
|
39008
39087
|
queryParamKeys: []
|
|
39009
39088
|
});
|
|
39010
39089
|
});
|
|
39011
|
-
resource.command("create").description(`Create a new accounting rule for account code routing or journal posting, with the filters, accounts and required fields the rule editor applies to its category.`).option("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).option("--name <value>", `Optional user-defined name for the rule.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).requiredOption("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.)
|
|
39090
|
+
resource.command("create").description(`Create a new accounting rule for account code routing or journal posting, with the filters, accounts and required fields the rule editor applies to its category.`).option("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).option("--name <value>", `Optional user-defined name for the rule.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).requiredOption("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.). \`recurring\` matches every interval except \`once\` and requires a null \`interval_count\`. \`null\` matches every interval, including \`once\`.`).option("--interval-count <number>", `Billing interval count filter.`).option("--custom-property-filters <json>", `Invoice custom property filters. A rule matches only when every entry matches (AND across entries), and an entry matches when the invoice value is one of its \`values\` (any-of). Matching is strict: an invoice without a value for the property never matches. Each entry adds 10 to the \`suggested_priority\` returned by the rule defaults endpoint. Allowed on invoice_posted, invoice_settled, revenue_recognition, credit_note_created and accounting_software (invoice side) rules. An invoice_settled rule with filters cannot set \`payments_clearing_ledger_account_id\`, as PSP payouts are booked without the invoice. Empty means match all.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing. Must be a \`revenue\` account. On accounting_software rules, a \`revenue\` or \`contra_revenue\` account with entity_type invoice, an \`asset\` or \`contra_asset\` account with entity_type payment.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized. Must be a \`liability\` account.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized. Must be an \`asset\` or \`contra_liability\` account.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue. Must be a \`contra_revenue\` account.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts. Must be a \`contra_revenue\` account.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting. Must be an \`asset\` account.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement. Must be an \`asset\` account.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle. Must be an \`asset\` account.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability. Must be a \`liability\` account.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible. Must be an \`asset\` account, for doubtful-receivable reclassification, or an \`expense\` account, for direct write-off.`).option("--allowance-for-doubtful-accounts-id <value>", `Allowance for doubtful accounts ledger account ID, set on credit_note_created rules. Must be a \`contra_asset\` account.`).option("--provider-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment provider fees when a payment settles. Must be an \`expense\` account.`).option("--payment-processing-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment processing fees when a payment settles. Takes precedence over \`provider_fees_expense_ledger_account_id\` when set by the same or a higher priority rule. Must be an \`expense\` account.`).option("--payment-processing-fees-revenue-ledger-account-id <value>", `Payment processing fees revenue ledger account ID, set on invoice_settled rules. Must be a \`revenue\` account.`).option("--customer-credits-ledger-account-id <value>", `Customer credits ledger account ID used for credit balances. Must be a \`liability\` account.`).option("--rev-rec-method <value>", `Revenue recognition method.`).option("--rev-rec-granularity <value>", `Recognition period granularity. Used when \`rev_rec_method\` is \`over_time\`.`).option("--rev-rec-point-in-time-basis <value>", `Date revenue is recognized on. Used when \`rev_rec_method\` is \`point_in_time\`.`).option("--discount-recognition-method <value>", `Method used to recognize discounts.`).option("--journal-id <value>", `Journal ID used to route entries in the accounting provider.`).option("--entity-type <value>", `Entity type the rule applies to.`).addHelpText("after", `
|
|
39012
39091
|
Examples:
|
|
39013
39092
|
hyperline accounting-rules create --category <category> --priority <priority>
|
|
39014
39093
|
hyperline accounting-rules create --category <category> --priority <priority> --ledger-id <ledger_id> --name <name>
|
|
@@ -39108,7 +39187,7 @@ Examples:
|
|
|
39108
39187
|
queryParamKeys: []
|
|
39109
39188
|
});
|
|
39110
39189
|
});
|
|
39111
|
-
resource.command("update").description(`Update an existing accounting rule, with the filters, accounts and required fields the rule editor applies to its category.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Optional user-defined name for the rule.`).option("--category <value>", `Rule category. Cannot be changed after creation, must match the current category when sent.`).option("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.)
|
|
39190
|
+
resource.command("update").description(`Update an existing accounting rule, with the filters, accounts and required fields the rule editor applies to its category.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Optional user-defined name for the rule.`).option("--category <value>", `Rule category. Cannot be changed after creation, must match the current category when sent.`).option("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.). \`recurring\` matches every interval except \`once\` and requires a null \`interval_count\`. \`null\` matches every interval, including \`once\`.`).option("--interval-count <number>", `Billing interval count filter.`).option("--custom-property-filters <json>", `Invoice custom property filters. A rule matches only when every entry matches (AND across entries), and an entry matches when the invoice value is one of its \`values\` (any-of). Matching is strict: an invoice without a value for the property never matches. Each entry adds 10 to the \`suggested_priority\` returned by the rule defaults endpoint. Allowed on invoice_posted, invoice_settled, revenue_recognition, credit_note_created and accounting_software (invoice side) rules. An invoice_settled rule with filters cannot set \`payments_clearing_ledger_account_id\`, as PSP payouts are booked without the invoice. Empty means match all.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing. Must be a \`revenue\` account. On accounting_software rules, a \`revenue\` or \`contra_revenue\` account with entity_type invoice, an \`asset\` or \`contra_asset\` account with entity_type payment.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized. Must be a \`liability\` account.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized. Must be an \`asset\` or \`contra_liability\` account.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue. Must be a \`contra_revenue\` account.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts. Must be a \`contra_revenue\` account.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting. Must be an \`asset\` account.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement. Must be an \`asset\` account.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle. Must be an \`asset\` account.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability. Must be a \`liability\` account.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible. Must be an \`asset\` account, for doubtful-receivable reclassification, or an \`expense\` account, for direct write-off.`).option("--allowance-for-doubtful-accounts-id <value>", `Allowance for doubtful accounts ledger account ID, set on credit_note_created rules. Must be a \`contra_asset\` account.`).option("--provider-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment provider fees when a payment settles. Must be an \`expense\` account.`).option("--payment-processing-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment processing fees when a payment settles. Takes precedence over \`provider_fees_expense_ledger_account_id\` when set by the same or a higher priority rule. Must be an \`expense\` account.`).option("--payment-processing-fees-revenue-ledger-account-id <value>", `Payment processing fees revenue ledger account ID, set on invoice_settled rules. Must be a \`revenue\` account.`).option("--customer-credits-ledger-account-id <value>", `Customer credits ledger account ID used for credit balances. Must be a \`liability\` account.`).option("--rev-rec-method <value>", `Revenue recognition method.`).option("--rev-rec-granularity <value>", `Recognition period granularity. Used when \`rev_rec_method\` is \`over_time\`.`).option("--rev-rec-point-in-time-basis <value>", `Date revenue is recognized on. Used when \`rev_rec_method\` is \`point_in_time\`.`).option("--discount-recognition-method <value>", `Method used to recognize discounts.`).option("--journal-id <value>", `Journal ID used to route entries in the accounting provider.`).option("--entity-type <value>", `Entity type the rule applies to.`).addHelpText("after", `
|
|
39112
39191
|
Examples:
|
|
39113
39192
|
hyperline accounting-rules update --id <id>
|
|
39114
39193
|
hyperline accounting-rules update --id <id> --name <name> --category <category>
|
|
@@ -40594,6 +40673,52 @@ Examples:
|
|
|
40594
40673
|
});
|
|
40595
40674
|
}
|
|
40596
40675
|
|
|
40676
|
+
// build/commands/generated/approval-workflows.js
|
|
40677
|
+
function registerApproval_WorkflowsCommands(parent) {
|
|
40678
|
+
const resource = parent.command("approval-workflows").description("Manage approval workflows");
|
|
40679
|
+
resource.command("list").description(`List approval workflows with their steps and approvers. Those whose \`applicable_flows\` include \`workflow_step\` can be picked as the \`approvalWorkflowId\` of a workflow's Request approval step (\`hyperline.request_approval\`). Filter with \`is_active\`; paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--is-active <value>", `Only return workflows matching this active state.`).addHelpText("after", `
|
|
40680
|
+
Examples:
|
|
40681
|
+
hyperline approval-workflows list
|
|
40682
|
+
hyperline approval-workflows list --take <take> --is-active <is_active>`).action(async (opts) => {
|
|
40683
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40684
|
+
if (!ctx) {
|
|
40685
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40686
|
+
process.exit(1);
|
|
40687
|
+
}
|
|
40688
|
+
const args = {};
|
|
40689
|
+
if (opts.isActive !== void 0)
|
|
40690
|
+
args.is_active = opts.isActive;
|
|
40691
|
+
if (opts.take !== void 0)
|
|
40692
|
+
args.take = Number(opts.take);
|
|
40693
|
+
if (opts.skip !== void 0)
|
|
40694
|
+
args.skip = Number(opts.skip);
|
|
40695
|
+
await ctx.execute({
|
|
40696
|
+
method: "GET",
|
|
40697
|
+
path: "/v1/approvals/workflows",
|
|
40698
|
+
args,
|
|
40699
|
+
queryParamKeys: ["take", "skip", "is_active"]
|
|
40700
|
+
});
|
|
40701
|
+
});
|
|
40702
|
+
resource.command("get").description(`Retrieve a single approval workflow.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
40703
|
+
Examples:
|
|
40704
|
+
hyperline approval-workflows get --id <id>`).action(async (opts) => {
|
|
40705
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40706
|
+
if (!ctx) {
|
|
40707
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40708
|
+
process.exit(1);
|
|
40709
|
+
}
|
|
40710
|
+
const args = {};
|
|
40711
|
+
if (opts.id !== void 0)
|
|
40712
|
+
args.id = opts.id;
|
|
40713
|
+
await ctx.execute({
|
|
40714
|
+
method: "GET",
|
|
40715
|
+
path: "/v1/approvals/workflows/{id}",
|
|
40716
|
+
args,
|
|
40717
|
+
queryParamKeys: []
|
|
40718
|
+
});
|
|
40719
|
+
});
|
|
40720
|
+
}
|
|
40721
|
+
|
|
40597
40722
|
// build/commands/generated/bank-accounts.js
|
|
40598
40723
|
function registerBank_AccountsCommands(parent) {
|
|
40599
40724
|
const resource = parent.command("bank-accounts").description("Manage bank accounts");
|
|
@@ -40663,6 +40788,84 @@ Examples:
|
|
|
40663
40788
|
});
|
|
40664
40789
|
}
|
|
40665
40790
|
|
|
40791
|
+
// build/commands/generated/catalog.js
|
|
40792
|
+
function registerCatalogCommands(parent) {
|
|
40793
|
+
const resource = parent.command("catalog").description("Manage catalog");
|
|
40794
|
+
resource.command("list-catalog-versions").description(`List product catalog versions (pending draft and published history). Catalog versioning must be enabled for the organisation.`).addHelpText("after", `
|
|
40795
|
+
Examples:
|
|
40796
|
+
hyperline catalog list-catalog-versions`).action(async (_opts) => {
|
|
40797
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40798
|
+
if (!ctx) {
|
|
40799
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40800
|
+
process.exit(1);
|
|
40801
|
+
}
|
|
40802
|
+
const args = {};
|
|
40803
|
+
await ctx.execute({
|
|
40804
|
+
method: "GET",
|
|
40805
|
+
path: "/v1/catalog/versions",
|
|
40806
|
+
args,
|
|
40807
|
+
queryParamKeys: []
|
|
40808
|
+
});
|
|
40809
|
+
});
|
|
40810
|
+
resource.command("get-catalog-draft").description(`Get the pending product catalog draft (null when there is none).`).addHelpText("after", `
|
|
40811
|
+
Examples:
|
|
40812
|
+
hyperline catalog get-catalog-draft`).action(async (_opts) => {
|
|
40813
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40814
|
+
if (!ctx) {
|
|
40815
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40816
|
+
process.exit(1);
|
|
40817
|
+
}
|
|
40818
|
+
const args = {};
|
|
40819
|
+
await ctx.execute({
|
|
40820
|
+
method: "GET",
|
|
40821
|
+
path: "/v1/catalog/versions/draft",
|
|
40822
|
+
args,
|
|
40823
|
+
queryParamKeys: []
|
|
40824
|
+
});
|
|
40825
|
+
});
|
|
40826
|
+
resource.command("publish-catalog-draft").description(`Publish the pending product catalog draft: its changes become the live catalog.`).addHelpText("after", `
|
|
40827
|
+
Examples:
|
|
40828
|
+
hyperline catalog publish-catalog-draft
|
|
40829
|
+
hyperline catalog publish-catalog-draft --output json`).action(async (_opts) => {
|
|
40830
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40831
|
+
if (!ctx) {
|
|
40832
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40833
|
+
process.exit(1);
|
|
40834
|
+
}
|
|
40835
|
+
const args = {};
|
|
40836
|
+
await ctx.execute({
|
|
40837
|
+
method: "POST",
|
|
40838
|
+
path: "/v1/catalog/versions/draft/publish",
|
|
40839
|
+
args,
|
|
40840
|
+
queryParamKeys: []
|
|
40841
|
+
});
|
|
40842
|
+
});
|
|
40843
|
+
resource.command("discard-catalog-draft").description(`Discard the pending product catalog draft without publishing it.`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
40844
|
+
Examples:
|
|
40845
|
+
hyperline catalog discard-catalog-draft
|
|
40846
|
+
hyperline catalog discard-catalog-draft --output json`).action(async (opts) => {
|
|
40847
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40848
|
+
if (!ctx) {
|
|
40849
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40850
|
+
process.exit(1);
|
|
40851
|
+
}
|
|
40852
|
+
const args = {};
|
|
40853
|
+
if (!opts.yes) {
|
|
40854
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
40855
|
+
if (!confirmed) {
|
|
40856
|
+
process.stdout.write("Aborted.\n");
|
|
40857
|
+
return;
|
|
40858
|
+
}
|
|
40859
|
+
}
|
|
40860
|
+
await ctx.execute({
|
|
40861
|
+
method: "DELETE",
|
|
40862
|
+
path: "/v1/catalog/versions/draft",
|
|
40863
|
+
args,
|
|
40864
|
+
queryParamKeys: []
|
|
40865
|
+
});
|
|
40866
|
+
});
|
|
40867
|
+
}
|
|
40868
|
+
|
|
40666
40869
|
// build/commands/generated/companies.js
|
|
40667
40870
|
function registerCompaniesCommands(parent) {
|
|
40668
40871
|
const resource = parent.command("companies").description("Manage companies");
|
|
@@ -40705,13 +40908,13 @@ Examples:
|
|
|
40705
40908
|
});
|
|
40706
40909
|
}
|
|
40707
40910
|
|
|
40708
|
-
// build/commands/generated/
|
|
40709
|
-
function
|
|
40710
|
-
const resource = parent.command("
|
|
40711
|
-
resource.command("list").description(`List
|
|
40911
|
+
// build/commands/generated/contracts-clauses.js
|
|
40912
|
+
function registerContracts_ClausesCommands(parent) {
|
|
40913
|
+
const resource = parent.command("contracts-clauses").description("Manage contracts > clauses");
|
|
40914
|
+
resource.command("list-contract-clauses").description(`List the contract clauses of the contract library, with their texts and translations. Use the returned IDs in \`contract_clause_ids\` when creating a quote. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).addHelpText("after", `
|
|
40712
40915
|
Examples:
|
|
40713
|
-
hyperline
|
|
40714
|
-
hyperline
|
|
40916
|
+
hyperline contracts-clauses list-contract-clauses
|
|
40917
|
+
hyperline contracts-clauses list-contract-clauses --take <take>`).action(async (opts) => {
|
|
40715
40918
|
const ctx = resource.parent?.opts()._ctx;
|
|
40716
40919
|
if (!ctx) {
|
|
40717
40920
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -40724,16 +40927,16 @@ Examples:
|
|
|
40724
40927
|
args.skip = Number(opts.skip);
|
|
40725
40928
|
await ctx.execute({
|
|
40726
40929
|
method: "GET",
|
|
40727
|
-
path: "/v1/
|
|
40930
|
+
path: "/v1/contracts/clauses",
|
|
40728
40931
|
args,
|
|
40729
40932
|
queryParamKeys: ["take", "skip"]
|
|
40730
40933
|
});
|
|
40731
40934
|
});
|
|
40732
|
-
resource.command("create").description(`Create a
|
|
40935
|
+
resource.command("create-contract-clause").description(`Create a contract clause in the contract library, with a default text and optional translations keyed by language code.`).requiredOption("--name <value>", `Name of the contract clause, displayed in the contract library.`).requiredOption("--text <value>", `Default text of the clause, used when no translation exists for the customer language. Plain text, line breaks are preserved.`).option("--translations <json>", `Translations of the clause, keyed by language code. The translation matching the customer language is used instead of \`text\`.`).option("--invoicing-entity-ids <json>", `IDs of the invoicing entities for which the clause is available when building a quote.`).addHelpText("after", `
|
|
40733
40936
|
Examples:
|
|
40734
|
-
hyperline
|
|
40735
|
-
hyperline
|
|
40736
|
-
hyperline
|
|
40937
|
+
hyperline contracts-clauses create-contract-clause --name <name> --text <text>
|
|
40938
|
+
hyperline contracts-clauses create-contract-clause --name <name> --text <text> --translations <translations> --invoicing-entity-ids <invoicing_entity_ids>
|
|
40939
|
+
hyperline contracts-clauses create-contract-clause --name <name> --text <text> --output json`).action(async (opts) => {
|
|
40737
40940
|
const ctx = resource.parent?.opts()._ctx;
|
|
40738
40941
|
if (!ctx) {
|
|
40739
40942
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -40742,40 +40945,22 @@ Examples:
|
|
|
40742
40945
|
const args = {};
|
|
40743
40946
|
if (opts.name !== void 0)
|
|
40744
40947
|
args.name = opts.name;
|
|
40745
|
-
if (opts.
|
|
40746
|
-
args.
|
|
40747
|
-
if (opts.
|
|
40748
|
-
args.
|
|
40749
|
-
if (opts.
|
|
40750
|
-
args.
|
|
40751
|
-
if (opts.repeat !== void 0)
|
|
40752
|
-
args.repeat = opts.repeat;
|
|
40753
|
-
if (opts.type !== void 0)
|
|
40754
|
-
args.type = opts.type;
|
|
40755
|
-
if (opts.currency !== void 0)
|
|
40756
|
-
args.currency = opts.currency;
|
|
40757
|
-
if (opts.redemptionLimit !== void 0)
|
|
40758
|
-
args.redemption_limit = Number(opts.redemptionLimit);
|
|
40759
|
-
if (opts.discountAmount !== void 0)
|
|
40760
|
-
args.discount_amount = Number(opts.discountAmount);
|
|
40761
|
-
if (opts.discountPercent !== void 0)
|
|
40762
|
-
args.discount_percent = Number(opts.discountPercent);
|
|
40763
|
-
if (opts.productIds !== void 0)
|
|
40764
|
-
args.product_ids = JSON.parse(opts.productIds);
|
|
40765
|
-
if (opts.duration !== void 0)
|
|
40766
|
-
args.duration = JSON.parse(opts.duration);
|
|
40767
|
-
if (opts.properties !== void 0)
|
|
40768
|
-
args.properties = JSON.parse(opts.properties);
|
|
40948
|
+
if (opts.text !== void 0)
|
|
40949
|
+
args.text = opts.text;
|
|
40950
|
+
if (opts.translations !== void 0)
|
|
40951
|
+
args.translations = JSON.parse(opts.translations);
|
|
40952
|
+
if (opts.invoicingEntityIds !== void 0)
|
|
40953
|
+
args.invoicing_entity_ids = JSON.parse(opts.invoicingEntityIds);
|
|
40769
40954
|
await ctx.execute({
|
|
40770
40955
|
method: "POST",
|
|
40771
|
-
path: "/v1/
|
|
40956
|
+
path: "/v1/contracts/clauses",
|
|
40772
40957
|
args,
|
|
40773
40958
|
queryParamKeys: []
|
|
40774
40959
|
});
|
|
40775
40960
|
});
|
|
40776
|
-
resource.command("get").description(`Retrieve a
|
|
40961
|
+
resource.command("get-contract-clause").description(`Retrieve a contract clause by ID.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
40777
40962
|
Examples:
|
|
40778
|
-
hyperline
|
|
40963
|
+
hyperline contracts-clauses get-contract-clause --id <id>`).action(async (opts) => {
|
|
40779
40964
|
const ctx = resource.parent?.opts()._ctx;
|
|
40780
40965
|
if (!ctx) {
|
|
40781
40966
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -40786,16 +40971,16 @@ Examples:
|
|
|
40786
40971
|
args.id = opts.id;
|
|
40787
40972
|
await ctx.execute({
|
|
40788
40973
|
method: "GET",
|
|
40789
|
-
path: "/v1/
|
|
40974
|
+
path: "/v1/contracts/clauses/{id}",
|
|
40790
40975
|
args,
|
|
40791
40976
|
queryParamKeys: []
|
|
40792
40977
|
});
|
|
40793
40978
|
});
|
|
40794
|
-
resource.command("update").description(`Update
|
|
40979
|
+
resource.command("update-contract-clause").description(`Update the name, text, translations or invoicing entities of a contract clause. Sending \`translations\` replaces all existing translations.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Name of the contract clause, displayed in the contract library.`).option("--text <value>", `Default text of the clause, used when no translation exists for the customer language. Plain text, line breaks are preserved.`).option("--translations <json>", `Translations of the clause, keyed by language code. Replaces all existing translations: omitted languages are removed.`).option("--invoicing-entity-ids <json>", `IDs of the invoicing entities for which the clause is available when building a quote.`).addHelpText("after", `
|
|
40795
40980
|
Examples:
|
|
40796
|
-
hyperline
|
|
40797
|
-
hyperline
|
|
40798
|
-
hyperline
|
|
40981
|
+
hyperline contracts-clauses update-contract-clause --id <id>
|
|
40982
|
+
hyperline contracts-clauses update-contract-clause --id <id> --name <name> --text <text>
|
|
40983
|
+
hyperline contracts-clauses update-contract-clause --id <id> --output json`).action(async (opts) => {
|
|
40799
40984
|
const ctx = resource.parent?.opts()._ctx;
|
|
40800
40985
|
if (!ctx) {
|
|
40801
40986
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -40806,41 +40991,23 @@ Examples:
|
|
|
40806
40991
|
args.id = opts.id;
|
|
40807
40992
|
if (opts.name !== void 0)
|
|
40808
40993
|
args.name = opts.name;
|
|
40809
|
-
if (opts.
|
|
40810
|
-
args.
|
|
40811
|
-
if (opts.
|
|
40812
|
-
args.
|
|
40813
|
-
if (opts.
|
|
40814
|
-
args.
|
|
40815
|
-
if (opts.repeat !== void 0)
|
|
40816
|
-
args.repeat = opts.repeat;
|
|
40817
|
-
if (opts.type !== void 0)
|
|
40818
|
-
args.type = opts.type;
|
|
40819
|
-
if (opts.currency !== void 0)
|
|
40820
|
-
args.currency = opts.currency;
|
|
40821
|
-
if (opts.redemptionLimit !== void 0)
|
|
40822
|
-
args.redemption_limit = Number(opts.redemptionLimit);
|
|
40823
|
-
if (opts.discountAmount !== void 0)
|
|
40824
|
-
args.discount_amount = Number(opts.discountAmount);
|
|
40825
|
-
if (opts.discountPercent !== void 0)
|
|
40826
|
-
args.discount_percent = Number(opts.discountPercent);
|
|
40827
|
-
if (opts.productIds !== void 0)
|
|
40828
|
-
args.product_ids = JSON.parse(opts.productIds);
|
|
40829
|
-
if (opts.duration !== void 0)
|
|
40830
|
-
args.duration = JSON.parse(opts.duration);
|
|
40831
|
-
if (opts.properties !== void 0)
|
|
40832
|
-
args.properties = JSON.parse(opts.properties);
|
|
40994
|
+
if (opts.text !== void 0)
|
|
40995
|
+
args.text = opts.text;
|
|
40996
|
+
if (opts.translations !== void 0)
|
|
40997
|
+
args.translations = JSON.parse(opts.translations);
|
|
40998
|
+
if (opts.invoicingEntityIds !== void 0)
|
|
40999
|
+
args.invoicing_entity_ids = JSON.parse(opts.invoicingEntityIds);
|
|
40833
41000
|
await ctx.execute({
|
|
40834
41001
|
method: "PUT",
|
|
40835
|
-
path: "/v1/
|
|
41002
|
+
path: "/v1/contracts/clauses/{id}",
|
|
40836
41003
|
args,
|
|
40837
41004
|
queryParamKeys: []
|
|
40838
41005
|
});
|
|
40839
41006
|
});
|
|
40840
|
-
resource.command("delete").description(`
|
|
41007
|
+
resource.command("delete-contract-clause").description(`Delete a contract clause from the contract library. Existing quotes keep their copy of the clause.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
40841
41008
|
Examples:
|
|
40842
|
-
hyperline
|
|
40843
|
-
hyperline
|
|
41009
|
+
hyperline contracts-clauses delete-contract-clause --id <id>
|
|
41010
|
+
hyperline contracts-clauses delete-contract-clause --id <id> --output json`).action(async (opts) => {
|
|
40844
41011
|
const ctx = resource.parent?.opts()._ctx;
|
|
40845
41012
|
if (!ctx) {
|
|
40846
41013
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -40858,41 +41025,399 @@ Examples:
|
|
|
40858
41025
|
}
|
|
40859
41026
|
await ctx.execute({
|
|
40860
41027
|
method: "DELETE",
|
|
40861
|
-
path: "/v1/
|
|
41028
|
+
path: "/v1/contracts/clauses/{id}",
|
|
40862
41029
|
args,
|
|
40863
41030
|
queryParamKeys: []
|
|
40864
41031
|
});
|
|
40865
41032
|
});
|
|
40866
41033
|
}
|
|
40867
41034
|
|
|
40868
|
-
// build/commands/generated/
|
|
40869
|
-
function
|
|
40870
|
-
const resource = parent.command("
|
|
40871
|
-
resource.command("list-
|
|
41035
|
+
// build/commands/generated/contracts-documents.js
|
|
41036
|
+
function registerContracts_DocumentsCommands(parent) {
|
|
41037
|
+
const resource = parent.command("contracts-documents").description("Manage contracts > documents");
|
|
41038
|
+
resource.command("list-contract-documents").description(`List the contract documents of the contract library (terms of service, DPA, SLA...), with their contents per language and countries and the files of each content. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).addHelpText("after", `
|
|
40872
41039
|
Examples:
|
|
40873
|
-
hyperline
|
|
40874
|
-
hyperline
|
|
41040
|
+
hyperline contracts-documents list-contract-documents
|
|
41041
|
+
hyperline contracts-documents list-contract-documents --take <take>`).action(async (opts) => {
|
|
40875
41042
|
const ctx = resource.parent?.opts()._ctx;
|
|
40876
41043
|
if (!ctx) {
|
|
40877
41044
|
process.stderr.write("Error: Not authenticated\n");
|
|
40878
41045
|
process.exit(1);
|
|
40879
41046
|
}
|
|
40880
41047
|
const args = {};
|
|
40881
|
-
if (opts.
|
|
40882
|
-
args.
|
|
40883
|
-
if (opts
|
|
40884
|
-
args.
|
|
40885
|
-
|
|
40886
|
-
|
|
40887
|
-
|
|
40888
|
-
args
|
|
40889
|
-
|
|
40890
|
-
|
|
40891
|
-
|
|
40892
|
-
|
|
40893
|
-
|
|
40894
|
-
|
|
40895
|
-
|
|
41048
|
+
if (opts.take !== void 0)
|
|
41049
|
+
args.take = Number(opts.take);
|
|
41050
|
+
if (opts.skip !== void 0)
|
|
41051
|
+
args.skip = Number(opts.skip);
|
|
41052
|
+
await ctx.execute({
|
|
41053
|
+
method: "GET",
|
|
41054
|
+
path: "/v1/contracts/documents",
|
|
41055
|
+
args,
|
|
41056
|
+
queryParamKeys: ["take", "skip"]
|
|
41057
|
+
});
|
|
41058
|
+
});
|
|
41059
|
+
resource.command("create-contract-document").description(`Create a contract document in the contract library. Its files are added afterwards per language with \`create_contract_document_content\`.`).requiredOption("--name <value>", `Name of the contract document, displayed in the contract library.`).option("--invoicing-entity-ids <json>", `IDs of the invoicing entities for which the contract document is available when building a quote.`).addHelpText("after", `
|
|
41060
|
+
Examples:
|
|
41061
|
+
hyperline contracts-documents create-contract-document --name <name>
|
|
41062
|
+
hyperline contracts-documents create-contract-document --name <name> --invoicing-entity-ids <invoicing_entity_ids>
|
|
41063
|
+
hyperline contracts-documents create-contract-document --name <name> --output json`).action(async (opts) => {
|
|
41064
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41065
|
+
if (!ctx) {
|
|
41066
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41067
|
+
process.exit(1);
|
|
41068
|
+
}
|
|
41069
|
+
const args = {};
|
|
41070
|
+
if (opts.name !== void 0)
|
|
41071
|
+
args.name = opts.name;
|
|
41072
|
+
if (opts.invoicingEntityIds !== void 0)
|
|
41073
|
+
args.invoicing_entity_ids = JSON.parse(opts.invoicingEntityIds);
|
|
41074
|
+
await ctx.execute({
|
|
41075
|
+
method: "POST",
|
|
41076
|
+
path: "/v1/contracts/documents",
|
|
41077
|
+
args,
|
|
41078
|
+
queryParamKeys: []
|
|
41079
|
+
});
|
|
41080
|
+
});
|
|
41081
|
+
resource.command("get-contract-document").description(`Retrieve a contract document by ID, with its contents and their files.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
41082
|
+
Examples:
|
|
41083
|
+
hyperline contracts-documents get-contract-document --id <id>`).action(async (opts) => {
|
|
41084
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41085
|
+
if (!ctx) {
|
|
41086
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41087
|
+
process.exit(1);
|
|
41088
|
+
}
|
|
41089
|
+
const args = {};
|
|
41090
|
+
if (opts.id !== void 0)
|
|
41091
|
+
args.id = opts.id;
|
|
41092
|
+
await ctx.execute({
|
|
41093
|
+
method: "GET",
|
|
41094
|
+
path: "/v1/contracts/documents/{id}",
|
|
41095
|
+
args,
|
|
41096
|
+
queryParamKeys: []
|
|
41097
|
+
});
|
|
41098
|
+
});
|
|
41099
|
+
resource.command("update-contract-document").description(`Update the name or invoicing entities of a contract document. Its files are updated per content with \`update_contract_document_content\`.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Name of the contract document, displayed in the contract library.`).option("--invoicing-entity-ids <json>", `IDs of the invoicing entities for which the contract document is available when building a quote.`).addHelpText("after", `
|
|
41100
|
+
Examples:
|
|
41101
|
+
hyperline contracts-documents update-contract-document --id <id>
|
|
41102
|
+
hyperline contracts-documents update-contract-document --id <id> --name <name> --invoicing-entity-ids <invoicing_entity_ids>
|
|
41103
|
+
hyperline contracts-documents update-contract-document --id <id> --output json`).action(async (opts) => {
|
|
41104
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41105
|
+
if (!ctx) {
|
|
41106
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41107
|
+
process.exit(1);
|
|
41108
|
+
}
|
|
41109
|
+
const args = {};
|
|
41110
|
+
if (opts.id !== void 0)
|
|
41111
|
+
args.id = opts.id;
|
|
41112
|
+
if (opts.name !== void 0)
|
|
41113
|
+
args.name = opts.name;
|
|
41114
|
+
if (opts.invoicingEntityIds !== void 0)
|
|
41115
|
+
args.invoicing_entity_ids = JSON.parse(opts.invoicingEntityIds);
|
|
41116
|
+
await ctx.execute({
|
|
41117
|
+
method: "PUT",
|
|
41118
|
+
path: "/v1/contracts/documents/{id}",
|
|
41119
|
+
args,
|
|
41120
|
+
queryParamKeys: []
|
|
41121
|
+
});
|
|
41122
|
+
});
|
|
41123
|
+
resource.command("delete-contract-document").description(`Delete a contract document from the contract library. Existing quotes keep their copy of the files.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
41124
|
+
Examples:
|
|
41125
|
+
hyperline contracts-documents delete-contract-document --id <id>
|
|
41126
|
+
hyperline contracts-documents delete-contract-document --id <id> --output json`).action(async (opts) => {
|
|
41127
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41128
|
+
if (!ctx) {
|
|
41129
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41130
|
+
process.exit(1);
|
|
41131
|
+
}
|
|
41132
|
+
const args = {};
|
|
41133
|
+
if (opts.id !== void 0)
|
|
41134
|
+
args.id = opts.id;
|
|
41135
|
+
if (!opts.yes) {
|
|
41136
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
41137
|
+
if (!confirmed) {
|
|
41138
|
+
process.stdout.write("Aborted.\n");
|
|
41139
|
+
return;
|
|
41140
|
+
}
|
|
41141
|
+
}
|
|
41142
|
+
await ctx.execute({
|
|
41143
|
+
method: "DELETE",
|
|
41144
|
+
path: "/v1/contracts/documents/{id}",
|
|
41145
|
+
args,
|
|
41146
|
+
queryParamKeys: []
|
|
41147
|
+
});
|
|
41148
|
+
});
|
|
41149
|
+
resource.command("create-contract-document-content").description(`Add a content to a contract document: its files for one language (\`default\` as fallback) and optional countries, sent as a comma-separated list. At least one PDF or Word file is required.`).requiredOption("--id <value>", `id parameter`).requiredOption("--language <value>", `Language of the content. \`default\` is used when no content exists for the customer language.`).option("--countries <value>", `Countries the content applies to, as ISO 3166-1 alpha-2 codes. Empty means all countries. In a multipart request, send a comma-separated list.`).requiredOption("--files <paths...>", `Paths of the local files to upload (space-separated, sends a multipart request)`).addHelpText("after", `
|
|
41150
|
+
Examples:
|
|
41151
|
+
hyperline contracts-documents create-contract-document-content --id <id> --language <language> --files <path>
|
|
41152
|
+
hyperline contracts-documents create-contract-document-content --id <id> --language <language> --files <path> --countries <countries>
|
|
41153
|
+
hyperline contracts-documents create-contract-document-content --id <id> --language <language> --files <path> --output json`).action(async (opts) => {
|
|
41154
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41155
|
+
if (!ctx) {
|
|
41156
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41157
|
+
process.exit(1);
|
|
41158
|
+
}
|
|
41159
|
+
const args = {};
|
|
41160
|
+
if (opts.id !== void 0)
|
|
41161
|
+
args.id = opts.id;
|
|
41162
|
+
if (opts.language !== void 0)
|
|
41163
|
+
args.language = opts.language;
|
|
41164
|
+
if (opts.countries !== void 0)
|
|
41165
|
+
args.countries = opts.countries;
|
|
41166
|
+
const files = {};
|
|
41167
|
+
if (opts.files !== void 0)
|
|
41168
|
+
files.files = [opts.files].flat();
|
|
41169
|
+
await ctx.execute({
|
|
41170
|
+
method: "POST",
|
|
41171
|
+
path: "/v1/contracts/documents/{id}/contents",
|
|
41172
|
+
args,
|
|
41173
|
+
queryParamKeys: [],
|
|
41174
|
+
files
|
|
41175
|
+
});
|
|
41176
|
+
});
|
|
41177
|
+
resource.command("update-contract-document-content").description(`Update a contract document content. Sent files replace all its existing files: use it to publish a new version of a document. Existing quotes keep their copy of the previous files.`).requiredOption("--id <value>", `id parameter`).requiredOption("--content-id <value>", `contentId parameter`).option("--language <value>", `Language of the content. \`default\` is used when no content exists for the customer language.`).option("--countries <value>", `Countries the content applies to, as ISO 3166-1 alpha-2 codes. Empty means all countries. In a multipart request, send a comma-separated list, or an empty value for all countries.`).option("--files <paths...>", `Paths of the local files to upload (space-separated, sends a multipart request)`).addHelpText("after", `
|
|
41178
|
+
Examples:
|
|
41179
|
+
hyperline contracts-documents update-contract-document-content --id <id> --content-id <contentId>
|
|
41180
|
+
hyperline contracts-documents update-contract-document-content --id <id> --content-id <contentId> --language <language> --countries <countries>
|
|
41181
|
+
hyperline contracts-documents update-contract-document-content --id <id> --content-id <contentId> --output json`).action(async (opts) => {
|
|
41182
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41183
|
+
if (!ctx) {
|
|
41184
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41185
|
+
process.exit(1);
|
|
41186
|
+
}
|
|
41187
|
+
const args = {};
|
|
41188
|
+
if (opts.id !== void 0)
|
|
41189
|
+
args.id = opts.id;
|
|
41190
|
+
if (opts.contentId !== void 0)
|
|
41191
|
+
args.contentId = opts.contentId;
|
|
41192
|
+
if (opts.language !== void 0)
|
|
41193
|
+
args.language = opts.language;
|
|
41194
|
+
if (opts.countries !== void 0)
|
|
41195
|
+
args.countries = opts.countries;
|
|
41196
|
+
const files = {};
|
|
41197
|
+
if (opts.files !== void 0)
|
|
41198
|
+
files.files = [opts.files].flat();
|
|
41199
|
+
await ctx.execute({
|
|
41200
|
+
method: "PUT",
|
|
41201
|
+
path: "/v1/contracts/documents/{id}/contents/{contentId}",
|
|
41202
|
+
args,
|
|
41203
|
+
queryParamKeys: [],
|
|
41204
|
+
files
|
|
41205
|
+
});
|
|
41206
|
+
});
|
|
41207
|
+
resource.command("delete-contract-document-content").description(`Delete a content (one language and countries version) of a contract document.`).requiredOption("--id <value>", `id parameter`).requiredOption("--content-id <value>", `contentId parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
41208
|
+
Examples:
|
|
41209
|
+
hyperline contracts-documents delete-contract-document-content --id <id> --content-id <contentId>
|
|
41210
|
+
hyperline contracts-documents delete-contract-document-content --id <id> --content-id <contentId> --output json`).action(async (opts) => {
|
|
41211
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41212
|
+
if (!ctx) {
|
|
41213
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41214
|
+
process.exit(1);
|
|
41215
|
+
}
|
|
41216
|
+
const args = {};
|
|
41217
|
+
if (opts.id !== void 0)
|
|
41218
|
+
args.id = opts.id;
|
|
41219
|
+
if (opts.contentId !== void 0)
|
|
41220
|
+
args.contentId = opts.contentId;
|
|
41221
|
+
if (!opts.yes) {
|
|
41222
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
41223
|
+
if (!confirmed) {
|
|
41224
|
+
process.stdout.write("Aborted.\n");
|
|
41225
|
+
return;
|
|
41226
|
+
}
|
|
41227
|
+
}
|
|
41228
|
+
await ctx.execute({
|
|
41229
|
+
method: "DELETE",
|
|
41230
|
+
path: "/v1/contracts/documents/{id}/contents/{contentId}",
|
|
41231
|
+
args,
|
|
41232
|
+
queryParamKeys: []
|
|
41233
|
+
});
|
|
41234
|
+
});
|
|
41235
|
+
}
|
|
41236
|
+
|
|
41237
|
+
// build/commands/generated/coupons.js
|
|
41238
|
+
function registerCouponsCommands(parent) {
|
|
41239
|
+
const resource = parent.command("coupons").description("Manage coupons");
|
|
41240
|
+
resource.command("list").description(`List all coupons with pagination (take/skip). Coupons define discount rules (percentage or fixed amount) that can be applied to subscriptions or invoices.`).option("--take <number>", `take`).option("--skip <number>", `skip`).addHelpText("after", `
|
|
41241
|
+
Examples:
|
|
41242
|
+
hyperline coupons list
|
|
41243
|
+
hyperline coupons list --take <take>`).action(async (opts) => {
|
|
41244
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41245
|
+
if (!ctx) {
|
|
41246
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41247
|
+
process.exit(1);
|
|
41248
|
+
}
|
|
41249
|
+
const args = {};
|
|
41250
|
+
if (opts.take !== void 0)
|
|
41251
|
+
args.take = Number(opts.take);
|
|
41252
|
+
if (opts.skip !== void 0)
|
|
41253
|
+
args.skip = Number(opts.skip);
|
|
41254
|
+
await ctx.execute({
|
|
41255
|
+
method: "GET",
|
|
41256
|
+
path: "/v1/coupons",
|
|
41257
|
+
args,
|
|
41258
|
+
queryParamKeys: ["take", "skip"]
|
|
41259
|
+
});
|
|
41260
|
+
});
|
|
41261
|
+
resource.command("create").description(`Create a new coupon with discount rules. Supports percentage or fixed amount discounts, duration limits, and redemption restrictions.`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <json>", `Products the coupon is scoped to, read together with \`product_scope\`: the only discounted products when \`include\`, the products never discounted when \`exclude\`, empty when \`all\`.`).option("--product-scope <value>", `Which products the coupon discounts. \`all\`: every product (\`product_ids\` must be empty). \`include\`: only the products in \`product_ids\`. \`exclude\`: every product except those in \`product_ids\` (lines without a product stay discounted). \`include\` and \`exclude\` require a non-empty \`product_ids\`. When omitted on create/update, it is inferred: \`include\` if \`product_ids\` is non-empty, \`all\` otherwise. Integrations that read \`product_ids\` without \`product_scope\` will misread an \`exclude\` list as the products the coupon applies to.`).option("--repeat <value>", `Default repeat behaviour applied when the coupon is attached to a subscription. Valid values: \`once\`, \`forever\`, \`duration\`. Can be overridden at attach time.`).option("--duration <json>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
|
|
41262
|
+
Examples:
|
|
41263
|
+
hyperline coupons create --name <name> --type <type>
|
|
41264
|
+
hyperline coupons create --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
41265
|
+
hyperline coupons create --name <name> --type <type> --output json`).action(async (opts) => {
|
|
41266
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41267
|
+
if (!ctx) {
|
|
41268
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41269
|
+
process.exit(1);
|
|
41270
|
+
}
|
|
41271
|
+
const args = {};
|
|
41272
|
+
if (opts.name !== void 0)
|
|
41273
|
+
args.name = opts.name;
|
|
41274
|
+
if (opts.description !== void 0)
|
|
41275
|
+
args.description = opts.description;
|
|
41276
|
+
if (opts.expirationDate !== void 0)
|
|
41277
|
+
args.expiration_date = opts.expirationDate;
|
|
41278
|
+
if (opts.productScope !== void 0)
|
|
41279
|
+
args.product_scope = opts.productScope;
|
|
41280
|
+
if (opts.repeat !== void 0)
|
|
41281
|
+
args.repeat = opts.repeat;
|
|
41282
|
+
if (opts.type !== void 0)
|
|
41283
|
+
args.type = opts.type;
|
|
41284
|
+
if (opts.currency !== void 0)
|
|
41285
|
+
args.currency = opts.currency;
|
|
41286
|
+
if (opts.redemptionLimit !== void 0)
|
|
41287
|
+
args.redemption_limit = Number(opts.redemptionLimit);
|
|
41288
|
+
if (opts.discountAmount !== void 0)
|
|
41289
|
+
args.discount_amount = Number(opts.discountAmount);
|
|
41290
|
+
if (opts.discountPercent !== void 0)
|
|
41291
|
+
args.discount_percent = Number(opts.discountPercent);
|
|
41292
|
+
if (opts.productIds !== void 0)
|
|
41293
|
+
args.product_ids = JSON.parse(opts.productIds);
|
|
41294
|
+
if (opts.duration !== void 0)
|
|
41295
|
+
args.duration = JSON.parse(opts.duration);
|
|
41296
|
+
if (opts.properties !== void 0)
|
|
41297
|
+
args.properties = JSON.parse(opts.properties);
|
|
41298
|
+
await ctx.execute({
|
|
41299
|
+
method: "POST",
|
|
41300
|
+
path: "/v1/coupons",
|
|
41301
|
+
args,
|
|
41302
|
+
queryParamKeys: []
|
|
41303
|
+
});
|
|
41304
|
+
});
|
|
41305
|
+
resource.command("get").description(`Retrieve a specific coupon by ID including its discount configuration, redemption count, and deletion status.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
41306
|
+
Examples:
|
|
41307
|
+
hyperline coupons get --id <id>`).action(async (opts) => {
|
|
41308
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41309
|
+
if (!ctx) {
|
|
41310
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41311
|
+
process.exit(1);
|
|
41312
|
+
}
|
|
41313
|
+
const args = {};
|
|
41314
|
+
if (opts.id !== void 0)
|
|
41315
|
+
args.id = opts.id;
|
|
41316
|
+
await ctx.execute({
|
|
41317
|
+
method: "GET",
|
|
41318
|
+
path: "/v1/coupons/{id}",
|
|
41319
|
+
args,
|
|
41320
|
+
queryParamKeys: []
|
|
41321
|
+
});
|
|
41322
|
+
});
|
|
41323
|
+
resource.command("update").description(`Update an existing coupon's name, discount rules, or restrictions.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <json>", `Products the coupon is scoped to, read together with \`product_scope\`: the only discounted products when \`include\`, the products never discounted when \`exclude\`, empty when \`all\`.`).option("--product-scope <value>", `Which products the coupon discounts. \`all\`: every product (\`product_ids\` must be empty). \`include\`: only the products in \`product_ids\`. \`exclude\`: every product except those in \`product_ids\` (lines without a product stay discounted). \`include\` and \`exclude\` require a non-empty \`product_ids\`. When omitted on create/update, it is inferred: \`include\` if \`product_ids\` is non-empty, \`all\` otherwise. Integrations that read \`product_ids\` without \`product_scope\` will misread an \`exclude\` list as the products the coupon applies to.`).option("--repeat <value>", `Default repeat behaviour applied when the coupon is attached to a subscription. Valid values: \`once\`, \`forever\`, \`duration\`. Can be overridden at attach time.`).option("--duration <json>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
|
|
41324
|
+
Examples:
|
|
41325
|
+
hyperline coupons update --id <id> --name <name> --type <type>
|
|
41326
|
+
hyperline coupons update --id <id> --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
41327
|
+
hyperline coupons update --id <id> --name <name> --type <type> --output json`).action(async (opts) => {
|
|
41328
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41329
|
+
if (!ctx) {
|
|
41330
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41331
|
+
process.exit(1);
|
|
41332
|
+
}
|
|
41333
|
+
const args = {};
|
|
41334
|
+
if (opts.id !== void 0)
|
|
41335
|
+
args.id = opts.id;
|
|
41336
|
+
if (opts.name !== void 0)
|
|
41337
|
+
args.name = opts.name;
|
|
41338
|
+
if (opts.description !== void 0)
|
|
41339
|
+
args.description = opts.description;
|
|
41340
|
+
if (opts.expirationDate !== void 0)
|
|
41341
|
+
args.expiration_date = opts.expirationDate;
|
|
41342
|
+
if (opts.productScope !== void 0)
|
|
41343
|
+
args.product_scope = opts.productScope;
|
|
41344
|
+
if (opts.repeat !== void 0)
|
|
41345
|
+
args.repeat = opts.repeat;
|
|
41346
|
+
if (opts.type !== void 0)
|
|
41347
|
+
args.type = opts.type;
|
|
41348
|
+
if (opts.currency !== void 0)
|
|
41349
|
+
args.currency = opts.currency;
|
|
41350
|
+
if (opts.redemptionLimit !== void 0)
|
|
41351
|
+
args.redemption_limit = Number(opts.redemptionLimit);
|
|
41352
|
+
if (opts.discountAmount !== void 0)
|
|
41353
|
+
args.discount_amount = Number(opts.discountAmount);
|
|
41354
|
+
if (opts.discountPercent !== void 0)
|
|
41355
|
+
args.discount_percent = Number(opts.discountPercent);
|
|
41356
|
+
if (opts.productIds !== void 0)
|
|
41357
|
+
args.product_ids = JSON.parse(opts.productIds);
|
|
41358
|
+
if (opts.duration !== void 0)
|
|
41359
|
+
args.duration = JSON.parse(opts.duration);
|
|
41360
|
+
if (opts.properties !== void 0)
|
|
41361
|
+
args.properties = JSON.parse(opts.properties);
|
|
41362
|
+
await ctx.execute({
|
|
41363
|
+
method: "PUT",
|
|
41364
|
+
path: "/v1/coupons/{id}",
|
|
41365
|
+
args,
|
|
41366
|
+
queryParamKeys: []
|
|
41367
|
+
});
|
|
41368
|
+
});
|
|
41369
|
+
resource.command("delete").description(`Permanently delete a coupon by ID. This cannot be undone.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
41370
|
+
Examples:
|
|
41371
|
+
hyperline coupons delete --id <id>
|
|
41372
|
+
hyperline coupons delete --id <id> --output json`).action(async (opts) => {
|
|
41373
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41374
|
+
if (!ctx) {
|
|
41375
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41376
|
+
process.exit(1);
|
|
41377
|
+
}
|
|
41378
|
+
const args = {};
|
|
41379
|
+
if (opts.id !== void 0)
|
|
41380
|
+
args.id = opts.id;
|
|
41381
|
+
if (!opts.yes) {
|
|
41382
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
41383
|
+
if (!confirmed) {
|
|
41384
|
+
process.stdout.write("Aborted.\n");
|
|
41385
|
+
return;
|
|
41386
|
+
}
|
|
41387
|
+
}
|
|
41388
|
+
await ctx.execute({
|
|
41389
|
+
method: "DELETE",
|
|
41390
|
+
path: "/v1/coupons/{id}",
|
|
41391
|
+
args,
|
|
41392
|
+
queryParamKeys: []
|
|
41393
|
+
});
|
|
41394
|
+
});
|
|
41395
|
+
}
|
|
41396
|
+
|
|
41397
|
+
// build/commands/generated/coupons-promotion-codes.js
|
|
41398
|
+
function registerCoupons_Promotion_CodesCommands(parent) {
|
|
41399
|
+
const resource = parent.command("coupons-promotion-codes").description("Manage coupons > promotion codes");
|
|
41400
|
+
resource.command("list-promotion-codes").description(`List promotion codes with optional filter by coupon_id. Promotion codes are shareable codes that reference a coupon. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--coupon-id <value>", `coupon_id`).option("--coupon-id.not <value>", `coupon_id__not`).option("--coupon-id.equals <value>", `coupon_id__equals`).option("--coupon-id.contains <value>", `coupon_id__contains`).option("--coupon-id.starts-with <value>", `coupon_id__startsWith`).option("--coupon-id.end-with <value>", `coupon_id__endWith`).addHelpText("after", `
|
|
41401
|
+
Examples:
|
|
41402
|
+
hyperline coupons-promotion-codes list-promotion-codes
|
|
41403
|
+
hyperline coupons-promotion-codes list-promotion-codes --take <take> --coupon-id <coupon_id>`).action(async (opts) => {
|
|
41404
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41405
|
+
if (!ctx) {
|
|
41406
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41407
|
+
process.exit(1);
|
|
41408
|
+
}
|
|
41409
|
+
const args = {};
|
|
41410
|
+
if (opts.couponId !== void 0)
|
|
41411
|
+
args.coupon_id = opts.couponId;
|
|
41412
|
+
if (opts["couponId.not"] !== void 0)
|
|
41413
|
+
args.coupon_id__not = opts["couponId.not"];
|
|
41414
|
+
if (opts["couponId.equals"] !== void 0)
|
|
41415
|
+
args.coupon_id__equals = opts["couponId.equals"];
|
|
41416
|
+
if (opts["couponId.contains"] !== void 0)
|
|
41417
|
+
args.coupon_id__contains = opts["couponId.contains"];
|
|
41418
|
+
if (opts["couponId.startsWith"] !== void 0)
|
|
41419
|
+
args.coupon_id__startsWith = opts["couponId.startsWith"];
|
|
41420
|
+
if (opts["couponId.endWith"] !== void 0)
|
|
40896
41421
|
args.coupon_id__endWith = opts["couponId.endWith"];
|
|
40897
41422
|
if (opts.take !== void 0)
|
|
40898
41423
|
args.take = Number(opts.take);
|
|
@@ -40907,8 +41432,6 @@ Examples:
|
|
|
40907
41432
|
"skip",
|
|
40908
41433
|
"coupon_id",
|
|
40909
41434
|
"coupon_id__not",
|
|
40910
|
-
"coupon_id__isNull",
|
|
40911
|
-
"coupon_id__isNotNull",
|
|
40912
41435
|
"coupon_id__equals",
|
|
40913
41436
|
"coupon_id__contains",
|
|
40914
41437
|
"coupon_id__startsWith",
|
|
@@ -41162,7 +41685,7 @@ Examples:
|
|
|
41162
41685
|
// build/commands/generated/customers.js
|
|
41163
41686
|
function registerCustomersCommands(parent) {
|
|
41164
41687
|
const resource = parent.command("customers").description("Manage customers");
|
|
41165
|
-
resource.command("list").description(`List customers with optional filters for name, type, status, currency, country, external_id, billing_email, search, tax_id, tax_id_status, subscription_status, invoicing_entity_id, segment_id, custom_properties, payment_method_type, integration_entity_id, created_at, and updated_at. Sortable by created_at or updated_at. Paginated with limit/cursor.`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--tax-id-status <value>", `
|
|
41688
|
+
resource.command("list").description(`List customers with optional filters for name, type, status, currency, country, external_id, billing_email, search, tax_id, tax_id_status, subscription_status, invoicing_entity_id, segment_id, custom_properties (JSON object of slug to exact value, e.g. {"my_slug":"value"}; slugs matching no custom property are ignored), payment_method_type, integration_entity_id, created_at, and updated_at. Sortable by created_at or updated_at. Paginated with limit/cursor.`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--tax-id-status <value>", `
|
|
41166
41689
|
Verification status of the customer tax ID.
|
|
41167
41690
|
|
|
41168
41691
|
- \`valid\`: Tax ID has been verified and is valid.
|
|
@@ -41170,7 +41693,7 @@ Verification status of the customer tax ID.
|
|
|
41170
41693
|
- \`mismatch\`: Tax ID is valid but is for a different country than the customer's country.
|
|
41171
41694
|
- \`unverified\`: Tax ID has not been verified yet.
|
|
41172
41695
|
- \`unsupported\`: Tax ID verification for this type not supported yet.
|
|
41173
|
-
`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.
|
|
41696
|
+
`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--type <value>", `type`).option("--type.in <value>", `type__in`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--currency <value>", `currency`).option("--currency.not <value>", `currency__not`).option("--currency.equals <value>", `currency__equals`).option("--currency.contains <value>", `currency__contains`).option("--currency.starts-with <value>", `currency__startsWith`).option("--currency.end-with <value>", `currency__endWith`).option("--currency.is-null <value>", `currency__isNull`).option("--currency.is-not-null <value>", `currency__isNotNull`).option("--country <value>", `country`).option("--country.not <value>", `country__not`).option("--country.equals <value>", `country__equals`).option("--country.contains <value>", `country__contains`).option("--country.starts-with <value>", `country__startsWith`).option("--country.end-with <value>", `country__endWith`).option("--country.is-null <value>", `country__isNull`).option("--country.is-not-null <value>", `country__isNotNull`).option("--external-id <value>", `external_id`).option("--external-id.not <value>", `external_id__not`).option("--external-id.equals <value>", `external_id__equals`).option("--external-id.contains <value>", `external_id__contains`).option("--external-id.starts-with <value>", `external_id__startsWith`).option("--external-id.end-with <value>", `external_id__endWith`).option("--external-id.is-null <value>", `external_id__isNull`).option("--external-id.is-not-null <value>", `external_id__isNotNull`).option("--billing-email <value>", `billing_email`).option("--billing-email.not <value>", `billing_email__not`).option("--billing-email.equals <value>", `billing_email__equals`).option("--billing-email.contains <value>", `billing_email__contains`).option("--billing-email.starts-with <value>", `billing_email__startsWith`).option("--billing-email.end-with <value>", `billing_email__endWith`).option("--billing-email.is-null <value>", `billing_email__isNull`).option("--billing-email.is-not-null <value>", `billing_email__isNotNull`).option("--search <value>", `search`).option("--tax-id <value>", `tax_id`).option("--tax-id.not <value>", `tax_id__not`).option("--tax-id.equals <value>", `tax_id__equals`).option("--tax-id.contains <value>", `tax_id__contains`).option("--tax-id.starts-with <value>", `tax_id__startsWith`).option("--tax-id.end-with <value>", `tax_id__endWith`).option("--tax-id.is-null <value>", `tax_id__isNull`).option("--tax-id.is-not-null <value>", `tax_id__isNotNull`).option("--subscription-status <value>", `subscription_status`).option("--subscription-status.in <value>", `subscription_status__in`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--invoicing-entity-id.not <value>", `invoicing_entity_id__not`).option("--invoicing-entity-id.equals <value>", `invoicing_entity_id__equals`).option("--invoicing-entity-id.contains <value>", `invoicing_entity_id__contains`).option("--invoicing-entity-id.starts-with <value>", `invoicing_entity_id__startsWith`).option("--invoicing-entity-id.end-with <value>", `invoicing_entity_id__endWith`).option("--segment-id <value>", `segment_id`).option("--custom-properties <value>", `Filter by custom property values, as a JSON object mapping a custom property slug to the exact value to match. Suffix a slug with \`__contains\` for a case-sensitive substring match on text values. Several entries are combined with AND. Entries whose slug matches no custom property, or whose value is \`false\`, \`0\`, \`null\` or an empty string, are ignored.`).option("--payment-method-type <value>", `payment_method_type`).option("--payment-method-type.in <value>", `payment_method_type__in`).option("--integration-entity-id <value>", `integration_entity_id`).option("--created-at <value>", `created_at`).option("--created-at.not <value>", `created_at__not`).option("--created-at.equals <value>", `created_at__equals`).option("--created-at.lt <value>", `created_at__lt`).option("--created-at.lte <value>", `created_at__lte`).option("--created-at.gt <value>", `created_at__gt`).option("--created-at.gte <value>", `created_at__gte`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
41174
41697
|
Examples:
|
|
41175
41698
|
hyperline customers list
|
|
41176
41699
|
hyperline customers list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -41194,10 +41717,6 @@ Examples:
|
|
|
41194
41717
|
args.name = opts.name;
|
|
41195
41718
|
if (opts["name.not"] !== void 0)
|
|
41196
41719
|
args.name__not = opts["name.not"];
|
|
41197
|
-
if (opts["name.isNull"] !== void 0)
|
|
41198
|
-
args.name__isNull = opts["name.isNull"];
|
|
41199
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
41200
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
41201
41720
|
if (opts["name.equals"] !== void 0)
|
|
41202
41721
|
args.name__equals = opts["name.equals"];
|
|
41203
41722
|
if (opts["name.contains"] !== void 0)
|
|
@@ -41218,10 +41737,6 @@ Examples:
|
|
|
41218
41737
|
args.currency = opts.currency;
|
|
41219
41738
|
if (opts["currency.not"] !== void 0)
|
|
41220
41739
|
args.currency__not = opts["currency.not"];
|
|
41221
|
-
if (opts["currency.isNull"] !== void 0)
|
|
41222
|
-
args.currency__isNull = opts["currency.isNull"];
|
|
41223
|
-
if (opts["currency.isNotNull"] !== void 0)
|
|
41224
|
-
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
41225
41740
|
if (opts["currency.equals"] !== void 0)
|
|
41226
41741
|
args.currency__equals = opts["currency.equals"];
|
|
41227
41742
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -41230,14 +41745,14 @@ Examples:
|
|
|
41230
41745
|
args.currency__startsWith = opts["currency.startsWith"];
|
|
41231
41746
|
if (opts["currency.endWith"] !== void 0)
|
|
41232
41747
|
args.currency__endWith = opts["currency.endWith"];
|
|
41748
|
+
if (opts["currency.isNull"] !== void 0)
|
|
41749
|
+
args.currency__isNull = opts["currency.isNull"];
|
|
41750
|
+
if (opts["currency.isNotNull"] !== void 0)
|
|
41751
|
+
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
41233
41752
|
if (opts.country !== void 0)
|
|
41234
41753
|
args.country = opts.country;
|
|
41235
41754
|
if (opts["country.not"] !== void 0)
|
|
41236
41755
|
args.country__not = opts["country.not"];
|
|
41237
|
-
if (opts["country.isNull"] !== void 0)
|
|
41238
|
-
args.country__isNull = opts["country.isNull"];
|
|
41239
|
-
if (opts["country.isNotNull"] !== void 0)
|
|
41240
|
-
args.country__isNotNull = opts["country.isNotNull"];
|
|
41241
41756
|
if (opts["country.equals"] !== void 0)
|
|
41242
41757
|
args.country__equals = opts["country.equals"];
|
|
41243
41758
|
if (opts["country.contains"] !== void 0)
|
|
@@ -41246,14 +41761,14 @@ Examples:
|
|
|
41246
41761
|
args.country__startsWith = opts["country.startsWith"];
|
|
41247
41762
|
if (opts["country.endWith"] !== void 0)
|
|
41248
41763
|
args.country__endWith = opts["country.endWith"];
|
|
41764
|
+
if (opts["country.isNull"] !== void 0)
|
|
41765
|
+
args.country__isNull = opts["country.isNull"];
|
|
41766
|
+
if (opts["country.isNotNull"] !== void 0)
|
|
41767
|
+
args.country__isNotNull = opts["country.isNotNull"];
|
|
41249
41768
|
if (opts.externalId !== void 0)
|
|
41250
41769
|
args.external_id = opts.externalId;
|
|
41251
41770
|
if (opts["externalId.not"] !== void 0)
|
|
41252
41771
|
args.external_id__not = opts["externalId.not"];
|
|
41253
|
-
if (opts["externalId.isNull"] !== void 0)
|
|
41254
|
-
args.external_id__isNull = opts["externalId.isNull"];
|
|
41255
|
-
if (opts["externalId.isNotNull"] !== void 0)
|
|
41256
|
-
args.external_id__isNotNull = opts["externalId.isNotNull"];
|
|
41257
41772
|
if (opts["externalId.equals"] !== void 0)
|
|
41258
41773
|
args.external_id__equals = opts["externalId.equals"];
|
|
41259
41774
|
if (opts["externalId.contains"] !== void 0)
|
|
@@ -41262,14 +41777,14 @@ Examples:
|
|
|
41262
41777
|
args.external_id__startsWith = opts["externalId.startsWith"];
|
|
41263
41778
|
if (opts["externalId.endWith"] !== void 0)
|
|
41264
41779
|
args.external_id__endWith = opts["externalId.endWith"];
|
|
41780
|
+
if (opts["externalId.isNull"] !== void 0)
|
|
41781
|
+
args.external_id__isNull = opts["externalId.isNull"];
|
|
41782
|
+
if (opts["externalId.isNotNull"] !== void 0)
|
|
41783
|
+
args.external_id__isNotNull = opts["externalId.isNotNull"];
|
|
41265
41784
|
if (opts.billingEmail !== void 0)
|
|
41266
41785
|
args.billing_email = opts.billingEmail;
|
|
41267
41786
|
if (opts["billingEmail.not"] !== void 0)
|
|
41268
41787
|
args.billing_email__not = opts["billingEmail.not"];
|
|
41269
|
-
if (opts["billingEmail.isNull"] !== void 0)
|
|
41270
|
-
args.billing_email__isNull = opts["billingEmail.isNull"];
|
|
41271
|
-
if (opts["billingEmail.isNotNull"] !== void 0)
|
|
41272
|
-
args.billing_email__isNotNull = opts["billingEmail.isNotNull"];
|
|
41273
41788
|
if (opts["billingEmail.equals"] !== void 0)
|
|
41274
41789
|
args.billing_email__equals = opts["billingEmail.equals"];
|
|
41275
41790
|
if (opts["billingEmail.contains"] !== void 0)
|
|
@@ -41278,16 +41793,16 @@ Examples:
|
|
|
41278
41793
|
args.billing_email__startsWith = opts["billingEmail.startsWith"];
|
|
41279
41794
|
if (opts["billingEmail.endWith"] !== void 0)
|
|
41280
41795
|
args.billing_email__endWith = opts["billingEmail.endWith"];
|
|
41796
|
+
if (opts["billingEmail.isNull"] !== void 0)
|
|
41797
|
+
args.billing_email__isNull = opts["billingEmail.isNull"];
|
|
41798
|
+
if (opts["billingEmail.isNotNull"] !== void 0)
|
|
41799
|
+
args.billing_email__isNotNull = opts["billingEmail.isNotNull"];
|
|
41281
41800
|
if (opts.search !== void 0)
|
|
41282
41801
|
args.search = opts.search;
|
|
41283
41802
|
if (opts.taxId !== void 0)
|
|
41284
41803
|
args.tax_id = opts.taxId;
|
|
41285
41804
|
if (opts["taxId.not"] !== void 0)
|
|
41286
41805
|
args.tax_id__not = opts["taxId.not"];
|
|
41287
|
-
if (opts["taxId.isNull"] !== void 0)
|
|
41288
|
-
args.tax_id__isNull = opts["taxId.isNull"];
|
|
41289
|
-
if (opts["taxId.isNotNull"] !== void 0)
|
|
41290
|
-
args.tax_id__isNotNull = opts["taxId.isNotNull"];
|
|
41291
41806
|
if (opts["taxId.equals"] !== void 0)
|
|
41292
41807
|
args.tax_id__equals = opts["taxId.equals"];
|
|
41293
41808
|
if (opts["taxId.contains"] !== void 0)
|
|
@@ -41296,6 +41811,10 @@ Examples:
|
|
|
41296
41811
|
args.tax_id__startsWith = opts["taxId.startsWith"];
|
|
41297
41812
|
if (opts["taxId.endWith"] !== void 0)
|
|
41298
41813
|
args.tax_id__endWith = opts["taxId.endWith"];
|
|
41814
|
+
if (opts["taxId.isNull"] !== void 0)
|
|
41815
|
+
args.tax_id__isNull = opts["taxId.isNull"];
|
|
41816
|
+
if (opts["taxId.isNotNull"] !== void 0)
|
|
41817
|
+
args.tax_id__isNotNull = opts["taxId.isNotNull"];
|
|
41299
41818
|
if (opts.subscriptionStatus !== void 0)
|
|
41300
41819
|
args.subscription_status = opts.subscriptionStatus;
|
|
41301
41820
|
if (opts["subscriptionStatus.in"] !== void 0)
|
|
@@ -41304,10 +41823,6 @@ Examples:
|
|
|
41304
41823
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
41305
41824
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
41306
41825
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
41307
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
41308
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
41309
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
41310
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
41311
41826
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
41312
41827
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
41313
41828
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -41330,10 +41845,6 @@ Examples:
|
|
|
41330
41845
|
args.created_at = opts.createdAt;
|
|
41331
41846
|
if (opts["createdAt.not"] !== void 0)
|
|
41332
41847
|
args.created_at__not = opts["createdAt.not"];
|
|
41333
|
-
if (opts["createdAt.isNull"] !== void 0)
|
|
41334
|
-
args.created_at__isNull = opts["createdAt.isNull"];
|
|
41335
|
-
if (opts["createdAt.isNotNull"] !== void 0)
|
|
41336
|
-
args.created_at__isNotNull = opts["createdAt.isNotNull"];
|
|
41337
41848
|
if (opts["createdAt.equals"] !== void 0)
|
|
41338
41849
|
args.created_at__equals = opts["createdAt.equals"];
|
|
41339
41850
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -41348,10 +41859,6 @@ Examples:
|
|
|
41348
41859
|
args.updated_at = opts.updatedAt;
|
|
41349
41860
|
if (opts["updatedAt.not"] !== void 0)
|
|
41350
41861
|
args.updated_at__not = opts["updatedAt.not"];
|
|
41351
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
41352
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
41353
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
41354
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
41355
41862
|
if (opts["updatedAt.equals"] !== void 0)
|
|
41356
41863
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
41357
41864
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -41377,8 +41884,6 @@ Examples:
|
|
|
41377
41884
|
"tax_id_status",
|
|
41378
41885
|
"name",
|
|
41379
41886
|
"name__not",
|
|
41380
|
-
"name__isNull",
|
|
41381
|
-
"name__isNotNull",
|
|
41382
41887
|
"name__equals",
|
|
41383
41888
|
"name__contains",
|
|
41384
41889
|
"name__startsWith",
|
|
@@ -41389,51 +41894,49 @@ Examples:
|
|
|
41389
41894
|
"status__in",
|
|
41390
41895
|
"currency",
|
|
41391
41896
|
"currency__not",
|
|
41392
|
-
"currency__isNull",
|
|
41393
|
-
"currency__isNotNull",
|
|
41394
41897
|
"currency__equals",
|
|
41395
41898
|
"currency__contains",
|
|
41396
41899
|
"currency__startsWith",
|
|
41397
41900
|
"currency__endWith",
|
|
41901
|
+
"currency__isNull",
|
|
41902
|
+
"currency__isNotNull",
|
|
41398
41903
|
"country",
|
|
41399
41904
|
"country__not",
|
|
41400
|
-
"country__isNull",
|
|
41401
|
-
"country__isNotNull",
|
|
41402
41905
|
"country__equals",
|
|
41403
41906
|
"country__contains",
|
|
41404
41907
|
"country__startsWith",
|
|
41405
41908
|
"country__endWith",
|
|
41909
|
+
"country__isNull",
|
|
41910
|
+
"country__isNotNull",
|
|
41406
41911
|
"external_id",
|
|
41407
41912
|
"external_id__not",
|
|
41408
|
-
"external_id__isNull",
|
|
41409
|
-
"external_id__isNotNull",
|
|
41410
41913
|
"external_id__equals",
|
|
41411
41914
|
"external_id__contains",
|
|
41412
41915
|
"external_id__startsWith",
|
|
41413
41916
|
"external_id__endWith",
|
|
41917
|
+
"external_id__isNull",
|
|
41918
|
+
"external_id__isNotNull",
|
|
41414
41919
|
"billing_email",
|
|
41415
41920
|
"billing_email__not",
|
|
41416
|
-
"billing_email__isNull",
|
|
41417
|
-
"billing_email__isNotNull",
|
|
41418
41921
|
"billing_email__equals",
|
|
41419
41922
|
"billing_email__contains",
|
|
41420
41923
|
"billing_email__startsWith",
|
|
41421
41924
|
"billing_email__endWith",
|
|
41925
|
+
"billing_email__isNull",
|
|
41926
|
+
"billing_email__isNotNull",
|
|
41422
41927
|
"search",
|
|
41423
41928
|
"tax_id",
|
|
41424
41929
|
"tax_id__not",
|
|
41425
|
-
"tax_id__isNull",
|
|
41426
|
-
"tax_id__isNotNull",
|
|
41427
41930
|
"tax_id__equals",
|
|
41428
41931
|
"tax_id__contains",
|
|
41429
41932
|
"tax_id__startsWith",
|
|
41430
41933
|
"tax_id__endWith",
|
|
41934
|
+
"tax_id__isNull",
|
|
41935
|
+
"tax_id__isNotNull",
|
|
41431
41936
|
"subscription_status",
|
|
41432
41937
|
"subscription_status__in",
|
|
41433
41938
|
"invoicing_entity_id",
|
|
41434
41939
|
"invoicing_entity_id__not",
|
|
41435
|
-
"invoicing_entity_id__isNull",
|
|
41436
|
-
"invoicing_entity_id__isNotNull",
|
|
41437
41940
|
"invoicing_entity_id__equals",
|
|
41438
41941
|
"invoicing_entity_id__contains",
|
|
41439
41942
|
"invoicing_entity_id__startsWith",
|
|
@@ -41445,8 +41948,6 @@ Examples:
|
|
|
41445
41948
|
"integration_entity_id",
|
|
41446
41949
|
"created_at",
|
|
41447
41950
|
"created_at__not",
|
|
41448
|
-
"created_at__isNull",
|
|
41449
|
-
"created_at__isNotNull",
|
|
41450
41951
|
"created_at__equals",
|
|
41451
41952
|
"created_at__lt",
|
|
41452
41953
|
"created_at__lte",
|
|
@@ -41454,8 +41955,6 @@ Examples:
|
|
|
41454
41955
|
"created_at__gte",
|
|
41455
41956
|
"updated_at",
|
|
41456
41957
|
"updated_at__not",
|
|
41457
|
-
"updated_at__isNull",
|
|
41458
|
-
"updated_at__isNotNull",
|
|
41459
41958
|
"updated_at__equals",
|
|
41460
41959
|
"updated_at__lt",
|
|
41461
41960
|
"updated_at__lte",
|
|
@@ -41492,13 +41991,13 @@ Customer type.
|
|
|
41492
41991
|
|
|
41493
41992
|
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
41494
41993
|
- \`exempt\`: The customer is exempt from tax.
|
|
41495
|
-
`).option("--registration-number <value>", `Customer registration number.`).option("--einvoicing-code <value>", `Customer electronic invoicing code, used to route their e-invoices to the relevant platform (e.g. Chorus Pro routing code or Peppol identifier).`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <json>", `Customer billing address.`).option("--shipping-address <json>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <json>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <json>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--bank-account <json>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
41994
|
+
`).option("--registration-number <value>", `Customer registration number.`).option("--einvoicing-code <value>", `Customer electronic invoicing code, used to route their e-invoices to the relevant platform (e.g. Chorus Pro routing code or Peppol identifier).`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline. When external ID uniqueness is enforced for your account, two active customers cannot share the same external ID.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <json>", `Customer billing address.`).option("--shipping-address <json>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <json>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <json>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--bank-account <json>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
41496
41995
|
How customer invoices are issued from the parent organisation.
|
|
41497
41996
|
|
|
41498
41997
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
41499
41998
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
41500
41999
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
41501
|
-
`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--force-invoice-draft <value>", `Indicates if customer invoices should be created as draft invoices.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <json>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
42000
|
+
`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--consolidated-invoicing-enabled <value>", `Indicates if consolidated invoicing is enabled for the customer. When enabled, subscription invoices billed on the same day are grouped into a single invoice. Cannot be disabled while invoices are pending consolidation.`).option("--force-invoice-draft <value>", `Indicates if customer invoices should be created as draft invoices.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <json>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
41502
42001
|
Examples:
|
|
41503
42002
|
hyperline customers create-customer
|
|
41504
42003
|
hyperline customers create-customer --name <name> --type <type>
|
|
@@ -41543,6 +42042,8 @@ Examples:
|
|
|
41543
42042
|
args.organisation_invoicing = opts.organisationInvoicing;
|
|
41544
42043
|
if (opts.invoiceRemindersEnabled !== void 0)
|
|
41545
42044
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
42045
|
+
if (opts.consolidatedInvoicingEnabled !== void 0)
|
|
42046
|
+
args.consolidated_invoicing_enabled = opts.consolidatedInvoicingEnabled;
|
|
41546
42047
|
if (opts.forceInvoiceDraft !== void 0)
|
|
41547
42048
|
args.force_invoice_draft = opts.forceInvoiceDraft;
|
|
41548
42049
|
if (opts.priceBookId !== void 0)
|
|
@@ -41629,13 +42130,13 @@ Customer type.
|
|
|
41629
42130
|
|
|
41630
42131
|
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
41631
42132
|
- \`exempt\`: The customer is exempt from tax.
|
|
41632
|
-
`).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--einvoicing-code <value>", `Customer electronic invoicing code, used to route their e-invoices to the relevant platform (e.g. Chorus Pro routing code or Peppol identifier).`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <json>", `Customer billing address.`).option("--shipping-address <json>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <json>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <json>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--payment-method-id <value>", `ID of the default payment method of the customer. Only applies to card and direct debit.`).option("--bank-account <json>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
42133
|
+
`).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--einvoicing-code <value>", `Customer electronic invoicing code, used to route their e-invoices to the relevant platform (e.g. Chorus Pro routing code or Peppol identifier).`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline. When external ID uniqueness is enforced for your account, two active customers cannot share the same external ID.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <json>", `Customer billing address.`).option("--shipping-address <json>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <json>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <json>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--payment-method-id <value>", `ID of the default payment method of the customer. Only applies to card and direct debit.`).option("--bank-account <json>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
41633
42134
|
How customer invoices are issued from the parent organisation.
|
|
41634
42135
|
|
|
41635
42136
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
41636
42137
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
41637
42138
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
41638
|
-
`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--force-invoice-draft <value>", `Indicates if customer invoices should be created as draft invoices.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <json>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
42139
|
+
`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--consolidated-invoicing-enabled <value>", `Indicates if consolidated invoicing is enabled for the customer. When enabled, subscription invoices billed on the same day are grouped into a single invoice. Cannot be disabled while invoices are pending consolidation.`).option("--force-invoice-draft <value>", `Indicates if customer invoices should be created as draft invoices.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <json>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
41639
42140
|
Examples:
|
|
41640
42141
|
hyperline customers update --id <id>
|
|
41641
42142
|
hyperline customers update --id <id> --name <name> --type <type>
|
|
@@ -41684,6 +42185,8 @@ Examples:
|
|
|
41684
42185
|
args.organisation_invoicing = opts.organisationInvoicing;
|
|
41685
42186
|
if (opts.invoiceRemindersEnabled !== void 0)
|
|
41686
42187
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
42188
|
+
if (opts.consolidatedInvoicingEnabled !== void 0)
|
|
42189
|
+
args.consolidated_invoicing_enabled = opts.consolidatedInvoicingEnabled;
|
|
41687
42190
|
if (opts.forceInvoiceDraft !== void 0)
|
|
41688
42191
|
args.force_invoice_draft = opts.forceInvoiceDraft;
|
|
41689
42192
|
if (opts.priceBookId !== void 0)
|
|
@@ -41915,7 +42418,13 @@ Examples:
|
|
|
41915
42418
|
queryParamKeys: []
|
|
41916
42419
|
});
|
|
41917
42420
|
});
|
|
41918
|
-
resource.command("create-customer-address").description(`Create a shipping address with type shipping; billing creation is rejected because a customer can have at most one billing address, managed through the customer endpoint.`).requiredOption("--customer-id <value>", `customerId parameter`).requiredOption("--type <value>", `Only shipping addresses can be created here. A customer has at most one active billing address, managed through the customer or by updating its address ID.`).option("--name <value>", `Address name.`).option("--line1 <value>", `Address first line.`).option("--line2 <value>", `Address second line (optional).`).option("--city <value>", `Address city.`).option("--zip <value>", `Address ZIP code.`).option("--state <value>", `
|
|
42421
|
+
resource.command("create-customer-address").description(`Create a shipping address with type shipping; billing creation is rejected because a customer can have at most one billing address, managed through the customer endpoint.`).requiredOption("--customer-id <value>", `customerId parameter`).requiredOption("--type <value>", `Only shipping addresses can be created here. A customer has at most one active billing address, managed through the customer or by updating its address ID.`).option("--name <value>", `Address name.`).option("--line1 <value>", `Address first line.`).option("--line2 <value>", `Address second line (optional).`).option("--city <value>", `Address city.`).option("--zip <value>", `Address ZIP code.`).option("--state <value>", `State or province of the address, stored as its code (the second part of the ISO 3166-2 code, e.g. \`CA\` for \`US-CA\`) for:
|
|
42422
|
+
- United States: state, see [ISO 3166-2:US](https://en.wikipedia.org/wiki/ISO_3166-2:US)
|
|
42423
|
+
- Canada: province or territory, see [ISO 3166-2:CA](https://en.wikipedia.org/wiki/ISO_3166-2:CA)
|
|
42424
|
+
- Italy: province, see [ISO 3166-2:IT](https://en.wikipedia.org/wiki/ISO_3166-2:IT)
|
|
42425
|
+
- Brazil: state, see [ISO 3166-2:BR](https://en.wikipedia.org/wiki/ISO_3166-2:BR)
|
|
42426
|
+
|
|
42427
|
+
A code or a name is accepted (e.g. \`ON\` or \`Ontario\`); a value that matches neither for these countries is rejected. For any other country, the state is ignored.`).option("--country <value>", `Two-letter country code in ISO format. See [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).`).option("--tax-id <value>", `Tax ID override for a shipping address. Null or blank inherits the customer's tax ID; omission on update preserves the override. Billing addresses cannot have an override.`).addHelpText("after", `
|
|
41919
42428
|
Examples:
|
|
41920
42429
|
hyperline customers-address create-customer-address --customer-id <customerId> --type <type>
|
|
41921
42430
|
hyperline customers-address create-customer-address --customer-id <customerId> --type <type> --name <name> --line1 <line1>
|
|
@@ -41953,7 +42462,13 @@ Examples:
|
|
|
41953
42462
|
queryParamKeys: []
|
|
41954
42463
|
});
|
|
41955
42464
|
});
|
|
41956
|
-
resource.command("update-customer-address").description(`Update a billing or shipping address by ID; billing changes also update the customer billing-address projection.`).requiredOption("--customer-id <value>", `customerId parameter`).requiredOption("--address-id <value>", `addressId parameter`).option("--name <value>", `Address name.`).option("--line1 <value>", `Address first line.`).option("--line2 <value>", `Address second line (optional).`).option("--city <value>", `Address city.`).option("--zip <value>", `Address ZIP code.`).option("--state <value>", `
|
|
42465
|
+
resource.command("update-customer-address").description(`Update a billing or shipping address by ID; billing changes also update the customer billing-address projection.`).requiredOption("--customer-id <value>", `customerId parameter`).requiredOption("--address-id <value>", `addressId parameter`).option("--name <value>", `Address name.`).option("--line1 <value>", `Address first line.`).option("--line2 <value>", `Address second line (optional).`).option("--city <value>", `Address city.`).option("--zip <value>", `Address ZIP code.`).option("--state <value>", `State or province of the address, stored as its code (the second part of the ISO 3166-2 code, e.g. \`CA\` for \`US-CA\`) for:
|
|
42466
|
+
- United States: state, see [ISO 3166-2:US](https://en.wikipedia.org/wiki/ISO_3166-2:US)
|
|
42467
|
+
- Canada: province or territory, see [ISO 3166-2:CA](https://en.wikipedia.org/wiki/ISO_3166-2:CA)
|
|
42468
|
+
- Italy: province, see [ISO 3166-2:IT](https://en.wikipedia.org/wiki/ISO_3166-2:IT)
|
|
42469
|
+
- Brazil: state, see [ISO 3166-2:BR](https://en.wikipedia.org/wiki/ISO_3166-2:BR)
|
|
42470
|
+
|
|
42471
|
+
A code or a name is accepted (e.g. \`ON\` or \`Ontario\`); a value that matches neither for these countries is rejected. For any other country, the state is ignored.`).option("--country <value>", `Two-letter country code in ISO format. See [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).`).option("--tax-id <value>", `Tax ID override for a shipping address. Null or blank inherits the customer's tax ID; omission on update preserves the override. Billing addresses cannot have an override.`).addHelpText("after", `
|
|
41957
42472
|
Examples:
|
|
41958
42473
|
hyperline customers-address update-customer-address --customer-id <customerId> --address-id <addressId>
|
|
41959
42474
|
hyperline customers-address update-customer-address --customer-id <customerId> --address-id <addressId> --name <name> --line1 <line1>
|
|
@@ -42024,7 +42539,7 @@ Examples:
|
|
|
42024
42539
|
// build/commands/generated/customers-credits.js
|
|
42025
42540
|
function registerCustomers_CreditsCommands(parent) {
|
|
42026
42541
|
const resource = parent.command("customers-credits").description("Manage customers > credits");
|
|
42027
|
-
resource.command("list").description(`List credit products across all customers with optional filters for product_id, customer_id, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.
|
|
42542
|
+
resource.command("list").description(`List credit products across all customers with optional filters for product_id, customer_id, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.equals <value>", `product_id__equals`).option("--product-id.contains <value>", `product_id__contains`).option("--product-id.starts-with <value>", `product_id__startsWith`).option("--product-id.end-with <value>", `product_id__endWith`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
42028
42543
|
Examples:
|
|
42029
42544
|
hyperline customers-credits list
|
|
42030
42545
|
hyperline customers-credits list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -42038,10 +42553,6 @@ Examples:
|
|
|
42038
42553
|
args.product_id = opts.productId;
|
|
42039
42554
|
if (opts["productId.not"] !== void 0)
|
|
42040
42555
|
args.product_id__not = opts["productId.not"];
|
|
42041
|
-
if (opts["productId.isNull"] !== void 0)
|
|
42042
|
-
args.product_id__isNull = opts["productId.isNull"];
|
|
42043
|
-
if (opts["productId.isNotNull"] !== void 0)
|
|
42044
|
-
args.product_id__isNotNull = opts["productId.isNotNull"];
|
|
42045
42556
|
if (opts["productId.equals"] !== void 0)
|
|
42046
42557
|
args.product_id__equals = opts["productId.equals"];
|
|
42047
42558
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -42054,10 +42565,6 @@ Examples:
|
|
|
42054
42565
|
args.customer_id = opts.customerId;
|
|
42055
42566
|
if (opts["customerId.not"] !== void 0)
|
|
42056
42567
|
args.customer_id__not = opts["customerId.not"];
|
|
42057
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42058
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42059
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42060
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42061
42568
|
if (opts["customerId.equals"] !== void 0)
|
|
42062
42569
|
args.customer_id__equals = opts["customerId.equals"];
|
|
42063
42570
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -42070,10 +42577,6 @@ Examples:
|
|
|
42070
42577
|
args.updated_at = opts.updatedAt;
|
|
42071
42578
|
if (opts["updatedAt.not"] !== void 0)
|
|
42072
42579
|
args.updated_at__not = opts["updatedAt.not"];
|
|
42073
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
42074
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
42075
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
42076
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
42077
42580
|
if (opts["updatedAt.equals"] !== void 0)
|
|
42078
42581
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
42079
42582
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -42097,24 +42600,18 @@ Examples:
|
|
|
42097
42600
|
"skip",
|
|
42098
42601
|
"product_id",
|
|
42099
42602
|
"product_id__not",
|
|
42100
|
-
"product_id__isNull",
|
|
42101
|
-
"product_id__isNotNull",
|
|
42102
42603
|
"product_id__equals",
|
|
42103
42604
|
"product_id__contains",
|
|
42104
42605
|
"product_id__startsWith",
|
|
42105
42606
|
"product_id__endWith",
|
|
42106
42607
|
"customer_id",
|
|
42107
42608
|
"customer_id__not",
|
|
42108
|
-
"customer_id__isNull",
|
|
42109
|
-
"customer_id__isNotNull",
|
|
42110
42609
|
"customer_id__equals",
|
|
42111
42610
|
"customer_id__contains",
|
|
42112
42611
|
"customer_id__startsWith",
|
|
42113
42612
|
"customer_id__endWith",
|
|
42114
42613
|
"updated_at",
|
|
42115
42614
|
"updated_at__not",
|
|
42116
|
-
"updated_at__isNull",
|
|
42117
|
-
"updated_at__isNotNull",
|
|
42118
42615
|
"updated_at__equals",
|
|
42119
42616
|
"updated_at__lt",
|
|
42120
42617
|
"updated_at__lte",
|
|
@@ -42387,6 +42884,88 @@ Examples:
|
|
|
42387
42884
|
});
|
|
42388
42885
|
}
|
|
42389
42886
|
|
|
42887
|
+
// build/commands/generated/customers-features.js
|
|
42888
|
+
function registerCustomers_FeaturesCommands(parent) {
|
|
42889
|
+
const resource = parent.command("customers-features").description("Manage customers > features");
|
|
42890
|
+
resource.command("resolve-customer-features").description(`Resolve feature values for a customer.`).requiredOption("--id <value>", `id parameter`).option("--at <value>", `Resolution date.`).addHelpText("after", `
|
|
42891
|
+
Examples:
|
|
42892
|
+
hyperline customers-features resolve-customer-features --id <id>
|
|
42893
|
+
hyperline customers-features resolve-customer-features --id <id> --at <at>`).action(async (opts) => {
|
|
42894
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42895
|
+
if (!ctx) {
|
|
42896
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42897
|
+
process.exit(1);
|
|
42898
|
+
}
|
|
42899
|
+
const args = {};
|
|
42900
|
+
if (opts.id !== void 0)
|
|
42901
|
+
args.id = opts.id;
|
|
42902
|
+
if (opts.at !== void 0)
|
|
42903
|
+
args.at = opts.at;
|
|
42904
|
+
await ctx.execute({
|
|
42905
|
+
method: "GET",
|
|
42906
|
+
path: "/v1/customers/{id}/features",
|
|
42907
|
+
args,
|
|
42908
|
+
queryParamKeys: ["at"]
|
|
42909
|
+
});
|
|
42910
|
+
});
|
|
42911
|
+
resource.command("set-customer-feature").description(`Set a feature override for a customer.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).requiredOption("--value", `Feature value.`).option("--reason <value>", `Reason associated with a customer feature override.`).option("--expires-at <value>", `Expiration date of a customer feature override.`).addHelpText("after", `
|
|
42912
|
+
Examples:
|
|
42913
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value
|
|
42914
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value --reason <reason> --expires-at <expires_at>
|
|
42915
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value --output json`).action(async (opts) => {
|
|
42916
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42917
|
+
if (!ctx) {
|
|
42918
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42919
|
+
process.exit(1);
|
|
42920
|
+
}
|
|
42921
|
+
const args = {};
|
|
42922
|
+
if (opts.id !== void 0)
|
|
42923
|
+
args.id = opts.id;
|
|
42924
|
+
if (opts.code !== void 0)
|
|
42925
|
+
args.code = opts.code;
|
|
42926
|
+
if (opts.reason !== void 0)
|
|
42927
|
+
args.reason = opts.reason;
|
|
42928
|
+
if (opts.expiresAt !== void 0)
|
|
42929
|
+
args.expires_at = opts.expiresAt;
|
|
42930
|
+
if (opts.value !== void 0)
|
|
42931
|
+
args.value = true;
|
|
42932
|
+
await ctx.execute({
|
|
42933
|
+
method: "PUT",
|
|
42934
|
+
path: "/v1/customers/{id}/features/{code}",
|
|
42935
|
+
args,
|
|
42936
|
+
queryParamKeys: []
|
|
42937
|
+
});
|
|
42938
|
+
});
|
|
42939
|
+
resource.command("delete-customer-feature").description(`Delete a feature override from a customer.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
42940
|
+
Examples:
|
|
42941
|
+
hyperline customers-features delete-customer-feature --id <id> --code <code>
|
|
42942
|
+
hyperline customers-features delete-customer-feature --id <id> --code <code> --output json`).action(async (opts) => {
|
|
42943
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42944
|
+
if (!ctx) {
|
|
42945
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42946
|
+
process.exit(1);
|
|
42947
|
+
}
|
|
42948
|
+
const args = {};
|
|
42949
|
+
if (opts.id !== void 0)
|
|
42950
|
+
args.id = opts.id;
|
|
42951
|
+
if (opts.code !== void 0)
|
|
42952
|
+
args.code = opts.code;
|
|
42953
|
+
if (!opts.yes) {
|
|
42954
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
42955
|
+
if (!confirmed) {
|
|
42956
|
+
process.stdout.write("Aborted.\n");
|
|
42957
|
+
return;
|
|
42958
|
+
}
|
|
42959
|
+
}
|
|
42960
|
+
await ctx.execute({
|
|
42961
|
+
method: "DELETE",
|
|
42962
|
+
path: "/v1/customers/{id}/features/{code}",
|
|
42963
|
+
args,
|
|
42964
|
+
queryParamKeys: []
|
|
42965
|
+
});
|
|
42966
|
+
});
|
|
42967
|
+
}
|
|
42968
|
+
|
|
42390
42969
|
// build/commands/generated/customers-payment-methods.js
|
|
42391
42970
|
function registerCustomers_Payment_MethodsCommands(parent) {
|
|
42392
42971
|
const resource = parent.command("customers-payment-methods").description("Manage customers > payment methods");
|
|
@@ -42806,30 +43385,246 @@ Examples:
|
|
|
42806
43385
|
process.stderr.write("Error: Not authenticated\n");
|
|
42807
43386
|
process.exit(1);
|
|
42808
43387
|
}
|
|
42809
|
-
const args = {};
|
|
42810
|
-
if (opts.exportId !== void 0)
|
|
42811
|
-
args.exportId = opts.exportId;
|
|
43388
|
+
const args = {};
|
|
43389
|
+
if (opts.exportId !== void 0)
|
|
43390
|
+
args.exportId = opts.exportId;
|
|
43391
|
+
await ctx.execute({
|
|
43392
|
+
method: "GET",
|
|
43393
|
+
path: "/v1/exports/{exportId}",
|
|
43394
|
+
args,
|
|
43395
|
+
queryParamKeys: []
|
|
43396
|
+
});
|
|
43397
|
+
});
|
|
43398
|
+
resource.command("download").description(`Download the file for a completed export as a downloadable file. The HTTP client must follow redirects. Supports CSV, JSON, XLSX and ZIP formats depending on the export type.`).requiredOption("--export-id <value>", `exportId parameter`).addHelpText("after", `
|
|
43399
|
+
Examples:
|
|
43400
|
+
hyperline exports download --export-id <exportId>`).action(async (opts) => {
|
|
43401
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43402
|
+
if (!ctx) {
|
|
43403
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43404
|
+
process.exit(1);
|
|
43405
|
+
}
|
|
43406
|
+
const args = {};
|
|
43407
|
+
if (opts.exportId !== void 0)
|
|
43408
|
+
args.exportId = opts.exportId;
|
|
43409
|
+
await ctx.execute({
|
|
43410
|
+
method: "GET",
|
|
43411
|
+
path: "/v2/exports/{exportId}/download",
|
|
43412
|
+
args,
|
|
43413
|
+
queryParamKeys: []
|
|
43414
|
+
});
|
|
43415
|
+
});
|
|
43416
|
+
}
|
|
43417
|
+
|
|
43418
|
+
// build/commands/generated/features.js
|
|
43419
|
+
function registerFeaturesCommands(parent) {
|
|
43420
|
+
const resource = parent.command("features").description("Manage features");
|
|
43421
|
+
resource.command("list").description(`List feature definitions.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--code <value>", `code`).option("--code.not <value>", `code__not`).option("--code.equals <value>", `code__equals`).option("--code.contains <value>", `code__contains`).option("--code.starts-with <value>", `code__startsWith`).option("--code.end-with <value>", `code__endWith`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--search <value>", `search`).addHelpText("after", `
|
|
43422
|
+
Examples:
|
|
43423
|
+
hyperline features list
|
|
43424
|
+
hyperline features list --take <take> --code <code>`).action(async (opts) => {
|
|
43425
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43426
|
+
if (!ctx) {
|
|
43427
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43428
|
+
process.exit(1);
|
|
43429
|
+
}
|
|
43430
|
+
const args = {};
|
|
43431
|
+
if (opts.code !== void 0)
|
|
43432
|
+
args.code = opts.code;
|
|
43433
|
+
if (opts["code.not"] !== void 0)
|
|
43434
|
+
args.code__not = opts["code.not"];
|
|
43435
|
+
if (opts["code.equals"] !== void 0)
|
|
43436
|
+
args.code__equals = opts["code.equals"];
|
|
43437
|
+
if (opts["code.contains"] !== void 0)
|
|
43438
|
+
args.code__contains = opts["code.contains"];
|
|
43439
|
+
if (opts["code.startsWith"] !== void 0)
|
|
43440
|
+
args.code__startsWith = opts["code.startsWith"];
|
|
43441
|
+
if (opts["code.endWith"] !== void 0)
|
|
43442
|
+
args.code__endWith = opts["code.endWith"];
|
|
43443
|
+
if (opts.name !== void 0)
|
|
43444
|
+
args.name = opts.name;
|
|
43445
|
+
if (opts["name.not"] !== void 0)
|
|
43446
|
+
args.name__not = opts["name.not"];
|
|
43447
|
+
if (opts["name.equals"] !== void 0)
|
|
43448
|
+
args.name__equals = opts["name.equals"];
|
|
43449
|
+
if (opts["name.contains"] !== void 0)
|
|
43450
|
+
args.name__contains = opts["name.contains"];
|
|
43451
|
+
if (opts["name.startsWith"] !== void 0)
|
|
43452
|
+
args.name__startsWith = opts["name.startsWith"];
|
|
43453
|
+
if (opts["name.endWith"] !== void 0)
|
|
43454
|
+
args.name__endWith = opts["name.endWith"];
|
|
43455
|
+
if (opts.status !== void 0)
|
|
43456
|
+
args.status = opts.status;
|
|
43457
|
+
if (opts["status.in"] !== void 0)
|
|
43458
|
+
args.status__in = opts["status.in"];
|
|
43459
|
+
if (opts.search !== void 0)
|
|
43460
|
+
args.search = opts.search;
|
|
43461
|
+
if (opts.take !== void 0)
|
|
43462
|
+
args.take = Number(opts.take);
|
|
43463
|
+
if (opts.skip !== void 0)
|
|
43464
|
+
args.skip = Number(opts.skip);
|
|
43465
|
+
await ctx.execute({
|
|
43466
|
+
method: "GET",
|
|
43467
|
+
path: "/v1/features",
|
|
43468
|
+
args,
|
|
43469
|
+
queryParamKeys: [
|
|
43470
|
+
"take",
|
|
43471
|
+
"skip",
|
|
43472
|
+
"code",
|
|
43473
|
+
"code__not",
|
|
43474
|
+
"code__equals",
|
|
43475
|
+
"code__contains",
|
|
43476
|
+
"code__startsWith",
|
|
43477
|
+
"code__endWith",
|
|
43478
|
+
"name",
|
|
43479
|
+
"name__not",
|
|
43480
|
+
"name__equals",
|
|
43481
|
+
"name__contains",
|
|
43482
|
+
"name__startsWith",
|
|
43483
|
+
"name__endWith",
|
|
43484
|
+
"status",
|
|
43485
|
+
"status__in",
|
|
43486
|
+
"search"
|
|
43487
|
+
]
|
|
43488
|
+
});
|
|
43489
|
+
});
|
|
43490
|
+
resource.command("create").description(`Create a feature definition.`).requiredOption("--code <value>", `Feature code.`).requiredOption("--name <value>", `Feature name.`).option("--description <value>", `Feature description.`).requiredOption("--value-type <value>", `Type of feature value.`).requiredOption("--default-value", `Default value used when no product or customer feature value applies. Null means no default.`).option("--resolution-strategy <value>", `Strategy used to combine multiple product feature values for number features.`).addHelpText("after", `
|
|
43491
|
+
Examples:
|
|
43492
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value
|
|
43493
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value --description <description> --resolution-strategy <resolution_strategy>
|
|
43494
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value --output json`).action(async (opts) => {
|
|
43495
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43496
|
+
if (!ctx) {
|
|
43497
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43498
|
+
process.exit(1);
|
|
43499
|
+
}
|
|
43500
|
+
const args = {};
|
|
43501
|
+
if (opts.code !== void 0)
|
|
43502
|
+
args.code = opts.code;
|
|
43503
|
+
if (opts.name !== void 0)
|
|
43504
|
+
args.name = opts.name;
|
|
43505
|
+
if (opts.description !== void 0)
|
|
43506
|
+
args.description = opts.description;
|
|
43507
|
+
if (opts.valueType !== void 0)
|
|
43508
|
+
args.value_type = opts.valueType;
|
|
43509
|
+
if (opts.resolutionStrategy !== void 0)
|
|
43510
|
+
args.resolution_strategy = opts.resolutionStrategy;
|
|
43511
|
+
if (opts.defaultValue !== void 0)
|
|
43512
|
+
args.default_value = true;
|
|
43513
|
+
await ctx.execute({
|
|
43514
|
+
method: "POST",
|
|
43515
|
+
path: "/v1/features",
|
|
43516
|
+
args,
|
|
43517
|
+
queryParamKeys: []
|
|
43518
|
+
});
|
|
43519
|
+
});
|
|
43520
|
+
resource.command("get").description(`Retrieve a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
43521
|
+
Examples:
|
|
43522
|
+
hyperline features get --code <code>`).action(async (opts) => {
|
|
43523
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43524
|
+
if (!ctx) {
|
|
43525
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43526
|
+
process.exit(1);
|
|
43527
|
+
}
|
|
43528
|
+
const args = {};
|
|
43529
|
+
if (opts.code !== void 0)
|
|
43530
|
+
args.code = opts.code;
|
|
43531
|
+
await ctx.execute({
|
|
43532
|
+
method: "GET",
|
|
43533
|
+
path: "/v1/features/{code}",
|
|
43534
|
+
args,
|
|
43535
|
+
queryParamKeys: []
|
|
43536
|
+
});
|
|
43537
|
+
});
|
|
43538
|
+
resource.command("update").description(`Update a feature definition.`).requiredOption("--code <value>", `code parameter`).option("--name <value>", `Feature name.`).option("--description <value>", `Feature description.`).option("--value-type <value>", `value_type`).option("--default-value", `Default value used when no product or customer feature value applies. Null means no default.`).option("--resolution-strategy <value>", `Strategy used to combine multiple product feature values for number features.`).addHelpText("after", `
|
|
43539
|
+
Examples:
|
|
43540
|
+
hyperline features update --code <code>
|
|
43541
|
+
hyperline features update --code <code> --name <name> --description <description>
|
|
43542
|
+
hyperline features update --code <code> --output json`).action(async (opts) => {
|
|
43543
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43544
|
+
if (!ctx) {
|
|
43545
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43546
|
+
process.exit(1);
|
|
43547
|
+
}
|
|
43548
|
+
const args = {};
|
|
43549
|
+
if (opts.code !== void 0)
|
|
43550
|
+
args.code = opts.code;
|
|
43551
|
+
if (opts.name !== void 0)
|
|
43552
|
+
args.name = opts.name;
|
|
43553
|
+
if (opts.description !== void 0)
|
|
43554
|
+
args.description = opts.description;
|
|
43555
|
+
if (opts.valueType !== void 0)
|
|
43556
|
+
args.value_type = opts.valueType;
|
|
43557
|
+
if (opts.resolutionStrategy !== void 0)
|
|
43558
|
+
args.resolution_strategy = opts.resolutionStrategy;
|
|
43559
|
+
if (opts.defaultValue !== void 0)
|
|
43560
|
+
args.default_value = true;
|
|
43561
|
+
await ctx.execute({
|
|
43562
|
+
method: "PUT",
|
|
43563
|
+
path: "/v1/features/{code}",
|
|
43564
|
+
args,
|
|
43565
|
+
queryParamKeys: []
|
|
43566
|
+
});
|
|
43567
|
+
});
|
|
43568
|
+
resource.command("archive").description(`Archive a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
43569
|
+
Examples:
|
|
43570
|
+
hyperline features archive --code <code>
|
|
43571
|
+
hyperline features archive --code <code> --output json`).action(async (opts) => {
|
|
43572
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43573
|
+
if (!ctx) {
|
|
43574
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43575
|
+
process.exit(1);
|
|
43576
|
+
}
|
|
43577
|
+
const args = {};
|
|
43578
|
+
if (opts.code !== void 0)
|
|
43579
|
+
args.code = opts.code;
|
|
43580
|
+
await ctx.execute({
|
|
43581
|
+
method: "PUT",
|
|
43582
|
+
path: "/v1/features/{code}/archive",
|
|
43583
|
+
args,
|
|
43584
|
+
queryParamKeys: []
|
|
43585
|
+
});
|
|
43586
|
+
});
|
|
43587
|
+
resource.command("delete").description(`Delete an archived feature definition that is not in use.`).requiredOption("--code <value>", `code parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
43588
|
+
Examples:
|
|
43589
|
+
hyperline features delete --code <code>
|
|
43590
|
+
hyperline features delete --code <code> --output json`).action(async (opts) => {
|
|
43591
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43592
|
+
if (!ctx) {
|
|
43593
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43594
|
+
process.exit(1);
|
|
43595
|
+
}
|
|
43596
|
+
const args = {};
|
|
43597
|
+
if (opts.code !== void 0)
|
|
43598
|
+
args.code = opts.code;
|
|
43599
|
+
if (!opts.yes) {
|
|
43600
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
43601
|
+
if (!confirmed) {
|
|
43602
|
+
process.stdout.write("Aborted.\n");
|
|
43603
|
+
return;
|
|
43604
|
+
}
|
|
43605
|
+
}
|
|
42812
43606
|
await ctx.execute({
|
|
42813
|
-
method: "
|
|
42814
|
-
path: "/v1/
|
|
43607
|
+
method: "DELETE",
|
|
43608
|
+
path: "/v1/features/{code}",
|
|
42815
43609
|
args,
|
|
42816
43610
|
queryParamKeys: []
|
|
42817
43611
|
});
|
|
42818
43612
|
});
|
|
42819
|
-
resource.command("
|
|
43613
|
+
resource.command("unarchive").description(`Unarchive a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
42820
43614
|
Examples:
|
|
42821
|
-
hyperline
|
|
43615
|
+
hyperline features unarchive --code <code>
|
|
43616
|
+
hyperline features unarchive --code <code> --output json`).action(async (opts) => {
|
|
42822
43617
|
const ctx = resource.parent?.opts()._ctx;
|
|
42823
43618
|
if (!ctx) {
|
|
42824
43619
|
process.stderr.write("Error: Not authenticated\n");
|
|
42825
43620
|
process.exit(1);
|
|
42826
43621
|
}
|
|
42827
43622
|
const args = {};
|
|
42828
|
-
if (opts.
|
|
42829
|
-
args.
|
|
43623
|
+
if (opts.code !== void 0)
|
|
43624
|
+
args.code = opts.code;
|
|
42830
43625
|
await ctx.execute({
|
|
42831
|
-
method: "
|
|
42832
|
-
path: "/
|
|
43626
|
+
method: "PUT",
|
|
43627
|
+
path: "/v1/features/{code}/unarchive",
|
|
42833
43628
|
args,
|
|
42834
43629
|
queryParamKeys: []
|
|
42835
43630
|
});
|
|
@@ -42857,7 +43652,7 @@ Examples:
|
|
|
42857
43652
|
queryParamKeys: []
|
|
42858
43653
|
});
|
|
42859
43654
|
});
|
|
42860
|
-
resource.command("list").description(`List uploaded files with optional filters for name and customer_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.
|
|
43655
|
+
resource.command("list").description(`List uploaded files with optional filters for name and customer_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--customer-id.is-null <value>", `customer_id__isNull`).option("--customer-id.is-not-null <value>", `customer_id__isNotNull`).addHelpText("after", `
|
|
42861
43656
|
Examples:
|
|
42862
43657
|
hyperline files list
|
|
42863
43658
|
hyperline files list --take <take> --name <name>`).action(async (opts) => {
|
|
@@ -42871,10 +43666,6 @@ Examples:
|
|
|
42871
43666
|
args.name = opts.name;
|
|
42872
43667
|
if (opts["name.not"] !== void 0)
|
|
42873
43668
|
args.name__not = opts["name.not"];
|
|
42874
|
-
if (opts["name.isNull"] !== void 0)
|
|
42875
|
-
args.name__isNull = opts["name.isNull"];
|
|
42876
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
42877
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
42878
43669
|
if (opts["name.equals"] !== void 0)
|
|
42879
43670
|
args.name__equals = opts["name.equals"];
|
|
42880
43671
|
if (opts["name.contains"] !== void 0)
|
|
@@ -42887,10 +43678,6 @@ Examples:
|
|
|
42887
43678
|
args.customer_id = opts.customerId;
|
|
42888
43679
|
if (opts["customerId.not"] !== void 0)
|
|
42889
43680
|
args.customer_id__not = opts["customerId.not"];
|
|
42890
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42891
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42892
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42893
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42894
43681
|
if (opts["customerId.equals"] !== void 0)
|
|
42895
43682
|
args.customer_id__equals = opts["customerId.equals"];
|
|
42896
43683
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -42899,6 +43686,10 @@ Examples:
|
|
|
42899
43686
|
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
42900
43687
|
if (opts["customerId.endWith"] !== void 0)
|
|
42901
43688
|
args.customer_id__endWith = opts["customerId.endWith"];
|
|
43689
|
+
if (opts["customerId.isNull"] !== void 0)
|
|
43690
|
+
args.customer_id__isNull = opts["customerId.isNull"];
|
|
43691
|
+
if (opts["customerId.isNotNull"] !== void 0)
|
|
43692
|
+
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42902
43693
|
if (opts.take !== void 0)
|
|
42903
43694
|
args.take = Number(opts.take);
|
|
42904
43695
|
if (opts.skip !== void 0)
|
|
@@ -42912,27 +43703,25 @@ Examples:
|
|
|
42912
43703
|
"skip",
|
|
42913
43704
|
"name",
|
|
42914
43705
|
"name__not",
|
|
42915
|
-
"name__isNull",
|
|
42916
|
-
"name__isNotNull",
|
|
42917
43706
|
"name__equals",
|
|
42918
43707
|
"name__contains",
|
|
42919
43708
|
"name__startsWith",
|
|
42920
43709
|
"name__endWith",
|
|
42921
43710
|
"customer_id",
|
|
42922
43711
|
"customer_id__not",
|
|
42923
|
-
"customer_id__isNull",
|
|
42924
|
-
"customer_id__isNotNull",
|
|
42925
43712
|
"customer_id__equals",
|
|
42926
43713
|
"customer_id__contains",
|
|
42927
43714
|
"customer_id__startsWith",
|
|
42928
|
-
"customer_id__endWith"
|
|
43715
|
+
"customer_id__endWith",
|
|
43716
|
+
"customer_id__isNull",
|
|
43717
|
+
"customer_id__isNotNull"
|
|
42929
43718
|
]
|
|
42930
43719
|
});
|
|
42931
43720
|
});
|
|
42932
|
-
resource.command("create").description(`Upload a new file (max 10MB). Requires multipart form data with a file field and metadata (name and customer_id).`).requiredOption("--name <value>", `Name of the file to be uploaded.`).requiredOption("--customer-id <value>", `ID of the customer to link the file to.`).addHelpText("after", `
|
|
43721
|
+
resource.command("create").description(`Upload a new file (max 10MB). Requires multipart form data with a file field and metadata (name and customer_id).`).requiredOption("--name <value>", `Name of the file to be uploaded.`).requiredOption("--customer-id <value>", `ID of the customer to link the file to.`).requiredOption("--file <path>", `Path of the local file to upload (sends a multipart request)`).addHelpText("after", `
|
|
42933
43722
|
Examples:
|
|
42934
|
-
hyperline files create --name <name> --customer-id <customer_id>
|
|
42935
|
-
hyperline files create --name <name> --customer-id <customer_id> --output json`).action(async (opts) => {
|
|
43723
|
+
hyperline files create --name <name> --customer-id <customer_id> --file <path>
|
|
43724
|
+
hyperline files create --name <name> --customer-id <customer_id> --file <path> --output json`).action(async (opts) => {
|
|
42936
43725
|
const ctx = resource.parent?.opts()._ctx;
|
|
42937
43726
|
if (!ctx) {
|
|
42938
43727
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -42943,11 +43732,15 @@ Examples:
|
|
|
42943
43732
|
args.name = opts.name;
|
|
42944
43733
|
if (opts.customerId !== void 0)
|
|
42945
43734
|
args.customer_id = opts.customerId;
|
|
43735
|
+
const files = {};
|
|
43736
|
+
if (opts.file !== void 0)
|
|
43737
|
+
files.file = [opts.file].flat();
|
|
42946
43738
|
await ctx.execute({
|
|
42947
43739
|
method: "POST",
|
|
42948
43740
|
path: "/v1/files",
|
|
42949
43741
|
args,
|
|
42950
|
-
queryParamKeys: []
|
|
43742
|
+
queryParamKeys: [],
|
|
43743
|
+
files
|
|
42951
43744
|
});
|
|
42952
43745
|
});
|
|
42953
43746
|
resource.command("delete").description(`Permanently delete a file by ID.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
@@ -42981,7 +43774,7 @@ Examples:
|
|
|
42981
43774
|
// build/commands/generated/invoices.js
|
|
42982
43775
|
function registerInvoicesCommands(parent) {
|
|
42983
43776
|
const resource = parent.command("invoices").description("Manage invoices");
|
|
42984
|
-
resource.command("list").description(`List invoices with filters for type, status, customer_id, customer_external_id, subscription_id, invoicing_entity_id, invoice_number, period dates, emission_date, due_date, and updated_at. Sortable by created_at or emitted_at. By default, open invoices are excluded. Paginated with limit/cursor.`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--type <value>", `type`).option("--type.in <value>", `type__in`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.
|
|
43777
|
+
resource.command("list").description(`List invoices with filters for type, status, customer_id, customer_external_id, subscription_id, invoicing_entity_id, invoice_number, period dates, emission_date, due_date, and updated_at. Sortable by created_at or emitted_at. By default, open invoices are excluded. Paginated with limit/cursor.`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--type <value>", `type`).option("--type.in <value>", `type__in`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--customer-external-id <value>", `customer_external_id`).option("--subscription-id <value>", `subscription_id`).option("--subscription-id.not <value>", `subscription_id__not`).option("--subscription-id.equals <value>", `subscription_id__equals`).option("--subscription-id.contains <value>", `subscription_id__contains`).option("--subscription-id.starts-with <value>", `subscription_id__startsWith`).option("--subscription-id.end-with <value>", `subscription_id__endWith`).option("--subscription-id.is-null <value>", `subscription_id__isNull`).option("--subscription-id.is-not-null <value>", `subscription_id__isNotNull`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--invoicing-entity-id.not <value>", `invoicing_entity_id__not`).option("--invoicing-entity-id.equals <value>", `invoicing_entity_id__equals`).option("--invoicing-entity-id.contains <value>", `invoicing_entity_id__contains`).option("--invoicing-entity-id.starts-with <value>", `invoicing_entity_id__startsWith`).option("--invoicing-entity-id.end-with <value>", `invoicing_entity_id__endWith`).option("--invoice-number <value>", `invoice_number`).option("--invoice-number.not <value>", `invoice_number__not`).option("--invoice-number.equals <value>", `invoice_number__equals`).option("--invoice-number.contains <value>", `invoice_number__contains`).option("--invoice-number.starts-with <value>", `invoice_number__startsWith`).option("--invoice-number.end-with <value>", `invoice_number__endWith`).option("--original-invoice-id <value>", `original_invoice_id`).option("--original-invoice-id.not <value>", `original_invoice_id__not`).option("--original-invoice-id.equals <value>", `original_invoice_id__equals`).option("--original-invoice-id.contains <value>", `original_invoice_id__contains`).option("--original-invoice-id.starts-with <value>", `original_invoice_id__startsWith`).option("--original-invoice-id.end-with <value>", `original_invoice_id__endWith`).option("--original-invoice-id.is-null <value>", `original_invoice_id__isNull`).option("--original-invoice-id.is-not-null <value>", `original_invoice_id__isNotNull`).option("--original-invoice-number <value>", `original_invoice_number`).option("--original-invoice-number.not <value>", `original_invoice_number__not`).option("--original-invoice-number.equals <value>", `original_invoice_number__equals`).option("--original-invoice-number.contains <value>", `original_invoice_number__contains`).option("--original-invoice-number.starts-with <value>", `original_invoice_number__startsWith`).option("--original-invoice-number.end-with <value>", `original_invoice_number__endWith`).option("--original-invoice-number.is-null <value>", `original_invoice_number__isNull`).option("--original-invoice-number.is-not-null <value>", `original_invoice_number__isNotNull`).option("--line-item-id <value>", `line_item_id`).option("--period-start <value>", `period_start`).option("--period-start.not <value>", `period_start__not`).option("--period-start.equals <value>", `period_start__equals`).option("--period-start.lt <value>", `period_start__lt`).option("--period-start.lte <value>", `period_start__lte`).option("--period-start.gt <value>", `period_start__gt`).option("--period-start.gte <value>", `period_start__gte`).option("--period-start.is-null <value>", `period_start__isNull`).option("--period-start.is-not-null <value>", `period_start__isNotNull`).option("--period-end <value>", `period_end`).option("--period-end.not <value>", `period_end__not`).option("--period-end.equals <value>", `period_end__equals`).option("--period-end.lt <value>", `period_end__lt`).option("--period-end.lte <value>", `period_end__lte`).option("--period-end.gt <value>", `period_end__gt`).option("--period-end.gte <value>", `period_end__gte`).option("--period-end.is-null <value>", `period_end__isNull`).option("--period-end.is-not-null <value>", `period_end__isNotNull`).option("--issued-at <value>", `issued_at`).option("--issued-at.not <value>", `issued_at__not`).option("--issued-at.equals <value>", `issued_at__equals`).option("--issued-at.lt <value>", `issued_at__lt`).option("--issued-at.lte <value>", `issued_at__lte`).option("--issued-at.gt <value>", `issued_at__gt`).option("--issued-at.gte <value>", `issued_at__gte`).option("--due-at <value>", `due_at`).option("--due-at.not <value>", `due_at__not`).option("--due-at.equals <value>", `due_at__equals`).option("--due-at.lt <value>", `due_at__lt`).option("--due-at.lte <value>", `due_at__lte`).option("--due-at.gt <value>", `due_at__gt`).option("--due-at.gte <value>", `due_at__gte`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
42985
43778
|
Examples:
|
|
42986
43779
|
hyperline invoices list
|
|
42987
43780
|
hyperline invoices list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -43011,10 +43804,6 @@ Examples:
|
|
|
43011
43804
|
args.customer_id = opts.customerId;
|
|
43012
43805
|
if (opts["customerId.not"] !== void 0)
|
|
43013
43806
|
args.customer_id__not = opts["customerId.not"];
|
|
43014
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
43015
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
43016
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
43017
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
43018
43807
|
if (opts["customerId.equals"] !== void 0)
|
|
43019
43808
|
args.customer_id__equals = opts["customerId.equals"];
|
|
43020
43809
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -43029,10 +43818,6 @@ Examples:
|
|
|
43029
43818
|
args.subscription_id = opts.subscriptionId;
|
|
43030
43819
|
if (opts["subscriptionId.not"] !== void 0)
|
|
43031
43820
|
args.subscription_id__not = opts["subscriptionId.not"];
|
|
43032
|
-
if (opts["subscriptionId.isNull"] !== void 0)
|
|
43033
|
-
args.subscription_id__isNull = opts["subscriptionId.isNull"];
|
|
43034
|
-
if (opts["subscriptionId.isNotNull"] !== void 0)
|
|
43035
|
-
args.subscription_id__isNotNull = opts["subscriptionId.isNotNull"];
|
|
43036
43821
|
if (opts["subscriptionId.equals"] !== void 0)
|
|
43037
43822
|
args.subscription_id__equals = opts["subscriptionId.equals"];
|
|
43038
43823
|
if (opts["subscriptionId.contains"] !== void 0)
|
|
@@ -43041,14 +43826,14 @@ Examples:
|
|
|
43041
43826
|
args.subscription_id__startsWith = opts["subscriptionId.startsWith"];
|
|
43042
43827
|
if (opts["subscriptionId.endWith"] !== void 0)
|
|
43043
43828
|
args.subscription_id__endWith = opts["subscriptionId.endWith"];
|
|
43829
|
+
if (opts["subscriptionId.isNull"] !== void 0)
|
|
43830
|
+
args.subscription_id__isNull = opts["subscriptionId.isNull"];
|
|
43831
|
+
if (opts["subscriptionId.isNotNull"] !== void 0)
|
|
43832
|
+
args.subscription_id__isNotNull = opts["subscriptionId.isNotNull"];
|
|
43044
43833
|
if (opts.invoicingEntityId !== void 0)
|
|
43045
43834
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
43046
43835
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
43047
43836
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
43048
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
43049
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
43050
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
43051
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
43052
43837
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
43053
43838
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
43054
43839
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -43061,10 +43846,6 @@ Examples:
|
|
|
43061
43846
|
args.invoice_number = opts.invoiceNumber;
|
|
43062
43847
|
if (opts["invoiceNumber.not"] !== void 0)
|
|
43063
43848
|
args.invoice_number__not = opts["invoiceNumber.not"];
|
|
43064
|
-
if (opts["invoiceNumber.isNull"] !== void 0)
|
|
43065
|
-
args.invoice_number__isNull = opts["invoiceNumber.isNull"];
|
|
43066
|
-
if (opts["invoiceNumber.isNotNull"] !== void 0)
|
|
43067
|
-
args.invoice_number__isNotNull = opts["invoiceNumber.isNotNull"];
|
|
43068
43849
|
if (opts["invoiceNumber.equals"] !== void 0)
|
|
43069
43850
|
args.invoice_number__equals = opts["invoiceNumber.equals"];
|
|
43070
43851
|
if (opts["invoiceNumber.contains"] !== void 0)
|
|
@@ -43077,10 +43858,6 @@ Examples:
|
|
|
43077
43858
|
args.original_invoice_id = opts.originalInvoiceId;
|
|
43078
43859
|
if (opts["originalInvoiceId.not"] !== void 0)
|
|
43079
43860
|
args.original_invoice_id__not = opts["originalInvoiceId.not"];
|
|
43080
|
-
if (opts["originalInvoiceId.isNull"] !== void 0)
|
|
43081
|
-
args.original_invoice_id__isNull = opts["originalInvoiceId.isNull"];
|
|
43082
|
-
if (opts["originalInvoiceId.isNotNull"] !== void 0)
|
|
43083
|
-
args.original_invoice_id__isNotNull = opts["originalInvoiceId.isNotNull"];
|
|
43084
43861
|
if (opts["originalInvoiceId.equals"] !== void 0)
|
|
43085
43862
|
args.original_invoice_id__equals = opts["originalInvoiceId.equals"];
|
|
43086
43863
|
if (opts["originalInvoiceId.contains"] !== void 0)
|
|
@@ -43089,14 +43866,14 @@ Examples:
|
|
|
43089
43866
|
args.original_invoice_id__startsWith = opts["originalInvoiceId.startsWith"];
|
|
43090
43867
|
if (opts["originalInvoiceId.endWith"] !== void 0)
|
|
43091
43868
|
args.original_invoice_id__endWith = opts["originalInvoiceId.endWith"];
|
|
43869
|
+
if (opts["originalInvoiceId.isNull"] !== void 0)
|
|
43870
|
+
args.original_invoice_id__isNull = opts["originalInvoiceId.isNull"];
|
|
43871
|
+
if (opts["originalInvoiceId.isNotNull"] !== void 0)
|
|
43872
|
+
args.original_invoice_id__isNotNull = opts["originalInvoiceId.isNotNull"];
|
|
43092
43873
|
if (opts.originalInvoiceNumber !== void 0)
|
|
43093
43874
|
args.original_invoice_number = opts.originalInvoiceNumber;
|
|
43094
43875
|
if (opts["originalInvoiceNumber.not"] !== void 0)
|
|
43095
43876
|
args.original_invoice_number__not = opts["originalInvoiceNumber.not"];
|
|
43096
|
-
if (opts["originalInvoiceNumber.isNull"] !== void 0)
|
|
43097
|
-
args.original_invoice_number__isNull = opts["originalInvoiceNumber.isNull"];
|
|
43098
|
-
if (opts["originalInvoiceNumber.isNotNull"] !== void 0)
|
|
43099
|
-
args.original_invoice_number__isNotNull = opts["originalInvoiceNumber.isNotNull"];
|
|
43100
43877
|
if (opts["originalInvoiceNumber.equals"] !== void 0)
|
|
43101
43878
|
args.original_invoice_number__equals = opts["originalInvoiceNumber.equals"];
|
|
43102
43879
|
if (opts["originalInvoiceNumber.contains"] !== void 0)
|
|
@@ -43105,16 +43882,16 @@ Examples:
|
|
|
43105
43882
|
args.original_invoice_number__startsWith = opts["originalInvoiceNumber.startsWith"];
|
|
43106
43883
|
if (opts["originalInvoiceNumber.endWith"] !== void 0)
|
|
43107
43884
|
args.original_invoice_number__endWith = opts["originalInvoiceNumber.endWith"];
|
|
43885
|
+
if (opts["originalInvoiceNumber.isNull"] !== void 0)
|
|
43886
|
+
args.original_invoice_number__isNull = opts["originalInvoiceNumber.isNull"];
|
|
43887
|
+
if (opts["originalInvoiceNumber.isNotNull"] !== void 0)
|
|
43888
|
+
args.original_invoice_number__isNotNull = opts["originalInvoiceNumber.isNotNull"];
|
|
43108
43889
|
if (opts.lineItemId !== void 0)
|
|
43109
43890
|
args.line_item_id = opts.lineItemId;
|
|
43110
43891
|
if (opts.periodStart !== void 0)
|
|
43111
43892
|
args.period_start = opts.periodStart;
|
|
43112
43893
|
if (opts["periodStart.not"] !== void 0)
|
|
43113
43894
|
args.period_start__not = opts["periodStart.not"];
|
|
43114
|
-
if (opts["periodStart.isNull"] !== void 0)
|
|
43115
|
-
args.period_start__isNull = opts["periodStart.isNull"];
|
|
43116
|
-
if (opts["periodStart.isNotNull"] !== void 0)
|
|
43117
|
-
args.period_start__isNotNull = opts["periodStart.isNotNull"];
|
|
43118
43895
|
if (opts["periodStart.equals"] !== void 0)
|
|
43119
43896
|
args.period_start__equals = opts["periodStart.equals"];
|
|
43120
43897
|
if (opts["periodStart.lt"] !== void 0)
|
|
@@ -43125,14 +43902,14 @@ Examples:
|
|
|
43125
43902
|
args.period_start__gt = opts["periodStart.gt"];
|
|
43126
43903
|
if (opts["periodStart.gte"] !== void 0)
|
|
43127
43904
|
args.period_start__gte = opts["periodStart.gte"];
|
|
43905
|
+
if (opts["periodStart.isNull"] !== void 0)
|
|
43906
|
+
args.period_start__isNull = opts["periodStart.isNull"];
|
|
43907
|
+
if (opts["periodStart.isNotNull"] !== void 0)
|
|
43908
|
+
args.period_start__isNotNull = opts["periodStart.isNotNull"];
|
|
43128
43909
|
if (opts.periodEnd !== void 0)
|
|
43129
43910
|
args.period_end = opts.periodEnd;
|
|
43130
43911
|
if (opts["periodEnd.not"] !== void 0)
|
|
43131
43912
|
args.period_end__not = opts["periodEnd.not"];
|
|
43132
|
-
if (opts["periodEnd.isNull"] !== void 0)
|
|
43133
|
-
args.period_end__isNull = opts["periodEnd.isNull"];
|
|
43134
|
-
if (opts["periodEnd.isNotNull"] !== void 0)
|
|
43135
|
-
args.period_end__isNotNull = opts["periodEnd.isNotNull"];
|
|
43136
43913
|
if (opts["periodEnd.equals"] !== void 0)
|
|
43137
43914
|
args.period_end__equals = opts["periodEnd.equals"];
|
|
43138
43915
|
if (opts["periodEnd.lt"] !== void 0)
|
|
@@ -43143,14 +43920,14 @@ Examples:
|
|
|
43143
43920
|
args.period_end__gt = opts["periodEnd.gt"];
|
|
43144
43921
|
if (opts["periodEnd.gte"] !== void 0)
|
|
43145
43922
|
args.period_end__gte = opts["periodEnd.gte"];
|
|
43923
|
+
if (opts["periodEnd.isNull"] !== void 0)
|
|
43924
|
+
args.period_end__isNull = opts["periodEnd.isNull"];
|
|
43925
|
+
if (opts["periodEnd.isNotNull"] !== void 0)
|
|
43926
|
+
args.period_end__isNotNull = opts["periodEnd.isNotNull"];
|
|
43146
43927
|
if (opts.issuedAt !== void 0)
|
|
43147
43928
|
args.issued_at = opts.issuedAt;
|
|
43148
43929
|
if (opts["issuedAt.not"] !== void 0)
|
|
43149
43930
|
args.issued_at__not = opts["issuedAt.not"];
|
|
43150
|
-
if (opts["issuedAt.isNull"] !== void 0)
|
|
43151
|
-
args.issued_at__isNull = opts["issuedAt.isNull"];
|
|
43152
|
-
if (opts["issuedAt.isNotNull"] !== void 0)
|
|
43153
|
-
args.issued_at__isNotNull = opts["issuedAt.isNotNull"];
|
|
43154
43931
|
if (opts["issuedAt.equals"] !== void 0)
|
|
43155
43932
|
args.issued_at__equals = opts["issuedAt.equals"];
|
|
43156
43933
|
if (opts["issuedAt.lt"] !== void 0)
|
|
@@ -43165,10 +43942,6 @@ Examples:
|
|
|
43165
43942
|
args.due_at = opts.dueAt;
|
|
43166
43943
|
if (opts["dueAt.not"] !== void 0)
|
|
43167
43944
|
args.due_at__not = opts["dueAt.not"];
|
|
43168
|
-
if (opts["dueAt.isNull"] !== void 0)
|
|
43169
|
-
args.due_at__isNull = opts["dueAt.isNull"];
|
|
43170
|
-
if (opts["dueAt.isNotNull"] !== void 0)
|
|
43171
|
-
args.due_at__isNotNull = opts["dueAt.isNotNull"];
|
|
43172
43945
|
if (opts["dueAt.equals"] !== void 0)
|
|
43173
43946
|
args.due_at__equals = opts["dueAt.equals"];
|
|
43174
43947
|
if (opts["dueAt.lt"] !== void 0)
|
|
@@ -43183,10 +43956,6 @@ Examples:
|
|
|
43183
43956
|
args.updated_at = opts.updatedAt;
|
|
43184
43957
|
if (opts["updatedAt.not"] !== void 0)
|
|
43185
43958
|
args.updated_at__not = opts["updatedAt.not"];
|
|
43186
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
43187
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
43188
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
43189
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
43190
43959
|
if (opts["updatedAt.equals"] !== void 0)
|
|
43191
43960
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
43192
43961
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -43215,8 +43984,6 @@ Examples:
|
|
|
43215
43984
|
"status__in",
|
|
43216
43985
|
"customer_id",
|
|
43217
43986
|
"customer_id__not",
|
|
43218
|
-
"customer_id__isNull",
|
|
43219
|
-
"customer_id__isNotNull",
|
|
43220
43987
|
"customer_id__equals",
|
|
43221
43988
|
"customer_id__contains",
|
|
43222
43989
|
"customer_id__startsWith",
|
|
@@ -43224,67 +43991,61 @@ Examples:
|
|
|
43224
43991
|
"customer_external_id",
|
|
43225
43992
|
"subscription_id",
|
|
43226
43993
|
"subscription_id__not",
|
|
43227
|
-
"subscription_id__isNull",
|
|
43228
|
-
"subscription_id__isNotNull",
|
|
43229
43994
|
"subscription_id__equals",
|
|
43230
43995
|
"subscription_id__contains",
|
|
43231
43996
|
"subscription_id__startsWith",
|
|
43232
43997
|
"subscription_id__endWith",
|
|
43998
|
+
"subscription_id__isNull",
|
|
43999
|
+
"subscription_id__isNotNull",
|
|
43233
44000
|
"invoicing_entity_id",
|
|
43234
44001
|
"invoicing_entity_id__not",
|
|
43235
|
-
"invoicing_entity_id__isNull",
|
|
43236
|
-
"invoicing_entity_id__isNotNull",
|
|
43237
44002
|
"invoicing_entity_id__equals",
|
|
43238
44003
|
"invoicing_entity_id__contains",
|
|
43239
44004
|
"invoicing_entity_id__startsWith",
|
|
43240
44005
|
"invoicing_entity_id__endWith",
|
|
43241
44006
|
"invoice_number",
|
|
43242
44007
|
"invoice_number__not",
|
|
43243
|
-
"invoice_number__isNull",
|
|
43244
|
-
"invoice_number__isNotNull",
|
|
43245
44008
|
"invoice_number__equals",
|
|
43246
44009
|
"invoice_number__contains",
|
|
43247
44010
|
"invoice_number__startsWith",
|
|
43248
44011
|
"invoice_number__endWith",
|
|
43249
44012
|
"original_invoice_id",
|
|
43250
44013
|
"original_invoice_id__not",
|
|
43251
|
-
"original_invoice_id__isNull",
|
|
43252
|
-
"original_invoice_id__isNotNull",
|
|
43253
44014
|
"original_invoice_id__equals",
|
|
43254
44015
|
"original_invoice_id__contains",
|
|
43255
44016
|
"original_invoice_id__startsWith",
|
|
43256
44017
|
"original_invoice_id__endWith",
|
|
44018
|
+
"original_invoice_id__isNull",
|
|
44019
|
+
"original_invoice_id__isNotNull",
|
|
43257
44020
|
"original_invoice_number",
|
|
43258
44021
|
"original_invoice_number__not",
|
|
43259
|
-
"original_invoice_number__isNull",
|
|
43260
|
-
"original_invoice_number__isNotNull",
|
|
43261
44022
|
"original_invoice_number__equals",
|
|
43262
44023
|
"original_invoice_number__contains",
|
|
43263
44024
|
"original_invoice_number__startsWith",
|
|
43264
44025
|
"original_invoice_number__endWith",
|
|
44026
|
+
"original_invoice_number__isNull",
|
|
44027
|
+
"original_invoice_number__isNotNull",
|
|
43265
44028
|
"line_item_id",
|
|
43266
44029
|
"period_start",
|
|
43267
44030
|
"period_start__not",
|
|
43268
|
-
"period_start__isNull",
|
|
43269
|
-
"period_start__isNotNull",
|
|
43270
44031
|
"period_start__equals",
|
|
43271
44032
|
"period_start__lt",
|
|
43272
44033
|
"period_start__lte",
|
|
43273
44034
|
"period_start__gt",
|
|
43274
44035
|
"period_start__gte",
|
|
44036
|
+
"period_start__isNull",
|
|
44037
|
+
"period_start__isNotNull",
|
|
43275
44038
|
"period_end",
|
|
43276
44039
|
"period_end__not",
|
|
43277
|
-
"period_end__isNull",
|
|
43278
|
-
"period_end__isNotNull",
|
|
43279
44040
|
"period_end__equals",
|
|
43280
44041
|
"period_end__lt",
|
|
43281
44042
|
"period_end__lte",
|
|
43282
44043
|
"period_end__gt",
|
|
43283
44044
|
"period_end__gte",
|
|
44045
|
+
"period_end__isNull",
|
|
44046
|
+
"period_end__isNotNull",
|
|
43284
44047
|
"issued_at",
|
|
43285
44048
|
"issued_at__not",
|
|
43286
|
-
"issued_at__isNull",
|
|
43287
|
-
"issued_at__isNotNull",
|
|
43288
44049
|
"issued_at__equals",
|
|
43289
44050
|
"issued_at__lt",
|
|
43290
44051
|
"issued_at__lte",
|
|
@@ -43292,8 +44053,6 @@ Examples:
|
|
|
43292
44053
|
"issued_at__gte",
|
|
43293
44054
|
"due_at",
|
|
43294
44055
|
"due_at__not",
|
|
43295
|
-
"due_at__isNull",
|
|
43296
|
-
"due_at__isNotNull",
|
|
43297
44056
|
"due_at__equals",
|
|
43298
44057
|
"due_at__lt",
|
|
43299
44058
|
"due_at__lte",
|
|
@@ -43301,8 +44060,6 @@ Examples:
|
|
|
43301
44060
|
"due_at__gte",
|
|
43302
44061
|
"updated_at",
|
|
43303
44062
|
"updated_at__not",
|
|
43304
|
-
"updated_at__isNull",
|
|
43305
|
-
"updated_at__isNotNull",
|
|
43306
44063
|
"updated_at__equals",
|
|
43307
44064
|
"updated_at__lt",
|
|
43308
44065
|
"updated_at__lte",
|
|
@@ -43536,6 +44293,36 @@ Examples:
|
|
|
43536
44293
|
queryParamKeys: []
|
|
43537
44294
|
});
|
|
43538
44295
|
});
|
|
44296
|
+
resource.command("send-invoice-emails").description(`Send a specific email (\`email_type\`, e.g. \`invoice_ready\` for the to-pay email) to the customer for a list of invoice IDs, asynchronously in batch. Returns a batch_id only; outcomes arrive via webhooks (invoice.batch.email_succeeded / invoice.batch.email_skipped / invoice.batch.email_failed). An invoice whose status doesn't match the email (e.g. a draft or an invoice still pending approval after validate_invoice) is skipped, so check each invoice's status with get_invoice first. Every call sends the emails again: never re-call it to retry or check status.`).option("--batch-id <value>", `Optional client-supplied identifier for the batch. Echoed back in the response and on the emitted webhook events. Generated if omitted.`).requiredOption("--email-type <value>", `The email to send. The invoice's status must resolve to this email, otherwise it is skipped with reason \`email_type_mismatch\`.
|
|
44297
|
+
|
|
44298
|
+
- \`invoice_ready\`: The to-pay invoice email (for \`to_pay\`, \`partially_paid\`, \`late\` invoices).
|
|
44299
|
+
- \`invoice_settled\`: The paid-invoice email (for \`paid\` invoices).
|
|
44300
|
+
- \`invoice_errored\`: The failed-payment email (for \`error\` invoices with a payment method).
|
|
44301
|
+
- \`credit_note_ready\`: The issued-credit-note email (for \`to_pay\`, \`partially_paid\` refunds).
|
|
44302
|
+
- \`credit_note_settled\`: The credit-note email (for paid refunds).`).requiredOption("--ids <json>", `IDs of the invoices to send the email for. Processed asynchronously; each outcome is reported via webhook events.`).addHelpText("after", `
|
|
44303
|
+
Examples:
|
|
44304
|
+
hyperline invoices send-invoice-emails --email-type <email_type> --ids <ids>
|
|
44305
|
+
hyperline invoices send-invoice-emails --email-type <email_type> --ids <ids> --batch-id <batch_id>
|
|
44306
|
+
hyperline invoices send-invoice-emails --email-type <email_type> --ids <ids> --output json`).action(async (opts) => {
|
|
44307
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
44308
|
+
if (!ctx) {
|
|
44309
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
44310
|
+
process.exit(1);
|
|
44311
|
+
}
|
|
44312
|
+
const args = {};
|
|
44313
|
+
if (opts.batchId !== void 0)
|
|
44314
|
+
args.batch_id = opts.batchId;
|
|
44315
|
+
if (opts.emailType !== void 0)
|
|
44316
|
+
args.email_type = opts.emailType;
|
|
44317
|
+
if (opts.ids !== void 0)
|
|
44318
|
+
args.ids = JSON.parse(opts.ids);
|
|
44319
|
+
await ctx.execute({
|
|
44320
|
+
method: "POST",
|
|
44321
|
+
path: "/v1/invoices/send-email",
|
|
44322
|
+
args,
|
|
44323
|
+
queryParamKeys: []
|
|
44324
|
+
});
|
|
44325
|
+
});
|
|
43539
44326
|
resource.command("mark-invoice-as-uncollectible").description(`Mark an invoice as uncollectible for accounting write-off purposes. The invoice remains in the system for record keeping.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
43540
44327
|
Examples:
|
|
43541
44328
|
hyperline invoices mark-invoice-as-uncollectible --id <id>
|
|
@@ -43573,7 +44360,7 @@ Examples:
|
|
|
43573
44360
|
queryParamKeys: []
|
|
43574
44361
|
});
|
|
43575
44362
|
});
|
|
43576
|
-
resource.command("update").description(`Update an invoice. Draft/grace_period allow modifying line items, dates, and metadata before finalization. Finalized invoices
|
|
44363
|
+
resource.command("update").description(`Update an invoice. Draft/grace_period allow modifying line items, dates, and metadata before finalization. Finalized invoices allow updating product and price links and revenue classification on existing line items by ID, with unchanged amounts/taxes and automatic accounting reposting, plus metadata (paid/partially_paid: custom_note/purchase_order/custom_properties/additional_display_fields/subscription_id; uncollectible: properties/custom_note/custom_properties/additional_display_fields/subscription_id).`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Type of the invoice.
|
|
43577
44364
|
|
|
43578
44365
|
- \`invoice\`: Legal invoice to be paid by your customer.
|
|
43579
44366
|
- \`credit_note\`: Legal credit note cancelling an invoice and refunding your customer.
|
|
@@ -43582,7 +44369,7 @@ Examples:
|
|
|
43582
44369
|
|
|
43583
44370
|
- \`auto\`: Tax is automatically computed and applied.
|
|
43584
44371
|
- \`not_eligible\`: Tax collection is disabled for the invoice.
|
|
43585
|
-
`).option("--issuing-method <value>", `Set to \`scheduled\` to finalize the draft invoice automatically on its issue date (\`emitted_at\`), in the invoice timezone. The issue date must be after today. Set to \`manual\` to unschedule the invoice.`).option("--emitted-at <value>", `Issue date of the draft invoice. For a scheduled invoice, the day on which it is automatically finalized.`).option("--line-items <json>", `
|
|
44372
|
+
`).option("--issuing-method <value>", `Set to \`scheduled\` to finalize the draft invoice automatically on its issue date (\`emitted_at\`), in the invoice timezone. The issue date must be after today. Set to \`manual\` to unschedule the invoice.`).option("--emitted-at <value>", `Issue date of the draft invoice. For a scheduled invoice, the day on which it is automatically finalized.`).option("--line-items <json>", `Draft edits replace the line list. Finalized invoice line updates accept up to 100 lines per request and update only the specified existing line IDs and allow product and price links and revenue classification; amounts and taxes stay unchanged. Accounting postings are rebuilt atomically; updates affecting closed accounting periods are rejected.`).option("--coupons <json>", `coupons`).option("--payment-method-type <value>", `payment_method_type`).option("--payment-method-id <value>", `ID of the default payment method used to pay the invoice. Transactions related to the invoice may use different payment methods.`).option("--bank-account-id <value>", `ID of the bank account displayed on the invoice. Transactions related to the invoice may use different bank accounts.`).option("--subscription-id <value>", `ID of the subscription related to the invoice.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `Values for custom properties defined for the \`invoice\` entity, keyed by slug.`).option("--additional-display-fields <json>", `Ordered additional fields displayed on the invoice PDF. Invoice and customer custom properties are referenced by slug.`).option("--customer <json>", `Override customer details on the invoice. Only allowed for draft or grace period invoices.`).addHelpText("after", `
|
|
43586
44373
|
Examples:
|
|
43587
44374
|
hyperline invoices update --id <id>
|
|
43588
44375
|
hyperline invoices update --id <id> --type <type> --document-name <document_name>
|
|
@@ -43668,10 +44455,10 @@ Examples:
|
|
|
43668
44455
|
queryParamKeys: []
|
|
43669
44456
|
});
|
|
43670
44457
|
});
|
|
43671
|
-
resource.command("upload-pdf-to").description(`Upload a custom PDF file (max 5MB) to attach to an existing invoice, replacing the auto-generated PDF.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
44458
|
+
resource.command("upload-pdf-to").description(`Upload a custom PDF file (max 5MB) to attach to an existing invoice, replacing the auto-generated PDF.`).requiredOption("--id <value>", `id parameter`).requiredOption("--file <path>", `Path of the local file to upload (sends a multipart request)`).addHelpText("after", `
|
|
43672
44459
|
Examples:
|
|
43673
|
-
hyperline invoices upload-pdf-to --id <id>
|
|
43674
|
-
hyperline invoices upload-pdf-to --id <id> --output json`).action(async (opts) => {
|
|
44460
|
+
hyperline invoices upload-pdf-to --id <id> --file <path>
|
|
44461
|
+
hyperline invoices upload-pdf-to --id <id> --file <path> --output json`).action(async (opts) => {
|
|
43675
44462
|
const ctx = resource.parent?.opts()._ctx;
|
|
43676
44463
|
if (!ctx) {
|
|
43677
44464
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -43680,11 +44467,15 @@ Examples:
|
|
|
43680
44467
|
const args = {};
|
|
43681
44468
|
if (opts.id !== void 0)
|
|
43682
44469
|
args.id = opts.id;
|
|
44470
|
+
const files = {};
|
|
44471
|
+
if (opts.file !== void 0)
|
|
44472
|
+
files.file = [opts.file].flat();
|
|
43683
44473
|
await ctx.execute({
|
|
43684
44474
|
method: "POST",
|
|
43685
44475
|
path: "/v1/invoices/{id}/upload",
|
|
43686
44476
|
args,
|
|
43687
|
-
queryParamKeys: []
|
|
44477
|
+
queryParamKeys: [],
|
|
44478
|
+
files
|
|
43688
44479
|
});
|
|
43689
44480
|
});
|
|
43690
44481
|
resource.command("download").description(`Download the PDF of an invoice as a downloadable file. The HTTP client must follow redirects. Supports lang/locale params for localization.`).requiredOption("--id <value>", `id parameter`).option("--lang <value>", `lang`).option("--locale <value>", `Locale as a supported language code and an uppercase ISO 3166-1 alpha-2 country code, separated by a hyphen.`).addHelpText("after", `
|
|
@@ -43823,7 +44614,13 @@ Examples:
|
|
|
43823
44614
|
queryParamKeys: []
|
|
43824
44615
|
});
|
|
43825
44616
|
});
|
|
43826
|
-
resource.command("create-invoicing-entity").description(`Create a new invoicing entity with company details, address, and tax configuration. Used as the sender on invoices.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).requiredOption("--name <value>", `The name of the invoicing entity.`).option("--trade-name <value>", `The trade name of the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `
|
|
44617
|
+
resource.command("create-invoicing-entity").description(`Create a new invoicing entity with company details, address, and tax configuration. Used as the sender on invoices.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).requiredOption("--name <value>", `The name of the invoicing entity.`).option("--trade-name <value>", `The trade name of the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `State or province of the address, stored as its code (the second part of the ISO 3166-2 code, e.g. \`CA\` for \`US-CA\`) for:
|
|
44618
|
+
- United States: state, see [ISO 3166-2:US](https://en.wikipedia.org/wiki/ISO_3166-2:US)
|
|
44619
|
+
- Canada: province or territory, see [ISO 3166-2:CA](https://en.wikipedia.org/wiki/ISO_3166-2:CA)
|
|
44620
|
+
- Italy: province, see [ISO 3166-2:IT](https://en.wikipedia.org/wiki/ISO_3166-2:IT)
|
|
44621
|
+
- Brazil: state, see [ISO 3166-2:BR](https://en.wikipedia.org/wiki/ISO_3166-2:BR)
|
|
44622
|
+
|
|
44623
|
+
A code or a name is accepted (e.g. \`ON\` or \`Ontario\`); a value that matches neither for these countries is rejected. For any other country, the state is ignored.`).option("--city <value>", `The city of the invoicing entity.`).requiredOption("--country <value>", `The country in which the invoicing entity is registered. It cannot be changed after creation.`).requiredOption("--currency <value>", `The currency code that the invoicing entity operates in.`).requiredOption("--accounting-currency <value>", `The currency used for accounting purposes.`).option("--invoice-number-pattern <value>", `The pattern used for generating invoice numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--credit-note-number-pattern <value>", `The pattern used for generating credit note numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--document-number-pattern <value>", `The pattern used for generating document numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--next-invoice-number <number>", `The next invoice number to be used.`).option("--next-credit-note-number <number>", `The next credit note number to be used.`).option("--next-document-number <number>", `The next document number to be used.`).option("--default-payment-delay <number>", `The default payment term in days.`).option("--invoice-grace-period-duration <number>", `The grace period duration in days.`).option("--invoice-payment-initiation-delay <number>", `The payment initiation delay in days for the invoices.`).option("--document-payment-initiation-delay <number>", `The payment initiation delay in days for the custom documents.`).option("--invoice-late-fees <value>", `The late fees applicable to the invoices.`).option("--invoice-footer <value>", `The footer text to be used in invoices.`).option("--document-footer <value>", `The footer text to be used in documents. If not specified, the invoice footer will be used.`).option("--quote-footer <value>", `The footer text to be used in quotes.`).option("--logo-url <value>", `URL of the logo to be used in invoices.`).option("--favicon-url <value>", `URL of the logo to be used as favicon.`).option("--brand-color <value>", `Brand color to be used in invoices (hexadecimal color code).`).option("--forced-customer-type <value>", `Forces all customers created under this invoicing entity to have this type. Set to null to allow users to choose.`).option("--credit-note-wallet-refund-enabled", `When enabled and no \`refund_method\` is specified, credit note refunds default to the customer's wallet, including credit notes generated by subscription updates, cancellations, and transitions. An explicit \`refund_method\` always wins. Requires wallets to be enabled at the workspace level.`).option("--standalone-credit-note-creation-enabled", `Whether credit notes without an original invoice can be created under this invoicing entity. Defaults to \`true\`.`).option("--fx-conversion-display-enabled", `Whether the exchange rate and converted amount in the accounting currency are displayed on the invoice PDF when the invoice currency differs from the accounting currency. The conversion data is still stored and returned by the API when disabled. Defaults to \`true\`.`).addHelpText("after", `
|
|
43827
44624
|
Examples:
|
|
43828
44625
|
hyperline invoicing-entities create-invoicing-entity --name <name> --country <country> --currency <currency> --accounting-currency <accounting_currency>
|
|
43829
44626
|
hyperline invoicing-entities create-invoicing-entity --name <name> --country <country> --currency <currency> --accounting-currency <accounting_currency> --is-default --trade-name <trade_name>
|
|
@@ -43915,7 +44712,13 @@ Examples:
|
|
|
43915
44712
|
queryParamKeys: []
|
|
43916
44713
|
});
|
|
43917
44714
|
});
|
|
43918
|
-
resource.command("update-invoicing-entity").description(`Update an existing invoicing entity's details (address, tax ID, branding, etc.).`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `The name of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `
|
|
44715
|
+
resource.command("update-invoicing-entity").description(`Update an existing invoicing entity's details (address, tax ID, branding, etc.).`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `The name of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `State or province of the address, stored as its code (the second part of the ISO 3166-2 code, e.g. \`CA\` for \`US-CA\`) for:
|
|
44716
|
+
- United States: state, see [ISO 3166-2:US](https://en.wikipedia.org/wiki/ISO_3166-2:US)
|
|
44717
|
+
- Canada: province or territory, see [ISO 3166-2:CA](https://en.wikipedia.org/wiki/ISO_3166-2:CA)
|
|
44718
|
+
- Italy: province, see [ISO 3166-2:IT](https://en.wikipedia.org/wiki/ISO_3166-2:IT)
|
|
44719
|
+
- Brazil: state, see [ISO 3166-2:BR](https://en.wikipedia.org/wiki/ISO_3166-2:BR)
|
|
44720
|
+
|
|
44721
|
+
A code or a name is accepted (e.g. \`ON\` or \`Ontario\`); a value that matches neither for these countries is rejected. For any other country, the state is ignored.`).option("--city <value>", `The city of the invoicing entity.`).option("--country <value>", `The country in which the invoicing entity is registered. It cannot be changed after creation.`).option("--currency <value>", `The currency code that the invoicing entity operates in.`).option("--accounting-currency <value>", `The currency used for accounting purposes.`).option("--invoice-number-pattern <value>", `The pattern used for generating invoice numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--credit-note-number-pattern <value>", `The pattern used for generating credit note numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--document-number-pattern <value>", `The pattern used for generating document numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--default-payment-delay <number>", `The default payment term in days.`).option("--invoice-grace-period-duration <number>", `The grace period duration in days.`).option("--invoice-payment-initiation-delay <number>", `The payment initiation delay in days for the invoices.`).option("--document-payment-initiation-delay <number>", `The payment initiation delay in days for the custom documents.`).option("--invoice-late-fees <value>", `The late fees applicable to the invoices.`).option("--invoice-footer <value>", `The footer text to be used in invoices.`).option("--document-footer <value>", `The footer text to be used in documents. If not specified, the invoice footer will be used.`).option("--logo-url <value>", `URL of the logo to be used in invoices.`).option("--favicon-url <value>", `URL of the logo to be used as favicon.`).option("--brand-color <value>", `Brand color to be used in invoices (hexadecimal color code).`).option("--forced-customer-type <value>", `Forces all customers created under this invoicing entity to have this type. Set to null to allow users to choose.`).option("--credit-note-wallet-refund-enabled", `When enabled and no \`refund_method\` is specified, credit note refunds default to the customer's wallet, including credit notes generated by subscription updates, cancellations, and transitions. An explicit \`refund_method\` always wins. Requires wallets to be enabled at the workspace level.`).option("--standalone-credit-note-creation-enabled", `Whether credit notes without an original invoice can be created under this invoicing entity. Defaults to \`true\`.`).option("--fx-conversion-display-enabled", `Whether the exchange rate and converted amount in the accounting currency are displayed on the invoice PDF when the invoice currency differs from the accounting currency. The conversion data is still stored and returned by the API when disabled. Defaults to \`true\`.`).addHelpText("after", `
|
|
43919
44722
|
Examples:
|
|
43920
44723
|
hyperline invoicing-entities update-invoicing-entity --id <id>
|
|
43921
44724
|
hyperline invoicing-entities update-invoicing-entity --id <id> --name <name> --registration-number <registration_number>
|
|
@@ -44030,7 +44833,7 @@ Examples:
|
|
|
44030
44833
|
// build/commands/generated/organisations.js
|
|
44031
44834
|
function registerOrganisationsCommands(parent) {
|
|
44032
44835
|
const resource = parent.command("organisations").description("Manage organisations");
|
|
44033
|
-
resource.command("list").description(`Retrieve organisations with their billing details and child customer IDs.`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--created-at <value>", `created_at`).option("--created-at.not <value>", `created_at__not`).option("--created-at.
|
|
44836
|
+
resource.command("list").description(`Retrieve organisations with their billing details and child customer IDs.`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--created-at <value>", `created_at`).option("--created-at.not <value>", `created_at__not`).option("--created-at.equals <value>", `created_at__equals`).option("--created-at.lt <value>", `created_at__lt`).option("--created-at.lte <value>", `created_at__lte`).option("--created-at.gt <value>", `created_at__gt`).option("--created-at.gte <value>", `created_at__gte`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
44034
44837
|
Examples:
|
|
44035
44838
|
hyperline organisations list
|
|
44036
44839
|
hyperline organisations list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -44052,10 +44855,6 @@ Examples:
|
|
|
44052
44855
|
args.created_at = opts.createdAt;
|
|
44053
44856
|
if (opts["createdAt.not"] !== void 0)
|
|
44054
44857
|
args.created_at__not = opts["createdAt.not"];
|
|
44055
|
-
if (opts["createdAt.isNull"] !== void 0)
|
|
44056
|
-
args.created_at__isNull = opts["createdAt.isNull"];
|
|
44057
|
-
if (opts["createdAt.isNotNull"] !== void 0)
|
|
44058
|
-
args.created_at__isNotNull = opts["createdAt.isNotNull"];
|
|
44059
44858
|
if (opts["createdAt.equals"] !== void 0)
|
|
44060
44859
|
args.created_at__equals = opts["createdAt.equals"];
|
|
44061
44860
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -44070,10 +44869,6 @@ Examples:
|
|
|
44070
44869
|
args.updated_at = opts.updatedAt;
|
|
44071
44870
|
if (opts["updatedAt.not"] !== void 0)
|
|
44072
44871
|
args.updated_at__not = opts["updatedAt.not"];
|
|
44073
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
44074
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
44075
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
44076
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
44077
44872
|
if (opts["updatedAt.equals"] !== void 0)
|
|
44078
44873
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44079
44874
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44098,8 +44893,6 @@ Examples:
|
|
|
44098
44893
|
"sort",
|
|
44099
44894
|
"created_at",
|
|
44100
44895
|
"created_at__not",
|
|
44101
|
-
"created_at__isNull",
|
|
44102
|
-
"created_at__isNotNull",
|
|
44103
44896
|
"created_at__equals",
|
|
44104
44897
|
"created_at__lt",
|
|
44105
44898
|
"created_at__lte",
|
|
@@ -44107,8 +44900,6 @@ Examples:
|
|
|
44107
44900
|
"created_at__gte",
|
|
44108
44901
|
"updated_at",
|
|
44109
44902
|
"updated_at__not",
|
|
44110
|
-
"updated_at__isNull",
|
|
44111
|
-
"updated_at__isNotNull",
|
|
44112
44903
|
"updated_at__equals",
|
|
44113
44904
|
"updated_at__lt",
|
|
44114
44905
|
"updated_at__lte",
|
|
@@ -44174,7 +44965,7 @@ function registerPaymentsCommands(parent) {
|
|
|
44174
44965
|
Payment type.
|
|
44175
44966
|
|
|
44176
44967
|
- \`one_time\`: One-time payment, generating one-off invoice.
|
|
44177
|
-
`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--products <json>", `Products composing the related invoice.`).option("--purchase-order <value>", `Purchase order added on the generated invoice.`).option("--custom-note <value>", `Custom note added on the generated invoice.`).requiredOption("--charging-method <value>", `
|
|
44968
|
+
`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--products <json>", `Products composing the related invoice.`).option("--purchase-order <value>", `Purchase order added on the generated invoice.`).option("--custom-note <value>", `Custom note added on the generated invoice.`).option("--coupons <json>", `Coupons applied to the generated invoice before the checkout is created, so the checkout email already shows the discounted amount. \`line_item_indexes\` refer to the position of the products in \`products\`. Only supported with the \`checkout\` charging method.`).requiredOption("--charging-method <value>", `
|
|
44178
44969
|
Charging method.
|
|
44179
44970
|
|
|
44180
44971
|
- \`immediately\`: Customer's payment method will be charged directly to pay the invoice.
|
|
@@ -44206,6 +44997,8 @@ Examples:
|
|
|
44206
44997
|
args.payment_method_id = opts.paymentMethodId;
|
|
44207
44998
|
if (opts.products !== void 0)
|
|
44208
44999
|
args.products = JSON.parse(opts.products);
|
|
45000
|
+
if (opts.coupons !== void 0)
|
|
45001
|
+
args.coupons = JSON.parse(opts.coupons);
|
|
44209
45002
|
if (opts.availablePaymentMethods !== void 0)
|
|
44210
45003
|
args.available_payment_methods = JSON.parse(opts.availablePaymentMethods);
|
|
44211
45004
|
if (opts.checkoutSession !== void 0)
|
|
@@ -44222,7 +45015,7 @@ Examples:
|
|
|
44222
45015
|
// build/commands/generated/price-configurations.js
|
|
44223
45016
|
function registerPrice_ConfigurationsCommands(parent) {
|
|
44224
45017
|
const resource = parent.command("price-configurations").description("Manage price configurations");
|
|
44225
|
-
resource.command("list").description(`List price configurations with optional filters for product_id and price_book_id. Price configurations define how a product is priced (tiers, volume, graduated, etc.). Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.
|
|
45018
|
+
resource.command("list").description(`List price configurations with optional filters for product_id and price_book_id. Price configurations define how a product is priced (tiers, volume, graduated, etc.). Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.equals <value>", `product_id__equals`).option("--product-id.contains <value>", `product_id__contains`).option("--product-id.starts-with <value>", `product_id__startsWith`).option("--product-id.end-with <value>", `product_id__endWith`).option("--price-book-id <value>", `price_book_id`).option("--price-book-id.not <value>", `price_book_id__not`).option("--price-book-id.equals <value>", `price_book_id__equals`).option("--price-book-id.contains <value>", `price_book_id__contains`).option("--price-book-id.starts-with <value>", `price_book_id__startsWith`).option("--price-book-id.end-with <value>", `price_book_id__endWith`).option("--price-book-id.is-null <value>", `price_book_id__isNull`).option("--price-book-id.is-not-null <value>", `price_book_id__isNotNull`).addHelpText("after", `
|
|
44226
45019
|
Examples:
|
|
44227
45020
|
hyperline price-configurations list
|
|
44228
45021
|
hyperline price-configurations list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -44236,10 +45029,6 @@ Examples:
|
|
|
44236
45029
|
args.product_id = opts.productId;
|
|
44237
45030
|
if (opts["productId.not"] !== void 0)
|
|
44238
45031
|
args.product_id__not = opts["productId.not"];
|
|
44239
|
-
if (opts["productId.isNull"] !== void 0)
|
|
44240
|
-
args.product_id__isNull = opts["productId.isNull"];
|
|
44241
|
-
if (opts["productId.isNotNull"] !== void 0)
|
|
44242
|
-
args.product_id__isNotNull = opts["productId.isNotNull"];
|
|
44243
45032
|
if (opts["productId.equals"] !== void 0)
|
|
44244
45033
|
args.product_id__equals = opts["productId.equals"];
|
|
44245
45034
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -44252,10 +45041,6 @@ Examples:
|
|
|
44252
45041
|
args.price_book_id = opts.priceBookId;
|
|
44253
45042
|
if (opts["priceBookId.not"] !== void 0)
|
|
44254
45043
|
args.price_book_id__not = opts["priceBookId.not"];
|
|
44255
|
-
if (opts["priceBookId.isNull"] !== void 0)
|
|
44256
|
-
args.price_book_id__isNull = opts["priceBookId.isNull"];
|
|
44257
|
-
if (opts["priceBookId.isNotNull"] !== void 0)
|
|
44258
|
-
args.price_book_id__isNotNull = opts["priceBookId.isNotNull"];
|
|
44259
45044
|
if (opts["priceBookId.equals"] !== void 0)
|
|
44260
45045
|
args.price_book_id__equals = opts["priceBookId.equals"];
|
|
44261
45046
|
if (opts["priceBookId.contains"] !== void 0)
|
|
@@ -44264,6 +45049,10 @@ Examples:
|
|
|
44264
45049
|
args.price_book_id__startsWith = opts["priceBookId.startsWith"];
|
|
44265
45050
|
if (opts["priceBookId.endWith"] !== void 0)
|
|
44266
45051
|
args.price_book_id__endWith = opts["priceBookId.endWith"];
|
|
45052
|
+
if (opts["priceBookId.isNull"] !== void 0)
|
|
45053
|
+
args.price_book_id__isNull = opts["priceBookId.isNull"];
|
|
45054
|
+
if (opts["priceBookId.isNotNull"] !== void 0)
|
|
45055
|
+
args.price_book_id__isNotNull = opts["priceBookId.isNotNull"];
|
|
44267
45056
|
if (opts.take !== void 0)
|
|
44268
45057
|
args.take = Number(opts.take);
|
|
44269
45058
|
if (opts.skip !== void 0)
|
|
@@ -44277,20 +45066,18 @@ Examples:
|
|
|
44277
45066
|
"skip",
|
|
44278
45067
|
"product_id",
|
|
44279
45068
|
"product_id__not",
|
|
44280
|
-
"product_id__isNull",
|
|
44281
|
-
"product_id__isNotNull",
|
|
44282
45069
|
"product_id__equals",
|
|
44283
45070
|
"product_id__contains",
|
|
44284
45071
|
"product_id__startsWith",
|
|
44285
45072
|
"product_id__endWith",
|
|
44286
45073
|
"price_book_id",
|
|
44287
45074
|
"price_book_id__not",
|
|
44288
|
-
"price_book_id__isNull",
|
|
44289
|
-
"price_book_id__isNotNull",
|
|
44290
45075
|
"price_book_id__equals",
|
|
44291
45076
|
"price_book_id__contains",
|
|
44292
45077
|
"price_book_id__startsWith",
|
|
44293
|
-
"price_book_id__endWith"
|
|
45078
|
+
"price_book_id__endWith",
|
|
45079
|
+
"price_book_id__isNull",
|
|
45080
|
+
"price_book_id__isNotNull"
|
|
44294
45081
|
]
|
|
44295
45082
|
});
|
|
44296
45083
|
});
|
|
@@ -44416,7 +45203,7 @@ Examples:
|
|
|
44416
45203
|
// build/commands/generated/products.js
|
|
44417
45204
|
function registerProductsCommands(parent) {
|
|
44418
45205
|
const resource = parent.command("products").description("Manage products");
|
|
44419
|
-
resource.command("list").description(`List products with optional filters for id, status, name, description, type, and
|
|
45206
|
+
resource.command("list").description(`List products with optional filters for id, status, name, description, type, price_book_id, and custom_properties (JSON object of slug to exact value, e.g. {"my_slug":"value"}; slugs matching no custom property are rejected). Products define what is being sold (flat fee, per-unit, usage-based, etc.). Paginated with take/skip. Includes bundle items and the first 50 price configurations per product. Use list_price_configurations filtered by product_id for the complete list.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.equals <value>", `id__equals`).option("--id.contains <value>", `id__contains`).option("--id.starts-with <value>", `id__startsWith`).option("--id.end-with <value>", `id__endWith`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--description <value>", `description`).option("--description.not <value>", `description__not`).option("--description.equals <value>", `description__equals`).option("--description.contains <value>", `description__contains`).option("--description.starts-with <value>", `description__startsWith`).option("--description.end-with <value>", `description__endWith`).option("--description.is-null <value>", `description__isNull`).option("--description.is-not-null <value>", `description__isNotNull`).option("--type <value>", `type`).option("--type.not <value>", `type__not`).option("--type.equals <value>", `type__equals`).option("--type.contains <value>", `type__contains`).option("--type.starts-with <value>", `type__startsWith`).option("--type.end-with <value>", `type__endWith`).option("--price-book-id <value>", `price_book_id`).option("--custom-properties <value>", `Filter by custom property values, as a JSON object mapping a custom property slug to the exact value to match. Suffix a slug with \`__contains\` for a case-sensitive substring match on text values. Several entries are combined with AND. A slug that matches no custom property returns a \`400\` error.`).addHelpText("after", `
|
|
44420
45207
|
Examples:
|
|
44421
45208
|
hyperline products list
|
|
44422
45209
|
hyperline products list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44430,10 +45217,6 @@ Examples:
|
|
|
44430
45217
|
args.id = opts.id;
|
|
44431
45218
|
if (opts["id.not"] !== void 0)
|
|
44432
45219
|
args.id__not = opts["id.not"];
|
|
44433
|
-
if (opts["id.isNull"] !== void 0)
|
|
44434
|
-
args.id__isNull = opts["id.isNull"];
|
|
44435
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
44436
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
44437
45220
|
if (opts["id.equals"] !== void 0)
|
|
44438
45221
|
args.id__equals = opts["id.equals"];
|
|
44439
45222
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44450,10 +45233,6 @@ Examples:
|
|
|
44450
45233
|
args.name = opts.name;
|
|
44451
45234
|
if (opts["name.not"] !== void 0)
|
|
44452
45235
|
args.name__not = opts["name.not"];
|
|
44453
|
-
if (opts["name.isNull"] !== void 0)
|
|
44454
|
-
args.name__isNull = opts["name.isNull"];
|
|
44455
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
44456
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
44457
45236
|
if (opts["name.equals"] !== void 0)
|
|
44458
45237
|
args.name__equals = opts["name.equals"];
|
|
44459
45238
|
if (opts["name.contains"] !== void 0)
|
|
@@ -44466,10 +45245,6 @@ Examples:
|
|
|
44466
45245
|
args.description = opts.description;
|
|
44467
45246
|
if (opts["description.not"] !== void 0)
|
|
44468
45247
|
args.description__not = opts["description.not"];
|
|
44469
|
-
if (opts["description.isNull"] !== void 0)
|
|
44470
|
-
args.description__isNull = opts["description.isNull"];
|
|
44471
|
-
if (opts["description.isNotNull"] !== void 0)
|
|
44472
|
-
args.description__isNotNull = opts["description.isNotNull"];
|
|
44473
45248
|
if (opts["description.equals"] !== void 0)
|
|
44474
45249
|
args.description__equals = opts["description.equals"];
|
|
44475
45250
|
if (opts["description.contains"] !== void 0)
|
|
@@ -44478,14 +45253,14 @@ Examples:
|
|
|
44478
45253
|
args.description__startsWith = opts["description.startsWith"];
|
|
44479
45254
|
if (opts["description.endWith"] !== void 0)
|
|
44480
45255
|
args.description__endWith = opts["description.endWith"];
|
|
45256
|
+
if (opts["description.isNull"] !== void 0)
|
|
45257
|
+
args.description__isNull = opts["description.isNull"];
|
|
45258
|
+
if (opts["description.isNotNull"] !== void 0)
|
|
45259
|
+
args.description__isNotNull = opts["description.isNotNull"];
|
|
44481
45260
|
if (opts.type !== void 0)
|
|
44482
45261
|
args.type = opts.type;
|
|
44483
45262
|
if (opts["type.not"] !== void 0)
|
|
44484
45263
|
args.type__not = opts["type.not"];
|
|
44485
|
-
if (opts["type.isNull"] !== void 0)
|
|
44486
|
-
args.type__isNull = opts["type.isNull"];
|
|
44487
|
-
if (opts["type.isNotNull"] !== void 0)
|
|
44488
|
-
args.type__isNotNull = opts["type.isNotNull"];
|
|
44489
45264
|
if (opts["type.equals"] !== void 0)
|
|
44490
45265
|
args.type__equals = opts["type.equals"];
|
|
44491
45266
|
if (opts["type.contains"] !== void 0)
|
|
@@ -44496,6 +45271,8 @@ Examples:
|
|
|
44496
45271
|
args.type__endWith = opts["type.endWith"];
|
|
44497
45272
|
if (opts.priceBookId !== void 0)
|
|
44498
45273
|
args.price_book_id = opts.priceBookId;
|
|
45274
|
+
if (opts.customProperties !== void 0)
|
|
45275
|
+
args.custom_properties = opts.customProperties;
|
|
44499
45276
|
if (opts.take !== void 0)
|
|
44500
45277
|
args.take = Number(opts.take);
|
|
44501
45278
|
if (opts.skip !== void 0)
|
|
@@ -44509,8 +45286,6 @@ Examples:
|
|
|
44509
45286
|
"skip",
|
|
44510
45287
|
"id",
|
|
44511
45288
|
"id__not",
|
|
44512
|
-
"id__isNull",
|
|
44513
|
-
"id__isNotNull",
|
|
44514
45289
|
"id__equals",
|
|
44515
45290
|
"id__contains",
|
|
44516
45291
|
"id__startsWith",
|
|
@@ -44519,33 +45294,30 @@ Examples:
|
|
|
44519
45294
|
"status__in",
|
|
44520
45295
|
"name",
|
|
44521
45296
|
"name__not",
|
|
44522
|
-
"name__isNull",
|
|
44523
|
-
"name__isNotNull",
|
|
44524
45297
|
"name__equals",
|
|
44525
45298
|
"name__contains",
|
|
44526
45299
|
"name__startsWith",
|
|
44527
45300
|
"name__endWith",
|
|
44528
45301
|
"description",
|
|
44529
45302
|
"description__not",
|
|
44530
|
-
"description__isNull",
|
|
44531
|
-
"description__isNotNull",
|
|
44532
45303
|
"description__equals",
|
|
44533
45304
|
"description__contains",
|
|
44534
45305
|
"description__startsWith",
|
|
44535
45306
|
"description__endWith",
|
|
45307
|
+
"description__isNull",
|
|
45308
|
+
"description__isNotNull",
|
|
44536
45309
|
"type",
|
|
44537
45310
|
"type__not",
|
|
44538
|
-
"type__isNull",
|
|
44539
|
-
"type__isNotNull",
|
|
44540
45311
|
"type__equals",
|
|
44541
45312
|
"type__contains",
|
|
44542
45313
|
"type__startsWith",
|
|
44543
45314
|
"type__endWith",
|
|
44544
|
-
"price_book_id"
|
|
45315
|
+
"price_book_id",
|
|
45316
|
+
"custom_properties"
|
|
44545
45317
|
]
|
|
44546
45318
|
});
|
|
44547
45319
|
});
|
|
44548
|
-
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <json>", `Price configurations for the product.`).option("--aggregator <json>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <json>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--credits-grant-mode <value>", `
|
|
45320
|
+
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration. With catalog versioning enabled, the change is staged in the pending catalog draft and only goes live after publish_catalog_draft.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <json>", `Price configurations for the product.`).option("--aggregator <json>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <json>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--credits-grant-mode <value>", `
|
|
44549
45321
|
How the periodic credit allowance is granted for partial billing periods.
|
|
44550
45322
|
|
|
44551
45323
|
- \`prorated\` (default): the granted credits are prorated to the elapsed period.
|
|
@@ -44633,11 +45405,116 @@ Examples:
|
|
|
44633
45405
|
queryParamKeys: ["price_book_id"]
|
|
44634
45406
|
});
|
|
44635
45407
|
});
|
|
44636
|
-
resource.command("update").description(`Update a product's name, description, type, or configuration by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--properties <json>", `properties`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).addHelpText("after", `
|
|
45408
|
+
resource.command("update").description(`Update a product's name, description, type, or configuration by ID. With catalog versioning enabled, the change is staged in the pending catalog draft and only goes live after publish_catalog_draft.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--properties <json>", `properties`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).addHelpText("after", `
|
|
45409
|
+
Examples:
|
|
45410
|
+
hyperline products update --id <id> --name <name>
|
|
45411
|
+
hyperline products update --id <id> --name <name> --description <description> --public-description <public_description>
|
|
45412
|
+
hyperline products update --id <id> --name <name> --output json`).action(async (opts) => {
|
|
45413
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45414
|
+
if (!ctx) {
|
|
45415
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45416
|
+
process.exit(1);
|
|
45417
|
+
}
|
|
45418
|
+
const args = {};
|
|
45419
|
+
if (opts.id !== void 0)
|
|
45420
|
+
args.id = opts.id;
|
|
45421
|
+
if (opts.name !== void 0)
|
|
45422
|
+
args.name = opts.name;
|
|
45423
|
+
if (opts.description !== void 0)
|
|
45424
|
+
args.description = opts.description;
|
|
45425
|
+
if (opts.publicDescription !== void 0)
|
|
45426
|
+
args.public_description = opts.publicDescription;
|
|
45427
|
+
if (opts.isAvailableOnDemand !== void 0)
|
|
45428
|
+
args.is_available_on_demand = true;
|
|
45429
|
+
if (opts.isAvailableOnSubscription !== void 0)
|
|
45430
|
+
args.is_available_on_subscription = true;
|
|
45431
|
+
if (opts.translations !== void 0)
|
|
45432
|
+
args.translations = JSON.parse(opts.translations);
|
|
45433
|
+
if (opts.properties !== void 0)
|
|
45434
|
+
args.properties = JSON.parse(opts.properties);
|
|
45435
|
+
if (opts.customProperties !== void 0)
|
|
45436
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
45437
|
+
if (opts.accounting !== void 0)
|
|
45438
|
+
args.accounting = JSON.parse(opts.accounting);
|
|
45439
|
+
await ctx.execute({
|
|
45440
|
+
method: "PUT",
|
|
45441
|
+
path: "/v1/products/{id}",
|
|
45442
|
+
args,
|
|
45443
|
+
queryParamKeys: []
|
|
45444
|
+
});
|
|
45445
|
+
});
|
|
45446
|
+
resource.command("archive").description(`Archive a product by ID. Archived products cannot be added to new subscriptions but remain on existing ones.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
45447
|
+
Examples:
|
|
45448
|
+
hyperline products archive --id <id>
|
|
45449
|
+
hyperline products archive --id <id> --output json`).action(async (opts) => {
|
|
45450
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45451
|
+
if (!ctx) {
|
|
45452
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45453
|
+
process.exit(1);
|
|
45454
|
+
}
|
|
45455
|
+
const args = {};
|
|
45456
|
+
if (opts.id !== void 0)
|
|
45457
|
+
args.id = opts.id;
|
|
45458
|
+
await ctx.execute({
|
|
45459
|
+
method: "PUT",
|
|
45460
|
+
path: "/v1/products/{id}/archive",
|
|
45461
|
+
args,
|
|
45462
|
+
queryParamKeys: []
|
|
45463
|
+
});
|
|
45464
|
+
});
|
|
45465
|
+
resource.command("delete").description(`Permanently delete an archived product by ID. Products attached to subscriptions, plans, or templates cannot be deleted.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
45466
|
+
Examples:
|
|
45467
|
+
hyperline products delete --id <id>
|
|
45468
|
+
hyperline products delete --id <id> --output json`).action(async (opts) => {
|
|
45469
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45470
|
+
if (!ctx) {
|
|
45471
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45472
|
+
process.exit(1);
|
|
45473
|
+
}
|
|
45474
|
+
const args = {};
|
|
45475
|
+
if (opts.id !== void 0)
|
|
45476
|
+
args.id = opts.id;
|
|
45477
|
+
if (!opts.yes) {
|
|
45478
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
45479
|
+
if (!confirmed) {
|
|
45480
|
+
process.stdout.write("Aborted.\n");
|
|
45481
|
+
return;
|
|
45482
|
+
}
|
|
45483
|
+
}
|
|
45484
|
+
await ctx.execute({
|
|
45485
|
+
method: "DELETE",
|
|
45486
|
+
path: "/v1/products/{id}",
|
|
45487
|
+
args,
|
|
45488
|
+
queryParamKeys: []
|
|
45489
|
+
});
|
|
45490
|
+
});
|
|
45491
|
+
resource.command("unarchive").description(`Restore a previously archived product, making it available for new subscriptions again.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
45492
|
+
Examples:
|
|
45493
|
+
hyperline products unarchive --id <id>
|
|
45494
|
+
hyperline products unarchive --id <id> --output json`).action(async (opts) => {
|
|
45495
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45496
|
+
if (!ctx) {
|
|
45497
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45498
|
+
process.exit(1);
|
|
45499
|
+
}
|
|
45500
|
+
const args = {};
|
|
45501
|
+
if (opts.id !== void 0)
|
|
45502
|
+
args.id = opts.id;
|
|
45503
|
+
await ctx.execute({
|
|
45504
|
+
method: "PUT",
|
|
45505
|
+
path: "/v1/products/{id}/unarchive",
|
|
45506
|
+
args,
|
|
45507
|
+
queryParamKeys: []
|
|
45508
|
+
});
|
|
45509
|
+
});
|
|
45510
|
+
}
|
|
45511
|
+
|
|
45512
|
+
// build/commands/generated/products-features.js
|
|
45513
|
+
function registerProducts_FeaturesCommands(parent) {
|
|
45514
|
+
const resource = parent.command("products-features").description("Manage products > features");
|
|
45515
|
+
resource.command("list-product-features").description(`List feature values assigned to a product.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
44637
45516
|
Examples:
|
|
44638
|
-
hyperline products
|
|
44639
|
-
hyperline products update --id <id> --name <name> --description <description> --public-description <public_description>
|
|
44640
|
-
hyperline products update --id <id> --name <name> --output json`).action(async (opts) => {
|
|
45517
|
+
hyperline products-features list-product-features --id <id>`).action(async (opts) => {
|
|
44641
45518
|
const ctx = resource.parent?.opts()._ctx;
|
|
44642
45519
|
if (!ctx) {
|
|
44643
45520
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -44646,35 +45523,17 @@ Examples:
|
|
|
44646
45523
|
const args = {};
|
|
44647
45524
|
if (opts.id !== void 0)
|
|
44648
45525
|
args.id = opts.id;
|
|
44649
|
-
if (opts.name !== void 0)
|
|
44650
|
-
args.name = opts.name;
|
|
44651
|
-
if (opts.description !== void 0)
|
|
44652
|
-
args.description = opts.description;
|
|
44653
|
-
if (opts.publicDescription !== void 0)
|
|
44654
|
-
args.public_description = opts.publicDescription;
|
|
44655
|
-
if (opts.isAvailableOnDemand !== void 0)
|
|
44656
|
-
args.is_available_on_demand = true;
|
|
44657
|
-
if (opts.isAvailableOnSubscription !== void 0)
|
|
44658
|
-
args.is_available_on_subscription = true;
|
|
44659
|
-
if (opts.translations !== void 0)
|
|
44660
|
-
args.translations = JSON.parse(opts.translations);
|
|
44661
|
-
if (opts.properties !== void 0)
|
|
44662
|
-
args.properties = JSON.parse(opts.properties);
|
|
44663
|
-
if (opts.customProperties !== void 0)
|
|
44664
|
-
args.custom_properties = JSON.parse(opts.customProperties);
|
|
44665
|
-
if (opts.accounting !== void 0)
|
|
44666
|
-
args.accounting = JSON.parse(opts.accounting);
|
|
44667
45526
|
await ctx.execute({
|
|
44668
|
-
method: "
|
|
44669
|
-
path: "/v1/products/{id}",
|
|
45527
|
+
method: "GET",
|
|
45528
|
+
path: "/v1/products/{id}/features",
|
|
44670
45529
|
args,
|
|
44671
45530
|
queryParamKeys: []
|
|
44672
45531
|
});
|
|
44673
45532
|
});
|
|
44674
|
-
resource.command("
|
|
45533
|
+
resource.command("set-product-feature").description(`Set a feature value for a product.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).requiredOption("--value", `Feature value.`).addHelpText("after", `
|
|
44675
45534
|
Examples:
|
|
44676
|
-
hyperline products
|
|
44677
|
-
hyperline products
|
|
45535
|
+
hyperline products-features set-product-feature --id <id> --code <code> --value
|
|
45536
|
+
hyperline products-features set-product-feature --id <id> --code <code> --value --output json`).action(async (opts) => {
|
|
44678
45537
|
const ctx = resource.parent?.opts()._ctx;
|
|
44679
45538
|
if (!ctx) {
|
|
44680
45539
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -44683,17 +45542,21 @@ Examples:
|
|
|
44683
45542
|
const args = {};
|
|
44684
45543
|
if (opts.id !== void 0)
|
|
44685
45544
|
args.id = opts.id;
|
|
45545
|
+
if (opts.code !== void 0)
|
|
45546
|
+
args.code = opts.code;
|
|
45547
|
+
if (opts.value !== void 0)
|
|
45548
|
+
args.value = true;
|
|
44686
45549
|
await ctx.execute({
|
|
44687
45550
|
method: "PUT",
|
|
44688
|
-
path: "/v1/products/{id}/
|
|
45551
|
+
path: "/v1/products/{id}/features/{code}",
|
|
44689
45552
|
args,
|
|
44690
45553
|
queryParamKeys: []
|
|
44691
45554
|
});
|
|
44692
45555
|
});
|
|
44693
|
-
resource.command("delete").description(`
|
|
45556
|
+
resource.command("delete-product-feature").description(`Delete a feature value from a product.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
44694
45557
|
Examples:
|
|
44695
|
-
hyperline products delete --id <id>
|
|
44696
|
-
hyperline products delete --id <id> --output json`).action(async (opts) => {
|
|
45558
|
+
hyperline products-features delete-product-feature --id <id> --code <code>
|
|
45559
|
+
hyperline products-features delete-product-feature --id <id> --code <code> --output json`).action(async (opts) => {
|
|
44697
45560
|
const ctx = resource.parent?.opts()._ctx;
|
|
44698
45561
|
if (!ctx) {
|
|
44699
45562
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -44702,6 +45565,8 @@ Examples:
|
|
|
44702
45565
|
const args = {};
|
|
44703
45566
|
if (opts.id !== void 0)
|
|
44704
45567
|
args.id = opts.id;
|
|
45568
|
+
if (opts.code !== void 0)
|
|
45569
|
+
args.code = opts.code;
|
|
44705
45570
|
if (!opts.yes) {
|
|
44706
45571
|
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
44707
45572
|
if (!confirmed) {
|
|
@@ -44711,26 +45576,7 @@ Examples:
|
|
|
44711
45576
|
}
|
|
44712
45577
|
await ctx.execute({
|
|
44713
45578
|
method: "DELETE",
|
|
44714
|
-
path: "/v1/products/{id}",
|
|
44715
|
-
args,
|
|
44716
|
-
queryParamKeys: []
|
|
44717
|
-
});
|
|
44718
|
-
});
|
|
44719
|
-
resource.command("unarchive").description(`Restore a previously archived product, making it available for new subscriptions again.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
44720
|
-
Examples:
|
|
44721
|
-
hyperline products unarchive --id <id>
|
|
44722
|
-
hyperline products unarchive --id <id> --output json`).action(async (opts) => {
|
|
44723
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
44724
|
-
if (!ctx) {
|
|
44725
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
44726
|
-
process.exit(1);
|
|
44727
|
-
}
|
|
44728
|
-
const args = {};
|
|
44729
|
-
if (opts.id !== void 0)
|
|
44730
|
-
args.id = opts.id;
|
|
44731
|
-
await ctx.execute({
|
|
44732
|
-
method: "PUT",
|
|
44733
|
-
path: "/v1/products/{id}/unarchive",
|
|
45579
|
+
path: "/v1/products/{id}/features/{code}",
|
|
44734
45580
|
args,
|
|
44735
45581
|
queryParamKeys: []
|
|
44736
45582
|
});
|
|
@@ -44746,12 +45592,12 @@ Quote status.
|
|
|
44746
45592
|
- \`draft\`: The quote is a draft.
|
|
44747
45593
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
44748
45594
|
- \`pending_signature\`: The quote is awaiting the customer's signature.
|
|
44749
|
-
`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the quote.`).option("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored \u2014 the amount is always derived from the linked invoice's \`amount_excluding_tax\`.`).option("--contract-value <number>", `What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for \`subscription\` and \`subscription_update\` quotes, unless set manually. Not set on \`one_off\` quotes. When specified, overrides the computed value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
45595
|
+
`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The user must be a member of your Hyperline account. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the quote.`).option("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored \u2014 the amount is always derived from the linked invoice's \`amount_excluding_tax\`.`).option("--contract-value <number>", `What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for \`subscription\` and \`subscription_update\` quotes, unless set manually. Not set on \`one_off\` quotes. When specified, overrides the computed value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
44750
45596
|
|
|
44751
45597
|
- \`all\`: Display all pricing tiers.
|
|
44752
45598
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
44753
45599
|
- \`none\`: Hide all pricing tiers.
|
|
44754
|
-
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-discounts-on-total <value>", `Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--template-id <value>", `ID of the quote template. If not specified, a subscription configuration or an \`invoice\` payload must be defined.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--subscription <json>", `Subscription configuration constituting the quote.`).option("--invoice <json>", `Invoice configuration constituting the one-off quote. When provided, a draft invoice is created and linked to the quote. Cannot be combined with \`subscription\` or \`template_id\`.`).addHelpText("after", `
|
|
45600
|
+
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-discounts-on-total <value>", `Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--template-id <value>", `ID of the quote template. If not specified, a subscription configuration or an \`invoice\` payload must be defined.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--subscription <json>", `Subscription configuration constituting the quote.`).option("--invoice <json>", `Invoice configuration constituting the one-off quote. When provided, a draft invoice is created and linked to the quote. Cannot be combined with \`subscription\` or \`template_id\`.`).option("--attachments <paths...>", `Paths of the local files to upload (space-separated, sends a multipart request)`).addHelpText("after", `
|
|
44755
45601
|
Examples:
|
|
44756
45602
|
hyperline quotes create --customer-id <customer_id>
|
|
44757
45603
|
hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
|
|
@@ -44816,14 +45662,18 @@ Examples:
|
|
|
44816
45662
|
args.subscription = JSON.parse(opts.subscription);
|
|
44817
45663
|
if (opts.invoice !== void 0)
|
|
44818
45664
|
args.invoice = JSON.parse(opts.invoice);
|
|
45665
|
+
const files = {};
|
|
45666
|
+
if (opts.attachments !== void 0)
|
|
45667
|
+
files.attachments = [opts.attachments].flat();
|
|
44819
45668
|
await ctx.execute({
|
|
44820
45669
|
method: "POST",
|
|
44821
45670
|
path: "/v1/quotes",
|
|
44822
45671
|
args,
|
|
44823
|
-
queryParamKeys: []
|
|
45672
|
+
queryParamKeys: [],
|
|
45673
|
+
files
|
|
44824
45674
|
});
|
|
44825
45675
|
});
|
|
44826
|
-
resource.command("list").description(`List quotes with optional filters for id, number, status, customer_id, template_id, crm_opportunity_id, type, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.
|
|
45676
|
+
resource.command("list").description(`List quotes with optional filters for id, number, status, customer_id, template_id, crm_opportunity_id, type, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.equals <value>", `id__equals`).option("--id.contains <value>", `id__contains`).option("--id.starts-with <value>", `id__startsWith`).option("--id.end-with <value>", `id__endWith`).option("--number <value>", `number`).option("--number.not <value>", `number__not`).option("--number.equals <value>", `number__equals`).option("--number.contains <value>", `number__contains`).option("--number.starts-with <value>", `number__startsWith`).option("--number.end-with <value>", `number__endWith`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--template-id <value>", `template_id`).option("--template-id.not <value>", `template_id__not`).option("--template-id.equals <value>", `template_id__equals`).option("--template-id.contains <value>", `template_id__contains`).option("--template-id.starts-with <value>", `template_id__startsWith`).option("--template-id.end-with <value>", `template_id__endWith`).option("--template-id.is-null <value>", `template_id__isNull`).option("--template-id.is-not-null <value>", `template_id__isNotNull`).option("--crm-opportunity-id <value>", `crm_opportunity_id`).option("--crm-opportunity-id.not <value>", `crm_opportunity_id__not`).option("--crm-opportunity-id.equals <value>", `crm_opportunity_id__equals`).option("--crm-opportunity-id.contains <value>", `crm_opportunity_id__contains`).option("--crm-opportunity-id.starts-with <value>", `crm_opportunity_id__startsWith`).option("--crm-opportunity-id.end-with <value>", `crm_opportunity_id__endWith`).option("--crm-opportunity-id.is-null <value>", `crm_opportunity_id__isNull`).option("--crm-opportunity-id.is-not-null <value>", `crm_opportunity_id__isNotNull`).option("--type <value>", `type`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
44827
45677
|
Examples:
|
|
44828
45678
|
hyperline quotes list
|
|
44829
45679
|
hyperline quotes list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44837,10 +45687,6 @@ Examples:
|
|
|
44837
45687
|
args.id = opts.id;
|
|
44838
45688
|
if (opts["id.not"] !== void 0)
|
|
44839
45689
|
args.id__not = opts["id.not"];
|
|
44840
|
-
if (opts["id.isNull"] !== void 0)
|
|
44841
|
-
args.id__isNull = opts["id.isNull"];
|
|
44842
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
44843
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
44844
45690
|
if (opts["id.equals"] !== void 0)
|
|
44845
45691
|
args.id__equals = opts["id.equals"];
|
|
44846
45692
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44853,10 +45699,6 @@ Examples:
|
|
|
44853
45699
|
args.number = opts.number;
|
|
44854
45700
|
if (opts["number.not"] !== void 0)
|
|
44855
45701
|
args.number__not = opts["number.not"];
|
|
44856
|
-
if (opts["number.isNull"] !== void 0)
|
|
44857
|
-
args.number__isNull = opts["number.isNull"];
|
|
44858
|
-
if (opts["number.isNotNull"] !== void 0)
|
|
44859
|
-
args.number__isNotNull = opts["number.isNotNull"];
|
|
44860
45702
|
if (opts["number.equals"] !== void 0)
|
|
44861
45703
|
args.number__equals = opts["number.equals"];
|
|
44862
45704
|
if (opts["number.contains"] !== void 0)
|
|
@@ -44873,10 +45715,6 @@ Examples:
|
|
|
44873
45715
|
args.customer_id = opts.customerId;
|
|
44874
45716
|
if (opts["customerId.not"] !== void 0)
|
|
44875
45717
|
args.customer_id__not = opts["customerId.not"];
|
|
44876
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
44877
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
44878
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
44879
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
44880
45718
|
if (opts["customerId.equals"] !== void 0)
|
|
44881
45719
|
args.customer_id__equals = opts["customerId.equals"];
|
|
44882
45720
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -44889,10 +45727,6 @@ Examples:
|
|
|
44889
45727
|
args.template_id = opts.templateId;
|
|
44890
45728
|
if (opts["templateId.not"] !== void 0)
|
|
44891
45729
|
args.template_id__not = opts["templateId.not"];
|
|
44892
|
-
if (opts["templateId.isNull"] !== void 0)
|
|
44893
|
-
args.template_id__isNull = opts["templateId.isNull"];
|
|
44894
|
-
if (opts["templateId.isNotNull"] !== void 0)
|
|
44895
|
-
args.template_id__isNotNull = opts["templateId.isNotNull"];
|
|
44896
45730
|
if (opts["templateId.equals"] !== void 0)
|
|
44897
45731
|
args.template_id__equals = opts["templateId.equals"];
|
|
44898
45732
|
if (opts["templateId.contains"] !== void 0)
|
|
@@ -44901,14 +45735,14 @@ Examples:
|
|
|
44901
45735
|
args.template_id__startsWith = opts["templateId.startsWith"];
|
|
44902
45736
|
if (opts["templateId.endWith"] !== void 0)
|
|
44903
45737
|
args.template_id__endWith = opts["templateId.endWith"];
|
|
45738
|
+
if (opts["templateId.isNull"] !== void 0)
|
|
45739
|
+
args.template_id__isNull = opts["templateId.isNull"];
|
|
45740
|
+
if (opts["templateId.isNotNull"] !== void 0)
|
|
45741
|
+
args.template_id__isNotNull = opts["templateId.isNotNull"];
|
|
44904
45742
|
if (opts.crmOpportunityId !== void 0)
|
|
44905
45743
|
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
44906
45744
|
if (opts["crmOpportunityId.not"] !== void 0)
|
|
44907
45745
|
args.crm_opportunity_id__not = opts["crmOpportunityId.not"];
|
|
44908
|
-
if (opts["crmOpportunityId.isNull"] !== void 0)
|
|
44909
|
-
args.crm_opportunity_id__isNull = opts["crmOpportunityId.isNull"];
|
|
44910
|
-
if (opts["crmOpportunityId.isNotNull"] !== void 0)
|
|
44911
|
-
args.crm_opportunity_id__isNotNull = opts["crmOpportunityId.isNotNull"];
|
|
44912
45746
|
if (opts["crmOpportunityId.equals"] !== void 0)
|
|
44913
45747
|
args.crm_opportunity_id__equals = opts["crmOpportunityId.equals"];
|
|
44914
45748
|
if (opts["crmOpportunityId.contains"] !== void 0)
|
|
@@ -44917,16 +45751,16 @@ Examples:
|
|
|
44917
45751
|
args.crm_opportunity_id__startsWith = opts["crmOpportunityId.startsWith"];
|
|
44918
45752
|
if (opts["crmOpportunityId.endWith"] !== void 0)
|
|
44919
45753
|
args.crm_opportunity_id__endWith = opts["crmOpportunityId.endWith"];
|
|
45754
|
+
if (opts["crmOpportunityId.isNull"] !== void 0)
|
|
45755
|
+
args.crm_opportunity_id__isNull = opts["crmOpportunityId.isNull"];
|
|
45756
|
+
if (opts["crmOpportunityId.isNotNull"] !== void 0)
|
|
45757
|
+
args.crm_opportunity_id__isNotNull = opts["crmOpportunityId.isNotNull"];
|
|
44920
45758
|
if (opts.type !== void 0)
|
|
44921
45759
|
args.type = opts.type;
|
|
44922
45760
|
if (opts.updatedAt !== void 0)
|
|
44923
45761
|
args.updated_at = opts.updatedAt;
|
|
44924
45762
|
if (opts["updatedAt.not"] !== void 0)
|
|
44925
45763
|
args.updated_at__not = opts["updatedAt.not"];
|
|
44926
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
44927
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
44928
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
44929
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
44930
45764
|
if (opts["updatedAt.equals"] !== void 0)
|
|
44931
45765
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44932
45766
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44950,16 +45784,12 @@ Examples:
|
|
|
44950
45784
|
"skip",
|
|
44951
45785
|
"id",
|
|
44952
45786
|
"id__not",
|
|
44953
|
-
"id__isNull",
|
|
44954
|
-
"id__isNotNull",
|
|
44955
45787
|
"id__equals",
|
|
44956
45788
|
"id__contains",
|
|
44957
45789
|
"id__startsWith",
|
|
44958
45790
|
"id__endWith",
|
|
44959
45791
|
"number",
|
|
44960
45792
|
"number__not",
|
|
44961
|
-
"number__isNull",
|
|
44962
|
-
"number__isNotNull",
|
|
44963
45793
|
"number__equals",
|
|
44964
45794
|
"number__contains",
|
|
44965
45795
|
"number__startsWith",
|
|
@@ -44968,33 +45798,29 @@ Examples:
|
|
|
44968
45798
|
"status__in",
|
|
44969
45799
|
"customer_id",
|
|
44970
45800
|
"customer_id__not",
|
|
44971
|
-
"customer_id__isNull",
|
|
44972
|
-
"customer_id__isNotNull",
|
|
44973
45801
|
"customer_id__equals",
|
|
44974
45802
|
"customer_id__contains",
|
|
44975
45803
|
"customer_id__startsWith",
|
|
44976
45804
|
"customer_id__endWith",
|
|
44977
45805
|
"template_id",
|
|
44978
45806
|
"template_id__not",
|
|
44979
|
-
"template_id__isNull",
|
|
44980
|
-
"template_id__isNotNull",
|
|
44981
45807
|
"template_id__equals",
|
|
44982
45808
|
"template_id__contains",
|
|
44983
45809
|
"template_id__startsWith",
|
|
44984
45810
|
"template_id__endWith",
|
|
45811
|
+
"template_id__isNull",
|
|
45812
|
+
"template_id__isNotNull",
|
|
44985
45813
|
"crm_opportunity_id",
|
|
44986
45814
|
"crm_opportunity_id__not",
|
|
44987
|
-
"crm_opportunity_id__isNull",
|
|
44988
|
-
"crm_opportunity_id__isNotNull",
|
|
44989
45815
|
"crm_opportunity_id__equals",
|
|
44990
45816
|
"crm_opportunity_id__contains",
|
|
44991
45817
|
"crm_opportunity_id__startsWith",
|
|
44992
45818
|
"crm_opportunity_id__endWith",
|
|
45819
|
+
"crm_opportunity_id__isNull",
|
|
45820
|
+
"crm_opportunity_id__isNotNull",
|
|
44993
45821
|
"type",
|
|
44994
45822
|
"updated_at",
|
|
44995
45823
|
"updated_at__not",
|
|
44996
|
-
"updated_at__isNull",
|
|
44997
|
-
"updated_at__isNotNull",
|
|
44998
45824
|
"updated_at__equals",
|
|
44999
45825
|
"updated_at__lt",
|
|
45000
45826
|
"updated_at__lte",
|
|
@@ -45021,12 +45847,12 @@ Examples:
|
|
|
45021
45847
|
queryParamKeys: []
|
|
45022
45848
|
});
|
|
45023
45849
|
});
|
|
45024
|
-
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` inline \u2014 the full configuration, not a reference to an existing subscription \u2014 to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice. For quotes created from \`template_id\`, use this tool for subscription overrides such as dates, contract terms, products, phases, coupons, discounts, prices, seats, and subscription custom properties. Omit \`terms\`, \`comments\`, and \`contract_clause_ids\` unless deliberately overriding template content. Discover product and price configuration IDs with \`get_catalog_context\`.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.`).option("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. Set to \`null\` to clear the manually set value.`).option("--contract-value <number>", `What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for \`subscription\` and \`subscription_update\` quotes, unless set manually. Not set on \`one_off\` quotes. When specified, overrides the computed value. Set to \`null\` to go back to the computed value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
45850
|
+
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` inline \u2014 the full configuration, not a reference to an existing subscription \u2014 to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice. For quotes created from \`template_id\`, use this tool for subscription overrides such as dates, contract terms, products, phases, coupons, discounts, prices, seats, and subscription custom properties. Omit \`terms\`, \`comments\`, and \`contract_clause_ids\` unless deliberately overriding template content. Discover product and price configuration IDs with \`get_catalog_context\`.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The user must be a member of your Hyperline account. The owner requests approval when the quote is finalized using an API key or finalized during creation.`).option("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. Set to \`null\` to clear the manually set value.`).option("--contract-value <number>", `What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for \`subscription\` and \`subscription_update\` quotes, unless set manually. Not set on \`one_off\` quotes. When specified, overrides the computed value. Set to \`null\` to go back to the computed value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
45025
45851
|
|
|
45026
45852
|
- \`all\`: Display all pricing tiers.
|
|
45027
45853
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
45028
45854
|
- \`none\`: Hide all pricing tiers.
|
|
45029
|
-
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-discounts-on-total <value>", `Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <json>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <json>", `Invoice configuration constituting the one-off quote. When provided on a draft one-off quote, it deletes the previous draft invoice and creates a fresh one linked to the quote. \`invoice.invoicing_entity_id\` is ignored on update \u2014 the quote's existing invoicing entity is reused.`).addHelpText("after", `
|
|
45855
|
+
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-discounts-on-total <value>", `Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <json>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <json>", `Invoice configuration constituting the one-off quote. When provided on a draft one-off quote, it deletes the previous draft invoice and creates a fresh one linked to the quote. \`invoice.invoicing_entity_id\` is ignored on update \u2014 the quote's existing invoicing entity is reused.`).option("--attachments <paths...>", `Paths of the local files to upload (space-separated, sends a multipart request)`).addHelpText("after", `
|
|
45030
45856
|
Examples:
|
|
45031
45857
|
hyperline quotes update --id <id>
|
|
45032
45858
|
hyperline quotes update --id <id> --owner-email <owner_email> --catalog-version-id <catalog_version_id>
|
|
@@ -45087,11 +45913,15 @@ Examples:
|
|
|
45087
45913
|
args.subscription = JSON.parse(opts.subscription);
|
|
45088
45914
|
if (opts.invoice !== void 0)
|
|
45089
45915
|
args.invoice = JSON.parse(opts.invoice);
|
|
45916
|
+
const files = {};
|
|
45917
|
+
if (opts.attachments !== void 0)
|
|
45918
|
+
files.attachments = [opts.attachments].flat();
|
|
45090
45919
|
await ctx.execute({
|
|
45091
45920
|
method: "PATCH",
|
|
45092
45921
|
path: "/v1/quotes/{id}",
|
|
45093
45922
|
args,
|
|
45094
|
-
queryParamKeys: []
|
|
45923
|
+
queryParamKeys: [],
|
|
45924
|
+
files
|
|
45095
45925
|
});
|
|
45096
45926
|
});
|
|
45097
45927
|
resource.command("duplicate").description(`Create a draft duplicate of an existing quote, including its linked invoice or subscription configuration.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
@@ -45244,9 +46074,10 @@ Examples:
|
|
|
45244
46074
|
queryParamKeys: []
|
|
45245
46075
|
});
|
|
45246
46076
|
});
|
|
45247
|
-
resource.command("sign").description(`Manually mark a quote as signed externally. Optionally upload a signed PDF. Bypasses the built-in Hyperline signature flow.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
46077
|
+
resource.command("sign").description(`Manually mark a quote as signed externally. Optionally upload a signed PDF. Bypasses the built-in Hyperline signature flow.`).requiredOption("--id <value>", `id parameter`).option("--signed-quote <path>", `Path of the local file to upload (sends a multipart request)`).addHelpText("after", `
|
|
45248
46078
|
Examples:
|
|
45249
46079
|
hyperline quotes sign --id <id>
|
|
46080
|
+
hyperline quotes sign --id <id> --signed-quote <path>
|
|
45250
46081
|
hyperline quotes sign --id <id> --output json`).action(async (opts) => {
|
|
45251
46082
|
const ctx = resource.parent?.opts()._ctx;
|
|
45252
46083
|
if (!ctx) {
|
|
@@ -45256,11 +46087,15 @@ Examples:
|
|
|
45256
46087
|
const args = {};
|
|
45257
46088
|
if (opts.id !== void 0)
|
|
45258
46089
|
args.id = opts.id;
|
|
46090
|
+
const files = {};
|
|
46091
|
+
if (opts.signedQuote !== void 0)
|
|
46092
|
+
files.signed_quote = [opts.signedQuote].flat();
|
|
45259
46093
|
await ctx.execute({
|
|
45260
46094
|
method: "POST",
|
|
45261
46095
|
path: "/v1/quotes/{id}/sign",
|
|
45262
46096
|
args,
|
|
45263
|
-
queryParamKeys: []
|
|
46097
|
+
queryParamKeys: [],
|
|
46098
|
+
files
|
|
45264
46099
|
});
|
|
45265
46100
|
});
|
|
45266
46101
|
resource.command("void").description(`Void an existing quote, canceling it and preventing further actions.`).requiredOption("--id <value>", `id parameter`).requiredOption("--reason <value>", `Quote voiding reason.`).addHelpText("after", `
|
|
@@ -45372,7 +46207,7 @@ Examples:
|
|
|
45372
46207
|
// build/commands/generated/quotes-templates.js
|
|
45373
46208
|
function registerQuotes_TemplatesCommands(parent) {
|
|
45374
46209
|
const resource = parent.command("quotes-templates").description("Manage quotes > templates");
|
|
45375
|
-
resource.command("list-quote-templates").description(`List quote templates with pagination and optional filters for id, name, subscription_template_id, and search. Use template IDs to create quotes from reusable quote defaults.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.
|
|
46210
|
+
resource.command("list-quote-templates").description(`List quote templates with pagination and optional filters for id, name, subscription_template_id, and search. Use template IDs to create quotes from reusable quote defaults.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.equals <value>", `id__equals`).option("--id.contains <value>", `id__contains`).option("--id.starts-with <value>", `id__startsWith`).option("--id.end-with <value>", `id__endWith`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--subscription-template-id <value>", `subscription_template_id`).option("--subscription-template-id.not <value>", `subscription_template_id__not`).option("--subscription-template-id.equals <value>", `subscription_template_id__equals`).option("--subscription-template-id.contains <value>", `subscription_template_id__contains`).option("--subscription-template-id.starts-with <value>", `subscription_template_id__startsWith`).option("--subscription-template-id.end-with <value>", `subscription_template_id__endWith`).option("--subscription-template-id.is-null <value>", `subscription_template_id__isNull`).option("--subscription-template-id.is-not-null <value>", `subscription_template_id__isNotNull`).option("--search <value>", `search`).addHelpText("after", `
|
|
45376
46211
|
Examples:
|
|
45377
46212
|
hyperline quotes-templates list-quote-templates
|
|
45378
46213
|
hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -45386,10 +46221,6 @@ Examples:
|
|
|
45386
46221
|
args.id = opts.id;
|
|
45387
46222
|
if (opts["id.not"] !== void 0)
|
|
45388
46223
|
args.id__not = opts["id.not"];
|
|
45389
|
-
if (opts["id.isNull"] !== void 0)
|
|
45390
|
-
args.id__isNull = opts["id.isNull"];
|
|
45391
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
45392
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
45393
46224
|
if (opts["id.equals"] !== void 0)
|
|
45394
46225
|
args.id__equals = opts["id.equals"];
|
|
45395
46226
|
if (opts["id.contains"] !== void 0)
|
|
@@ -45402,10 +46233,6 @@ Examples:
|
|
|
45402
46233
|
args.name = opts.name;
|
|
45403
46234
|
if (opts["name.not"] !== void 0)
|
|
45404
46235
|
args.name__not = opts["name.not"];
|
|
45405
|
-
if (opts["name.isNull"] !== void 0)
|
|
45406
|
-
args.name__isNull = opts["name.isNull"];
|
|
45407
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
45408
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
45409
46236
|
if (opts["name.equals"] !== void 0)
|
|
45410
46237
|
args.name__equals = opts["name.equals"];
|
|
45411
46238
|
if (opts["name.contains"] !== void 0)
|
|
@@ -45418,10 +46245,6 @@ Examples:
|
|
|
45418
46245
|
args.subscription_template_id = opts.subscriptionTemplateId;
|
|
45419
46246
|
if (opts["subscriptionTemplateId.not"] !== void 0)
|
|
45420
46247
|
args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
|
|
45421
|
-
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
45422
|
-
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
45423
|
-
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
45424
|
-
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
45425
46248
|
if (opts["subscriptionTemplateId.equals"] !== void 0)
|
|
45426
46249
|
args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
|
|
45427
46250
|
if (opts["subscriptionTemplateId.contains"] !== void 0)
|
|
@@ -45430,6 +46253,10 @@ Examples:
|
|
|
45430
46253
|
args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
|
|
45431
46254
|
if (opts["subscriptionTemplateId.endWith"] !== void 0)
|
|
45432
46255
|
args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
|
|
46256
|
+
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
46257
|
+
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
46258
|
+
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
46259
|
+
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
45433
46260
|
if (opts.search !== void 0)
|
|
45434
46261
|
args.search = opts.search;
|
|
45435
46262
|
if (opts.take !== void 0)
|
|
@@ -45445,28 +46272,24 @@ Examples:
|
|
|
45445
46272
|
"skip",
|
|
45446
46273
|
"id",
|
|
45447
46274
|
"id__not",
|
|
45448
|
-
"id__isNull",
|
|
45449
|
-
"id__isNotNull",
|
|
45450
46275
|
"id__equals",
|
|
45451
46276
|
"id__contains",
|
|
45452
46277
|
"id__startsWith",
|
|
45453
46278
|
"id__endWith",
|
|
45454
46279
|
"name",
|
|
45455
46280
|
"name__not",
|
|
45456
|
-
"name__isNull",
|
|
45457
|
-
"name__isNotNull",
|
|
45458
46281
|
"name__equals",
|
|
45459
46282
|
"name__contains",
|
|
45460
46283
|
"name__startsWith",
|
|
45461
46284
|
"name__endWith",
|
|
45462
46285
|
"subscription_template_id",
|
|
45463
46286
|
"subscription_template_id__not",
|
|
45464
|
-
"subscription_template_id__isNull",
|
|
45465
|
-
"subscription_template_id__isNotNull",
|
|
45466
46287
|
"subscription_template_id__equals",
|
|
45467
46288
|
"subscription_template_id__contains",
|
|
45468
46289
|
"subscription_template_id__startsWith",
|
|
45469
46290
|
"subscription_template_id__endWith",
|
|
46291
|
+
"subscription_template_id__isNull",
|
|
46292
|
+
"subscription_template_id__isNotNull",
|
|
45470
46293
|
"search"
|
|
45471
46294
|
]
|
|
45472
46295
|
});
|
|
@@ -45868,7 +46691,7 @@ Examples:
|
|
|
45868
46691
|
queryParamKeys: []
|
|
45869
46692
|
});
|
|
45870
46693
|
});
|
|
45871
|
-
resource.command("list").description(`List subscriptions with filters for activation_strategy, status, currency, plan_id, original_quote_id, integration_entity_id, customer_id, invoicing_entity_id, purchase_order, updated_at, cancel_at, custom_properties, and the active contract: contract_start__gte/__lte, contract_end__gte/__lte, renew_automatically. For upcoming renewals, combine contract_end__gte/__lte with renew_automatically, plus cancel_at for scheduled cancellations. Draft, voided, cancelled and archived excluded by default (status=all applies the same exclusion); status=any returns every status. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--activation-strategy <value>", `activation_strategy`).option("--activation-strategy.in <value>", `activation_strategy__in`).option("--status <value>", `
|
|
46694
|
+
resource.command("list").description(`List subscriptions with filters for activation_strategy, status, currency, plan_id, original_quote_id, integration_entity_id, customer_id, invoicing_entity_id, purchase_order, updated_at, cancel_at, custom_properties (JSON object of slug to exact value, e.g. {"my_slug":"value"}; slugs matching no custom property are ignored), and the active contract: contract_start__gte/__lte, contract_end__gte/__lte, renew_automatically. For upcoming renewals, combine contract_end__gte/__lte with renew_automatically, plus cancel_at for scheduled cancellations. Draft, voided, cancelled and archived excluded by default (status=all applies the same exclusion); status=any returns every status. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--activation-strategy <value>", `activation_strategy`).option("--activation-strategy.in <value>", `activation_strategy__in`).option("--status <value>", `
|
|
45872
46695
|
Subscription status filter.
|
|
45873
46696
|
|
|
45874
46697
|
- \`active\`, \`pending\`, \`paused\`, \`errored\`, \`cancelled\`, \`draft\`, \`voided\`, \`archived\`: match that status.
|
|
@@ -45877,7 +46700,7 @@ Subscription status filter.
|
|
|
45877
46700
|
- \`any\`: every status, no exclusion.
|
|
45878
46701
|
|
|
45879
46702
|
Use \`status__in\` with comma-separated values to combine statuses. When the filter is omitted, \`draft\`, \`voided\`, \`cancelled\` and \`archived\` subscriptions are excluded.
|
|
45880
|
-
`).option("--status.in <value>", `Comma-separated list of subscription statuses to include. Same values as \`status\`.`).option("--currency <value>", `currency`).option("--currency.not <value>", `currency__not`).option("--currency.
|
|
46703
|
+
`).option("--status.in <value>", `Comma-separated list of subscription statuses to include. Same values as \`status\`.`).option("--currency <value>", `currency`).option("--currency.not <value>", `currency__not`).option("--currency.equals <value>", `currency__equals`).option("--currency.contains <value>", `currency__contains`).option("--currency.starts-with <value>", `currency__startsWith`).option("--currency.end-with <value>", `currency__endWith`).option("--plan-id <value>", `plan_id`).option("--plan-id.not <value>", `plan_id__not`).option("--plan-id.equals <value>", `plan_id__equals`).option("--plan-id.contains <value>", `plan_id__contains`).option("--plan-id.starts-with <value>", `plan_id__startsWith`).option("--plan-id.end-with <value>", `plan_id__endWith`).option("--plan-id.is-null <value>", `plan_id__isNull`).option("--plan-id.is-not-null <value>", `plan_id__isNotNull`).option("--original-quote-id <value>", `original_quote_id`).option("--original-quote-id.not <value>", `original_quote_id__not`).option("--original-quote-id.equals <value>", `original_quote_id__equals`).option("--original-quote-id.contains <value>", `original_quote_id__contains`).option("--original-quote-id.starts-with <value>", `original_quote_id__startsWith`).option("--original-quote-id.end-with <value>", `original_quote_id__endWith`).option("--original-quote-id.is-null <value>", `original_quote_id__isNull`).option("--original-quote-id.is-not-null <value>", `original_quote_id__isNotNull`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--customer-id.is-null <value>", `customer_id__isNull`).option("--customer-id.is-not-null <value>", `customer_id__isNotNull`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--purchase-order <value>", `purchase_order`).option("--purchase-order.not <value>", `purchase_order__not`).option("--purchase-order.equals <value>", `purchase_order__equals`).option("--purchase-order.contains <value>", `purchase_order__contains`).option("--purchase-order.starts-with <value>", `purchase_order__startsWith`).option("--purchase-order.end-with <value>", `purchase_order__endWith`).option("--purchase-order.is-null <value>", `purchase_order__isNull`).option("--purchase-order.is-not-null <value>", `purchase_order__isNotNull`).option("--custom-properties <value>", `Filter by custom property values, as a JSON object mapping a custom property slug to the exact value to match. Suffix a slug with \`__contains\` for a case-sensitive substring match on text values. Several entries are combined with AND. Entries whose slug matches no custom property, or whose value is \`false\`, \`0\`, \`null\` or an empty string, are ignored.`).option("--invoice-drafts <value>", `invoice_drafts`).option("--integration-entity-id <value>", `integration_entity_id`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).option("--cancel-at <value>", `cancel_at`).option("--cancel-at.not <value>", `cancel_at__not`).option("--cancel-at.equals <value>", `cancel_at__equals`).option("--cancel-at.lt <value>", `cancel_at__lt`).option("--cancel-at.lte <value>", `cancel_at__lte`).option("--cancel-at.gt <value>", `cancel_at__gt`).option("--cancel-at.gte <value>", `cancel_at__gte`).option("--cancel-at.is-null <value>", `cancel_at__isNull`).option("--cancel-at.is-not-null <value>", `cancel_at__isNotNull`).option("--contract-start.gte <value>", `Return only subscriptions whose active contract starts on or after this date.`).option("--contract-start.lte <value>", `Return only subscriptions whose active contract starts on or before this date.`).option("--contract-end.gte <value>", `Return only subscriptions whose active contract ends on or after this date.`).option("--contract-end.lte <value>", `Return only subscriptions whose active contract ends on or before this date.`).option("--renew-automatically <value>", `Return only subscriptions whose active contract renews automatically (\`true\`) or not (\`false\`).`).addHelpText("after", `
|
|
45881
46704
|
Examples:
|
|
45882
46705
|
hyperline subscriptions list
|
|
45883
46706
|
hyperline subscriptions list --take <take> --activation-strategy <activation_strategy>`).action(async (opts) => {
|
|
@@ -45899,10 +46722,6 @@ Examples:
|
|
|
45899
46722
|
args.currency = opts.currency;
|
|
45900
46723
|
if (opts["currency.not"] !== void 0)
|
|
45901
46724
|
args.currency__not = opts["currency.not"];
|
|
45902
|
-
if (opts["currency.isNull"] !== void 0)
|
|
45903
|
-
args.currency__isNull = opts["currency.isNull"];
|
|
45904
|
-
if (opts["currency.isNotNull"] !== void 0)
|
|
45905
|
-
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
45906
46725
|
if (opts["currency.equals"] !== void 0)
|
|
45907
46726
|
args.currency__equals = opts["currency.equals"];
|
|
45908
46727
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -45915,10 +46734,6 @@ Examples:
|
|
|
45915
46734
|
args.plan_id = opts.planId;
|
|
45916
46735
|
if (opts["planId.not"] !== void 0)
|
|
45917
46736
|
args.plan_id__not = opts["planId.not"];
|
|
45918
|
-
if (opts["planId.isNull"] !== void 0)
|
|
45919
|
-
args.plan_id__isNull = opts["planId.isNull"];
|
|
45920
|
-
if (opts["planId.isNotNull"] !== void 0)
|
|
45921
|
-
args.plan_id__isNotNull = opts["planId.isNotNull"];
|
|
45922
46737
|
if (opts["planId.equals"] !== void 0)
|
|
45923
46738
|
args.plan_id__equals = opts["planId.equals"];
|
|
45924
46739
|
if (opts["planId.contains"] !== void 0)
|
|
@@ -45927,14 +46742,14 @@ Examples:
|
|
|
45927
46742
|
args.plan_id__startsWith = opts["planId.startsWith"];
|
|
45928
46743
|
if (opts["planId.endWith"] !== void 0)
|
|
45929
46744
|
args.plan_id__endWith = opts["planId.endWith"];
|
|
46745
|
+
if (opts["planId.isNull"] !== void 0)
|
|
46746
|
+
args.plan_id__isNull = opts["planId.isNull"];
|
|
46747
|
+
if (opts["planId.isNotNull"] !== void 0)
|
|
46748
|
+
args.plan_id__isNotNull = opts["planId.isNotNull"];
|
|
45930
46749
|
if (opts.originalQuoteId !== void 0)
|
|
45931
46750
|
args.original_quote_id = opts.originalQuoteId;
|
|
45932
46751
|
if (opts["originalQuoteId.not"] !== void 0)
|
|
45933
46752
|
args.original_quote_id__not = opts["originalQuoteId.not"];
|
|
45934
|
-
if (opts["originalQuoteId.isNull"] !== void 0)
|
|
45935
|
-
args.original_quote_id__isNull = opts["originalQuoteId.isNull"];
|
|
45936
|
-
if (opts["originalQuoteId.isNotNull"] !== void 0)
|
|
45937
|
-
args.original_quote_id__isNotNull = opts["originalQuoteId.isNotNull"];
|
|
45938
46753
|
if (opts["originalQuoteId.equals"] !== void 0)
|
|
45939
46754
|
args.original_quote_id__equals = opts["originalQuoteId.equals"];
|
|
45940
46755
|
if (opts["originalQuoteId.contains"] !== void 0)
|
|
@@ -45943,14 +46758,14 @@ Examples:
|
|
|
45943
46758
|
args.original_quote_id__startsWith = opts["originalQuoteId.startsWith"];
|
|
45944
46759
|
if (opts["originalQuoteId.endWith"] !== void 0)
|
|
45945
46760
|
args.original_quote_id__endWith = opts["originalQuoteId.endWith"];
|
|
46761
|
+
if (opts["originalQuoteId.isNull"] !== void 0)
|
|
46762
|
+
args.original_quote_id__isNull = opts["originalQuoteId.isNull"];
|
|
46763
|
+
if (opts["originalQuoteId.isNotNull"] !== void 0)
|
|
46764
|
+
args.original_quote_id__isNotNull = opts["originalQuoteId.isNotNull"];
|
|
45946
46765
|
if (opts.customerId !== void 0)
|
|
45947
46766
|
args.customer_id = opts.customerId;
|
|
45948
46767
|
if (opts["customerId.not"] !== void 0)
|
|
45949
46768
|
args.customer_id__not = opts["customerId.not"];
|
|
45950
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
45951
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
45952
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
45953
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
45954
46769
|
if (opts["customerId.equals"] !== void 0)
|
|
45955
46770
|
args.customer_id__equals = opts["customerId.equals"];
|
|
45956
46771
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -45959,16 +46774,16 @@ Examples:
|
|
|
45959
46774
|
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
45960
46775
|
if (opts["customerId.endWith"] !== void 0)
|
|
45961
46776
|
args.customer_id__endWith = opts["customerId.endWith"];
|
|
46777
|
+
if (opts["customerId.isNull"] !== void 0)
|
|
46778
|
+
args.customer_id__isNull = opts["customerId.isNull"];
|
|
46779
|
+
if (opts["customerId.isNotNull"] !== void 0)
|
|
46780
|
+
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
45962
46781
|
if (opts.invoicingEntityId !== void 0)
|
|
45963
46782
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
45964
46783
|
if (opts.purchaseOrder !== void 0)
|
|
45965
46784
|
args.purchase_order = opts.purchaseOrder;
|
|
45966
46785
|
if (opts["purchaseOrder.not"] !== void 0)
|
|
45967
46786
|
args.purchase_order__not = opts["purchaseOrder.not"];
|
|
45968
|
-
if (opts["purchaseOrder.isNull"] !== void 0)
|
|
45969
|
-
args.purchase_order__isNull = opts["purchaseOrder.isNull"];
|
|
45970
|
-
if (opts["purchaseOrder.isNotNull"] !== void 0)
|
|
45971
|
-
args.purchase_order__isNotNull = opts["purchaseOrder.isNotNull"];
|
|
45972
46787
|
if (opts["purchaseOrder.equals"] !== void 0)
|
|
45973
46788
|
args.purchase_order__equals = opts["purchaseOrder.equals"];
|
|
45974
46789
|
if (opts["purchaseOrder.contains"] !== void 0)
|
|
@@ -45977,6 +46792,10 @@ Examples:
|
|
|
45977
46792
|
args.purchase_order__startsWith = opts["purchaseOrder.startsWith"];
|
|
45978
46793
|
if (opts["purchaseOrder.endWith"] !== void 0)
|
|
45979
46794
|
args.purchase_order__endWith = opts["purchaseOrder.endWith"];
|
|
46795
|
+
if (opts["purchaseOrder.isNull"] !== void 0)
|
|
46796
|
+
args.purchase_order__isNull = opts["purchaseOrder.isNull"];
|
|
46797
|
+
if (opts["purchaseOrder.isNotNull"] !== void 0)
|
|
46798
|
+
args.purchase_order__isNotNull = opts["purchaseOrder.isNotNull"];
|
|
45980
46799
|
if (opts.customProperties !== void 0)
|
|
45981
46800
|
args.custom_properties = opts.customProperties;
|
|
45982
46801
|
if (opts.invoiceDrafts !== void 0)
|
|
@@ -45987,10 +46806,6 @@ Examples:
|
|
|
45987
46806
|
args.updated_at = opts.updatedAt;
|
|
45988
46807
|
if (opts["updatedAt.not"] !== void 0)
|
|
45989
46808
|
args.updated_at__not = opts["updatedAt.not"];
|
|
45990
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
45991
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
45992
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
45993
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
45994
46809
|
if (opts["updatedAt.equals"] !== void 0)
|
|
45995
46810
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
45996
46811
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -46005,10 +46820,6 @@ Examples:
|
|
|
46005
46820
|
args.cancel_at = opts.cancelAt;
|
|
46006
46821
|
if (opts["cancelAt.not"] !== void 0)
|
|
46007
46822
|
args.cancel_at__not = opts["cancelAt.not"];
|
|
46008
|
-
if (opts["cancelAt.isNull"] !== void 0)
|
|
46009
|
-
args.cancel_at__isNull = opts["cancelAt.isNull"];
|
|
46010
|
-
if (opts["cancelAt.isNotNull"] !== void 0)
|
|
46011
|
-
args.cancel_at__isNotNull = opts["cancelAt.isNotNull"];
|
|
46012
46823
|
if (opts["cancelAt.equals"] !== void 0)
|
|
46013
46824
|
args.cancel_at__equals = opts["cancelAt.equals"];
|
|
46014
46825
|
if (opts["cancelAt.lt"] !== void 0)
|
|
@@ -46019,6 +46830,10 @@ Examples:
|
|
|
46019
46830
|
args.cancel_at__gt = opts["cancelAt.gt"];
|
|
46020
46831
|
if (opts["cancelAt.gte"] !== void 0)
|
|
46021
46832
|
args.cancel_at__gte = opts["cancelAt.gte"];
|
|
46833
|
+
if (opts["cancelAt.isNull"] !== void 0)
|
|
46834
|
+
args.cancel_at__isNull = opts["cancelAt.isNull"];
|
|
46835
|
+
if (opts["cancelAt.isNotNull"] !== void 0)
|
|
46836
|
+
args.cancel_at__isNotNull = opts["cancelAt.isNotNull"];
|
|
46022
46837
|
if (opts["contractStart.gte"] !== void 0)
|
|
46023
46838
|
args.contract_start__gte = opts["contractStart.gte"];
|
|
46024
46839
|
if (opts["contractStart.lte"] !== void 0)
|
|
@@ -46046,52 +46861,48 @@ Examples:
|
|
|
46046
46861
|
"status__in",
|
|
46047
46862
|
"currency",
|
|
46048
46863
|
"currency__not",
|
|
46049
|
-
"currency__isNull",
|
|
46050
|
-
"currency__isNotNull",
|
|
46051
46864
|
"currency__equals",
|
|
46052
46865
|
"currency__contains",
|
|
46053
46866
|
"currency__startsWith",
|
|
46054
46867
|
"currency__endWith",
|
|
46055
46868
|
"plan_id",
|
|
46056
46869
|
"plan_id__not",
|
|
46057
|
-
"plan_id__isNull",
|
|
46058
|
-
"plan_id__isNotNull",
|
|
46059
46870
|
"plan_id__equals",
|
|
46060
46871
|
"plan_id__contains",
|
|
46061
46872
|
"plan_id__startsWith",
|
|
46062
46873
|
"plan_id__endWith",
|
|
46874
|
+
"plan_id__isNull",
|
|
46875
|
+
"plan_id__isNotNull",
|
|
46063
46876
|
"original_quote_id",
|
|
46064
46877
|
"original_quote_id__not",
|
|
46065
|
-
"original_quote_id__isNull",
|
|
46066
|
-
"original_quote_id__isNotNull",
|
|
46067
46878
|
"original_quote_id__equals",
|
|
46068
46879
|
"original_quote_id__contains",
|
|
46069
46880
|
"original_quote_id__startsWith",
|
|
46070
46881
|
"original_quote_id__endWith",
|
|
46882
|
+
"original_quote_id__isNull",
|
|
46883
|
+
"original_quote_id__isNotNull",
|
|
46071
46884
|
"customer_id",
|
|
46072
46885
|
"customer_id__not",
|
|
46073
|
-
"customer_id__isNull",
|
|
46074
|
-
"customer_id__isNotNull",
|
|
46075
46886
|
"customer_id__equals",
|
|
46076
46887
|
"customer_id__contains",
|
|
46077
46888
|
"customer_id__startsWith",
|
|
46078
46889
|
"customer_id__endWith",
|
|
46890
|
+
"customer_id__isNull",
|
|
46891
|
+
"customer_id__isNotNull",
|
|
46079
46892
|
"invoicing_entity_id",
|
|
46080
46893
|
"purchase_order",
|
|
46081
46894
|
"purchase_order__not",
|
|
46082
|
-
"purchase_order__isNull",
|
|
46083
|
-
"purchase_order__isNotNull",
|
|
46084
46895
|
"purchase_order__equals",
|
|
46085
46896
|
"purchase_order__contains",
|
|
46086
46897
|
"purchase_order__startsWith",
|
|
46087
46898
|
"purchase_order__endWith",
|
|
46899
|
+
"purchase_order__isNull",
|
|
46900
|
+
"purchase_order__isNotNull",
|
|
46088
46901
|
"custom_properties",
|
|
46089
46902
|
"invoice_drafts",
|
|
46090
46903
|
"integration_entity_id",
|
|
46091
46904
|
"updated_at",
|
|
46092
46905
|
"updated_at__not",
|
|
46093
|
-
"updated_at__isNull",
|
|
46094
|
-
"updated_at__isNotNull",
|
|
46095
46906
|
"updated_at__equals",
|
|
46096
46907
|
"updated_at__lt",
|
|
46097
46908
|
"updated_at__lte",
|
|
@@ -46099,13 +46910,13 @@ Examples:
|
|
|
46099
46910
|
"updated_at__gte",
|
|
46100
46911
|
"cancel_at",
|
|
46101
46912
|
"cancel_at__not",
|
|
46102
|
-
"cancel_at__isNull",
|
|
46103
|
-
"cancel_at__isNotNull",
|
|
46104
46913
|
"cancel_at__equals",
|
|
46105
46914
|
"cancel_at__lt",
|
|
46106
46915
|
"cancel_at__lte",
|
|
46107
46916
|
"cancel_at__gt",
|
|
46108
46917
|
"cancel_at__gte",
|
|
46918
|
+
"cancel_at__isNull",
|
|
46919
|
+
"cancel_at__isNotNull",
|
|
46109
46920
|
"contract_start__gte",
|
|
46110
46921
|
"contract_start__lte",
|
|
46111
46922
|
"contract_end__gte",
|
|
@@ -46392,7 +47203,7 @@ Examples:
|
|
|
46392
47203
|
// build/commands/generated/subscriptions-transitions.js
|
|
46393
47204
|
function registerSubscriptions_TransitionsCommands(parent) {
|
|
46394
47205
|
const resource = parent.command("subscriptions-transitions").description("Manage subscriptions > transitions");
|
|
46395
|
-
resource.command("list-subscription-transitions").description(`List subscription transitions (migrations from one subscription to another). Filterable and paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--source-subscription-id <value>", `source_subscription_id`).option("--source-subscription-id.not <value>", `source_subscription_id__not`).option("--source-subscription-id.
|
|
47206
|
+
resource.command("list-subscription-transitions").description(`List subscription transitions (migrations from one subscription to another). Filterable and paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--source-subscription-id <value>", `source_subscription_id`).option("--source-subscription-id.not <value>", `source_subscription_id__not`).option("--source-subscription-id.equals <value>", `source_subscription_id__equals`).option("--source-subscription-id.contains <value>", `source_subscription_id__contains`).option("--source-subscription-id.starts-with <value>", `source_subscription_id__startsWith`).option("--source-subscription-id.end-with <value>", `source_subscription_id__endWith`).option("--base-subscription-id <value>", `base_subscription_id`).option("--base-subscription-id.not <value>", `base_subscription_id__not`).option("--base-subscription-id.equals <value>", `base_subscription_id__equals`).option("--base-subscription-id.contains <value>", `base_subscription_id__contains`).option("--base-subscription-id.starts-with <value>", `base_subscription_id__startsWith`).option("--base-subscription-id.end-with <value>", `base_subscription_id__endWith`).option("--target-subscription-id <value>", `target_subscription_id`).option("--target-subscription-id.not <value>", `target_subscription_id__not`).option("--target-subscription-id.equals <value>", `target_subscription_id__equals`).option("--target-subscription-id.contains <value>", `target_subscription_id__contains`).option("--target-subscription-id.starts-with <value>", `target_subscription_id__startsWith`).option("--target-subscription-id.end-with <value>", `target_subscription_id__endWith`).option("--target-subscription-id.is-null <value>", `target_subscription_id__isNull`).option("--target-subscription-id.is-not-null <value>", `target_subscription_id__isNotNull`).option("--transition-date <value>", `transition_date`).option("--transition-date.not <value>", `transition_date__not`).option("--transition-date.equals <value>", `transition_date__equals`).option("--transition-date.lt <value>", `transition_date__lt`).option("--transition-date.lte <value>", `transition_date__lte`).option("--transition-date.gt <value>", `transition_date__gt`).option("--transition-date.gte <value>", `transition_date__gte`).option("--transition-date.is-null <value>", `transition_date__isNull`).option("--transition-date.is-not-null <value>", `transition_date__isNotNull`).option("--transitioned-at <value>", `transitioned_at`).option("--transitioned-at.not <value>", `transitioned_at__not`).option("--transitioned-at.equals <value>", `transitioned_at__equals`).option("--transitioned-at.lt <value>", `transitioned_at__lt`).option("--transitioned-at.lte <value>", `transitioned_at__lte`).option("--transitioned-at.gt <value>", `transitioned_at__gt`).option("--transitioned-at.gte <value>", `transitioned_at__gte`).option("--transitioned-at.is-null <value>", `transitioned_at__isNull`).option("--transitioned-at.is-not-null <value>", `transitioned_at__isNotNull`).addHelpText("after", `
|
|
46396
47207
|
Examples:
|
|
46397
47208
|
hyperline subscriptions-transitions list-subscription-transitions
|
|
46398
47209
|
hyperline subscriptions-transitions list-subscription-transitions --take <take> --status <status>`).action(async (opts) => {
|
|
@@ -46410,10 +47221,6 @@ Examples:
|
|
|
46410
47221
|
args.source_subscription_id = opts.sourceSubscriptionId;
|
|
46411
47222
|
if (opts["sourceSubscriptionId.not"] !== void 0)
|
|
46412
47223
|
args.source_subscription_id__not = opts["sourceSubscriptionId.not"];
|
|
46413
|
-
if (opts["sourceSubscriptionId.isNull"] !== void 0)
|
|
46414
|
-
args.source_subscription_id__isNull = opts["sourceSubscriptionId.isNull"];
|
|
46415
|
-
if (opts["sourceSubscriptionId.isNotNull"] !== void 0)
|
|
46416
|
-
args.source_subscription_id__isNotNull = opts["sourceSubscriptionId.isNotNull"];
|
|
46417
47224
|
if (opts["sourceSubscriptionId.equals"] !== void 0)
|
|
46418
47225
|
args.source_subscription_id__equals = opts["sourceSubscriptionId.equals"];
|
|
46419
47226
|
if (opts["sourceSubscriptionId.contains"] !== void 0)
|
|
@@ -46426,10 +47233,6 @@ Examples:
|
|
|
46426
47233
|
args.base_subscription_id = opts.baseSubscriptionId;
|
|
46427
47234
|
if (opts["baseSubscriptionId.not"] !== void 0)
|
|
46428
47235
|
args.base_subscription_id__not = opts["baseSubscriptionId.not"];
|
|
46429
|
-
if (opts["baseSubscriptionId.isNull"] !== void 0)
|
|
46430
|
-
args.base_subscription_id__isNull = opts["baseSubscriptionId.isNull"];
|
|
46431
|
-
if (opts["baseSubscriptionId.isNotNull"] !== void 0)
|
|
46432
|
-
args.base_subscription_id__isNotNull = opts["baseSubscriptionId.isNotNull"];
|
|
46433
47236
|
if (opts["baseSubscriptionId.equals"] !== void 0)
|
|
46434
47237
|
args.base_subscription_id__equals = opts["baseSubscriptionId.equals"];
|
|
46435
47238
|
if (opts["baseSubscriptionId.contains"] !== void 0)
|
|
@@ -46442,10 +47245,6 @@ Examples:
|
|
|
46442
47245
|
args.target_subscription_id = opts.targetSubscriptionId;
|
|
46443
47246
|
if (opts["targetSubscriptionId.not"] !== void 0)
|
|
46444
47247
|
args.target_subscription_id__not = opts["targetSubscriptionId.not"];
|
|
46445
|
-
if (opts["targetSubscriptionId.isNull"] !== void 0)
|
|
46446
|
-
args.target_subscription_id__isNull = opts["targetSubscriptionId.isNull"];
|
|
46447
|
-
if (opts["targetSubscriptionId.isNotNull"] !== void 0)
|
|
46448
|
-
args.target_subscription_id__isNotNull = opts["targetSubscriptionId.isNotNull"];
|
|
46449
47248
|
if (opts["targetSubscriptionId.equals"] !== void 0)
|
|
46450
47249
|
args.target_subscription_id__equals = opts["targetSubscriptionId.equals"];
|
|
46451
47250
|
if (opts["targetSubscriptionId.contains"] !== void 0)
|
|
@@ -46454,14 +47253,14 @@ Examples:
|
|
|
46454
47253
|
args.target_subscription_id__startsWith = opts["targetSubscriptionId.startsWith"];
|
|
46455
47254
|
if (opts["targetSubscriptionId.endWith"] !== void 0)
|
|
46456
47255
|
args.target_subscription_id__endWith = opts["targetSubscriptionId.endWith"];
|
|
47256
|
+
if (opts["targetSubscriptionId.isNull"] !== void 0)
|
|
47257
|
+
args.target_subscription_id__isNull = opts["targetSubscriptionId.isNull"];
|
|
47258
|
+
if (opts["targetSubscriptionId.isNotNull"] !== void 0)
|
|
47259
|
+
args.target_subscription_id__isNotNull = opts["targetSubscriptionId.isNotNull"];
|
|
46457
47260
|
if (opts.transitionDate !== void 0)
|
|
46458
47261
|
args.transition_date = opts.transitionDate;
|
|
46459
47262
|
if (opts["transitionDate.not"] !== void 0)
|
|
46460
47263
|
args.transition_date__not = opts["transitionDate.not"];
|
|
46461
|
-
if (opts["transitionDate.isNull"] !== void 0)
|
|
46462
|
-
args.transition_date__isNull = opts["transitionDate.isNull"];
|
|
46463
|
-
if (opts["transitionDate.isNotNull"] !== void 0)
|
|
46464
|
-
args.transition_date__isNotNull = opts["transitionDate.isNotNull"];
|
|
46465
47264
|
if (opts["transitionDate.equals"] !== void 0)
|
|
46466
47265
|
args.transition_date__equals = opts["transitionDate.equals"];
|
|
46467
47266
|
if (opts["transitionDate.lt"] !== void 0)
|
|
@@ -46472,14 +47271,14 @@ Examples:
|
|
|
46472
47271
|
args.transition_date__gt = opts["transitionDate.gt"];
|
|
46473
47272
|
if (opts["transitionDate.gte"] !== void 0)
|
|
46474
47273
|
args.transition_date__gte = opts["transitionDate.gte"];
|
|
47274
|
+
if (opts["transitionDate.isNull"] !== void 0)
|
|
47275
|
+
args.transition_date__isNull = opts["transitionDate.isNull"];
|
|
47276
|
+
if (opts["transitionDate.isNotNull"] !== void 0)
|
|
47277
|
+
args.transition_date__isNotNull = opts["transitionDate.isNotNull"];
|
|
46475
47278
|
if (opts.transitionedAt !== void 0)
|
|
46476
47279
|
args.transitioned_at = opts.transitionedAt;
|
|
46477
47280
|
if (opts["transitionedAt.not"] !== void 0)
|
|
46478
47281
|
args.transitioned_at__not = opts["transitionedAt.not"];
|
|
46479
|
-
if (opts["transitionedAt.isNull"] !== void 0)
|
|
46480
|
-
args.transitioned_at__isNull = opts["transitionedAt.isNull"];
|
|
46481
|
-
if (opts["transitionedAt.isNotNull"] !== void 0)
|
|
46482
|
-
args.transitioned_at__isNotNull = opts["transitionedAt.isNotNull"];
|
|
46483
47282
|
if (opts["transitionedAt.equals"] !== void 0)
|
|
46484
47283
|
args.transitioned_at__equals = opts["transitionedAt.equals"];
|
|
46485
47284
|
if (opts["transitionedAt.lt"] !== void 0)
|
|
@@ -46490,6 +47289,10 @@ Examples:
|
|
|
46490
47289
|
args.transitioned_at__gt = opts["transitionedAt.gt"];
|
|
46491
47290
|
if (opts["transitionedAt.gte"] !== void 0)
|
|
46492
47291
|
args.transitioned_at__gte = opts["transitionedAt.gte"];
|
|
47292
|
+
if (opts["transitionedAt.isNull"] !== void 0)
|
|
47293
|
+
args.transitioned_at__isNull = opts["transitionedAt.isNull"];
|
|
47294
|
+
if (opts["transitionedAt.isNotNull"] !== void 0)
|
|
47295
|
+
args.transitioned_at__isNotNull = opts["transitionedAt.isNotNull"];
|
|
46493
47296
|
if (opts.take !== void 0)
|
|
46494
47297
|
args.take = Number(opts.take);
|
|
46495
47298
|
if (opts.skip !== void 0)
|
|
@@ -46505,46 +47308,42 @@ Examples:
|
|
|
46505
47308
|
"status__in",
|
|
46506
47309
|
"source_subscription_id",
|
|
46507
47310
|
"source_subscription_id__not",
|
|
46508
|
-
"source_subscription_id__isNull",
|
|
46509
|
-
"source_subscription_id__isNotNull",
|
|
46510
47311
|
"source_subscription_id__equals",
|
|
46511
47312
|
"source_subscription_id__contains",
|
|
46512
47313
|
"source_subscription_id__startsWith",
|
|
46513
47314
|
"source_subscription_id__endWith",
|
|
46514
47315
|
"base_subscription_id",
|
|
46515
47316
|
"base_subscription_id__not",
|
|
46516
|
-
"base_subscription_id__isNull",
|
|
46517
|
-
"base_subscription_id__isNotNull",
|
|
46518
47317
|
"base_subscription_id__equals",
|
|
46519
47318
|
"base_subscription_id__contains",
|
|
46520
47319
|
"base_subscription_id__startsWith",
|
|
46521
47320
|
"base_subscription_id__endWith",
|
|
46522
47321
|
"target_subscription_id",
|
|
46523
47322
|
"target_subscription_id__not",
|
|
46524
|
-
"target_subscription_id__isNull",
|
|
46525
|
-
"target_subscription_id__isNotNull",
|
|
46526
47323
|
"target_subscription_id__equals",
|
|
46527
47324
|
"target_subscription_id__contains",
|
|
46528
47325
|
"target_subscription_id__startsWith",
|
|
46529
47326
|
"target_subscription_id__endWith",
|
|
47327
|
+
"target_subscription_id__isNull",
|
|
47328
|
+
"target_subscription_id__isNotNull",
|
|
46530
47329
|
"transition_date",
|
|
46531
47330
|
"transition_date__not",
|
|
46532
|
-
"transition_date__isNull",
|
|
46533
|
-
"transition_date__isNotNull",
|
|
46534
47331
|
"transition_date__equals",
|
|
46535
47332
|
"transition_date__lt",
|
|
46536
47333
|
"transition_date__lte",
|
|
46537
47334
|
"transition_date__gt",
|
|
46538
47335
|
"transition_date__gte",
|
|
47336
|
+
"transition_date__isNull",
|
|
47337
|
+
"transition_date__isNotNull",
|
|
46539
47338
|
"transitioned_at",
|
|
46540
47339
|
"transitioned_at__not",
|
|
46541
|
-
"transitioned_at__isNull",
|
|
46542
|
-
"transitioned_at__isNotNull",
|
|
46543
47340
|
"transitioned_at__equals",
|
|
46544
47341
|
"transitioned_at__lt",
|
|
46545
47342
|
"transitioned_at__lte",
|
|
46546
47343
|
"transitioned_at__gt",
|
|
46547
|
-
"transitioned_at__gte"
|
|
47344
|
+
"transitioned_at__gte",
|
|
47345
|
+
"transitioned_at__isNull",
|
|
47346
|
+
"transitioned_at__isNotNull"
|
|
46548
47347
|
]
|
|
46549
47348
|
});
|
|
46550
47349
|
});
|
|
@@ -46622,7 +47421,7 @@ Examples:
|
|
|
46622
47421
|
// build/commands/generated/taxes.js
|
|
46623
47422
|
function registerTaxesCommands(parent) {
|
|
46624
47423
|
const resource = parent.command("taxes").description("Manage taxes");
|
|
46625
|
-
resource.command("list-tax-rates").description(`List custom and default tax rate mappings with optional filters for id, name, description, and invoicing_entity_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.
|
|
47424
|
+
resource.command("list-tax-rates").description(`List custom and default tax rate mappings with optional filters for id, name, description, and invoicing_entity_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.equals <value>", `id__equals`).option("--id.contains <value>", `id__contains`).option("--id.starts-with <value>", `id__startsWith`).option("--id.end-with <value>", `id__endWith`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--name.is-null <value>", `name__isNull`).option("--name.is-not-null <value>", `name__isNotNull`).option("--description <value>", `description`).option("--description.not <value>", `description__not`).option("--description.equals <value>", `description__equals`).option("--description.contains <value>", `description__contains`).option("--description.starts-with <value>", `description__startsWith`).option("--description.end-with <value>", `description__endWith`).option("--description.is-null <value>", `description__isNull`).option("--description.is-not-null <value>", `description__isNotNull`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--invoicing-entity-id.not <value>", `invoicing_entity_id__not`).option("--invoicing-entity-id.equals <value>", `invoicing_entity_id__equals`).option("--invoicing-entity-id.contains <value>", `invoicing_entity_id__contains`).option("--invoicing-entity-id.starts-with <value>", `invoicing_entity_id__startsWith`).option("--invoicing-entity-id.end-with <value>", `invoicing_entity_id__endWith`).addHelpText("after", `
|
|
46626
47425
|
Examples:
|
|
46627
47426
|
hyperline taxes list-tax-rates
|
|
46628
47427
|
hyperline taxes list-tax-rates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -46636,10 +47435,6 @@ Examples:
|
|
|
46636
47435
|
args.id = opts.id;
|
|
46637
47436
|
if (opts["id.not"] !== void 0)
|
|
46638
47437
|
args.id__not = opts["id.not"];
|
|
46639
|
-
if (opts["id.isNull"] !== void 0)
|
|
46640
|
-
args.id__isNull = opts["id.isNull"];
|
|
46641
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
46642
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
46643
47438
|
if (opts["id.equals"] !== void 0)
|
|
46644
47439
|
args.id__equals = opts["id.equals"];
|
|
46645
47440
|
if (opts["id.contains"] !== void 0)
|
|
@@ -46652,10 +47447,6 @@ Examples:
|
|
|
46652
47447
|
args.name = opts.name;
|
|
46653
47448
|
if (opts["name.not"] !== void 0)
|
|
46654
47449
|
args.name__not = opts["name.not"];
|
|
46655
|
-
if (opts["name.isNull"] !== void 0)
|
|
46656
|
-
args.name__isNull = opts["name.isNull"];
|
|
46657
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
46658
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
46659
47450
|
if (opts["name.equals"] !== void 0)
|
|
46660
47451
|
args.name__equals = opts["name.equals"];
|
|
46661
47452
|
if (opts["name.contains"] !== void 0)
|
|
@@ -46664,14 +47455,14 @@ Examples:
|
|
|
46664
47455
|
args.name__startsWith = opts["name.startsWith"];
|
|
46665
47456
|
if (opts["name.endWith"] !== void 0)
|
|
46666
47457
|
args.name__endWith = opts["name.endWith"];
|
|
47458
|
+
if (opts["name.isNull"] !== void 0)
|
|
47459
|
+
args.name__isNull = opts["name.isNull"];
|
|
47460
|
+
if (opts["name.isNotNull"] !== void 0)
|
|
47461
|
+
args.name__isNotNull = opts["name.isNotNull"];
|
|
46667
47462
|
if (opts.description !== void 0)
|
|
46668
47463
|
args.description = opts.description;
|
|
46669
47464
|
if (opts["description.not"] !== void 0)
|
|
46670
47465
|
args.description__not = opts["description.not"];
|
|
46671
|
-
if (opts["description.isNull"] !== void 0)
|
|
46672
|
-
args.description__isNull = opts["description.isNull"];
|
|
46673
|
-
if (opts["description.isNotNull"] !== void 0)
|
|
46674
|
-
args.description__isNotNull = opts["description.isNotNull"];
|
|
46675
47466
|
if (opts["description.equals"] !== void 0)
|
|
46676
47467
|
args.description__equals = opts["description.equals"];
|
|
46677
47468
|
if (opts["description.contains"] !== void 0)
|
|
@@ -46680,14 +47471,14 @@ Examples:
|
|
|
46680
47471
|
args.description__startsWith = opts["description.startsWith"];
|
|
46681
47472
|
if (opts["description.endWith"] !== void 0)
|
|
46682
47473
|
args.description__endWith = opts["description.endWith"];
|
|
47474
|
+
if (opts["description.isNull"] !== void 0)
|
|
47475
|
+
args.description__isNull = opts["description.isNull"];
|
|
47476
|
+
if (opts["description.isNotNull"] !== void 0)
|
|
47477
|
+
args.description__isNotNull = opts["description.isNotNull"];
|
|
46683
47478
|
if (opts.invoicingEntityId !== void 0)
|
|
46684
47479
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
46685
47480
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
46686
47481
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
46687
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
46688
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
46689
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
46690
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
46691
47482
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
46692
47483
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
46693
47484
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -46709,32 +47500,28 @@ Examples:
|
|
|
46709
47500
|
"skip",
|
|
46710
47501
|
"id",
|
|
46711
47502
|
"id__not",
|
|
46712
|
-
"id__isNull",
|
|
46713
|
-
"id__isNotNull",
|
|
46714
47503
|
"id__equals",
|
|
46715
47504
|
"id__contains",
|
|
46716
47505
|
"id__startsWith",
|
|
46717
47506
|
"id__endWith",
|
|
46718
47507
|
"name",
|
|
46719
47508
|
"name__not",
|
|
46720
|
-
"name__isNull",
|
|
46721
|
-
"name__isNotNull",
|
|
46722
47509
|
"name__equals",
|
|
46723
47510
|
"name__contains",
|
|
46724
47511
|
"name__startsWith",
|
|
46725
47512
|
"name__endWith",
|
|
47513
|
+
"name__isNull",
|
|
47514
|
+
"name__isNotNull",
|
|
46726
47515
|
"description",
|
|
46727
47516
|
"description__not",
|
|
46728
|
-
"description__isNull",
|
|
46729
|
-
"description__isNotNull",
|
|
46730
47517
|
"description__equals",
|
|
46731
47518
|
"description__contains",
|
|
46732
47519
|
"description__startsWith",
|
|
46733
47520
|
"description__endWith",
|
|
47521
|
+
"description__isNull",
|
|
47522
|
+
"description__isNotNull",
|
|
46734
47523
|
"invoicing_entity_id",
|
|
46735
47524
|
"invoicing_entity_id__not",
|
|
46736
|
-
"invoicing_entity_id__isNull",
|
|
46737
|
-
"invoicing_entity_id__isNotNull",
|
|
46738
47525
|
"invoicing_entity_id__equals",
|
|
46739
47526
|
"invoicing_entity_id__contains",
|
|
46740
47527
|
"invoicing_entity_id__startsWith",
|
|
@@ -47313,11 +48100,16 @@ function registerAllCommands(program2) {
|
|
|
47313
48100
|
registerAi_BillingCommands(program2);
|
|
47314
48101
|
registerAi_CostsCommands(program2);
|
|
47315
48102
|
registerAnalyticsCommands(program2);
|
|
48103
|
+
registerApproval_WorkflowsCommands(program2);
|
|
47316
48104
|
registerBank_AccountsCommands(program2);
|
|
48105
|
+
registerCatalogCommands(program2);
|
|
47317
48106
|
registerCompaniesCommands(program2);
|
|
48107
|
+
registerContracts_ClausesCommands(program2);
|
|
48108
|
+
registerContracts_DocumentsCommands(program2);
|
|
47318
48109
|
registerCouponsCommands(program2);
|
|
47319
48110
|
registerCoupons_Promotion_CodesCommands(program2);
|
|
47320
48111
|
registerCustomers_CreditsCommands(program2);
|
|
48112
|
+
registerCustomers_FeaturesCommands(program2);
|
|
47321
48113
|
registerCustomers_Payment_MethodsCommands(program2);
|
|
47322
48114
|
registerCustomers_AddressCommands(program2);
|
|
47323
48115
|
registerCustomers_ShippingCommands(program2);
|
|
@@ -47326,12 +48118,14 @@ function registerAllCommands(program2) {
|
|
|
47326
48118
|
registerOrganisationsCommands(program2);
|
|
47327
48119
|
registerCustomers_SegmentsCommands(program2);
|
|
47328
48120
|
registerExportsCommands(program2);
|
|
48121
|
+
registerFeaturesCommands(program2);
|
|
47329
48122
|
registerFilesCommands(program2);
|
|
47330
48123
|
registerInvoicesCommands(program2);
|
|
47331
48124
|
registerInvoices_TransactionsCommands(program2);
|
|
47332
48125
|
registerInvoicing_EntitiesCommands(program2);
|
|
47333
48126
|
registerAi_MonitoringCommands(program2);
|
|
47334
48127
|
registerPaymentsCommands(program2);
|
|
48128
|
+
registerProducts_FeaturesCommands(program2);
|
|
47335
48129
|
registerProductsCommands(program2);
|
|
47336
48130
|
registerPrice_ConfigurationsCommands(program2);
|
|
47337
48131
|
registerQuotesCommands(program2);
|
|
@@ -63392,7 +64186,25 @@ var de = {
|
|
|
63392
64186
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Diese Position wurde f\xFCr den anteiligen Zeitraum in Rechnung gestellt",
|
|
63393
64187
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Betrag von {{amount}} f\xFCr den anteiligen Zeitraum nicht in Rechnung gestellt",
|
|
63394
64188
|
"subscriptions.updates.updatePrices": "Preise f\xFCr {{productName}} aktualisieren",
|
|
63395
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 abgelaufenes Guthaben"
|
|
64189
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 abgelaufenes Guthaben",
|
|
64190
|
+
"quotes.blockers.quote_not_draft": "Setzen Sie das Angebot auf Entwurf zur\xFCck, bevor Sie seine Konfigurationen \xE4ndern",
|
|
64191
|
+
"quotes.blockers.quote_expiration_date_missing": "Das Angebot muss ein Ablaufdatum haben, um zur Genehmigung gesendet zu werden",
|
|
64192
|
+
"quotes.blockers.quote_configuration_missing": "F\xFCgen Sie mindestens eine Konfiguration hinzu, bevor Sie das Angebot einreichen",
|
|
64193
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Abonnement\xE4nderungen m\xFCssen den Kunden des Angebots verwenden",
|
|
64194
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Aktivieren Sie mehrere Konfigurationen, bevor Sie einen untergeordneten Kunden zuweisen",
|
|
64195
|
+
"quotes.blockers.quote_configuration_customer_not_child": "W\xE4hlen Sie einen untergeordneten Kunden des Angebotskunden",
|
|
64196
|
+
"quotes.blockers.quote_configuration_type_mismatch": "Die verkn\xFCpfte Konfiguration entspricht nicht dem Konfigurationstyp",
|
|
64197
|
+
"quotes.blockers.quote_configuration_not_draft": "W\xE4hlen Sie eine Konfiguration im Entwurf",
|
|
64198
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "Die Konfiguration muss zum Kunden der Konfiguration geh\xF6ren",
|
|
64199
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "Die Konfiguration muss die W\xE4hrung des Angebots verwenden",
|
|
64200
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "Die Rechnung muss die Rechnungsstellungseinheit des Angebots verwenden",
|
|
64201
|
+
"quotes.blockers.quote_configuration_already_linked": "Die Konfiguration ist bereits mit einer Angebotskonfiguration verkn\xFCpft",
|
|
64202
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "W\xE4hlen Sie eine Konfiguration f\xFCr eine Abonnement\xE4nderung",
|
|
64203
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "W\xE4hlen Sie eine Konfiguration f\xFCr ein neues Abonnement",
|
|
64204
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Ein Abonnement kann in einem Angebot nur einmal ge\xE4ndert werden",
|
|
64205
|
+
"quotes.blockers.quote_draft_invoice_missing": "Das Angebot muss eine Rechnung im Entwurf haben, um abgeschlossen zu werden",
|
|
64206
|
+
"quotes.blockers.quote_draft_subscription_missing": "Das Angebot muss ein Abonnement im Entwurf haben, um abgeschlossen zu werden",
|
|
64207
|
+
"quotes.blockers.quote_expiry_after_transition_date": "Das Ablaufdatum des Angebots muss sp\xE4testens am Ende des aktuellen Abrechnungszeitraums liegen, oder am geplanten \xDCbergangsdatum, wenn dieses sp\xE4ter liegt"
|
|
63396
64208
|
};
|
|
63397
64209
|
|
|
63398
64210
|
// ../hyperline-i18n/build/locales/en.js
|
|
@@ -63442,7 +64254,25 @@ var en = {
|
|
|
63442
64254
|
"accounting.revrec.closedPeriodFallbackNote": " (posted to next open period \u2014 target accounting period closed; original date {{originalDate}})",
|
|
63443
64255
|
"einvoicing.paymentProcessed": "Payment processed",
|
|
63444
64256
|
"einvoicing.paymentReceived": "Payment received",
|
|
63445
|
-
"einvoicing.paymentFromWallet": "Payment from wallet"
|
|
64257
|
+
"einvoicing.paymentFromWallet": "Payment from wallet",
|
|
64258
|
+
"quotes.blockers.quote_not_draft": "Redraft the quote before changing its configurations",
|
|
64259
|
+
"quotes.blockers.quote_expiration_date_missing": "Quote must have an expiration date to be sent for approval",
|
|
64260
|
+
"quotes.blockers.quote_configuration_missing": "Add at least one configuration before submitting the quote",
|
|
64261
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Subscription updates must use the quote customer",
|
|
64262
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Enable multiple configurations before assigning a child customer",
|
|
64263
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Select a child customer of the quote customer",
|
|
64264
|
+
"quotes.blockers.quote_configuration_type_mismatch": "The linked configuration does not match the configuration type",
|
|
64265
|
+
"quotes.blockers.quote_configuration_not_draft": "Select a draft configuration",
|
|
64266
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "The configuration must belong to the configuration customer",
|
|
64267
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "The configuration must use the quote currency",
|
|
64268
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "The invoice must use the quote invoicing entity",
|
|
64269
|
+
"quotes.blockers.quote_configuration_already_linked": "The configuration is already linked to a quote configuration",
|
|
64270
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Select a subscription update configuration",
|
|
64271
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Select a new subscription configuration",
|
|
64272
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "A subscription can only be updated once in a quote",
|
|
64273
|
+
"quotes.blockers.quote_draft_invoice_missing": "Quote must have a draft invoice to be finalized",
|
|
64274
|
+
"quotes.blockers.quote_draft_subscription_missing": "Quote must have a draft subscription to be finalized",
|
|
64275
|
+
"quotes.blockers.quote_expiry_after_transition_date": "The quote expiration date must be on or before the end of the current billing period, or the scheduled transition date when it falls later"
|
|
63446
64276
|
};
|
|
63447
64277
|
|
|
63448
64278
|
// ../hyperline-i18n/build/locales/es.js
|
|
@@ -63492,7 +64322,25 @@ var es = {
|
|
|
63492
64322
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Esta l\xEDnea ha sido facturada para el per\xEDodo prorrateado",
|
|
63493
64323
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Importe de {{amount}} no facturado para el per\xEDodo prorrateado",
|
|
63494
64324
|
"subscriptions.updates.updatePrices": "Actualizar precios para {{productName}}",
|
|
63495
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo caducado"
|
|
64325
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo caducado",
|
|
64326
|
+
"quotes.blockers.quote_not_draft": "Vuelve a poner el presupuesto en borrador antes de cambiar sus configuraciones",
|
|
64327
|
+
"quotes.blockers.quote_expiration_date_missing": "El presupuesto debe tener una fecha de vencimiento para enviarse a aprobaci\xF3n",
|
|
64328
|
+
"quotes.blockers.quote_configuration_missing": "A\xF1ade al menos una configuraci\xF3n antes de enviar el presupuesto",
|
|
64329
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Las actualizaciones de suscripci\xF3n deben usar el cliente del presupuesto",
|
|
64330
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Activa las configuraciones m\xFAltiples antes de asignar un cliente hijo",
|
|
64331
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Selecciona un cliente hijo del cliente del presupuesto",
|
|
64332
|
+
"quotes.blockers.quote_configuration_type_mismatch": "La configuraci\xF3n vinculada no coincide con el tipo de configuraci\xF3n",
|
|
64333
|
+
"quotes.blockers.quote_configuration_not_draft": "Selecciona una configuraci\xF3n en borrador",
|
|
64334
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "La configuraci\xF3n debe pertenecer al cliente de la configuraci\xF3n",
|
|
64335
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "La configuraci\xF3n debe usar la moneda del presupuesto",
|
|
64336
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "La factura debe usar la entidad de facturaci\xF3n del presupuesto",
|
|
64337
|
+
"quotes.blockers.quote_configuration_already_linked": "La configuraci\xF3n ya est\xE1 vinculada a una configuraci\xF3n de presupuesto",
|
|
64338
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Selecciona una configuraci\xF3n de actualizaci\xF3n de suscripci\xF3n",
|
|
64339
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Selecciona una configuraci\xF3n de nueva suscripci\xF3n",
|
|
64340
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Una suscripci\xF3n solo puede actualizarse una vez en un presupuesto",
|
|
64341
|
+
"quotes.blockers.quote_draft_invoice_missing": "El presupuesto debe tener una factura en borrador para finalizarse",
|
|
64342
|
+
"quotes.blockers.quote_draft_subscription_missing": "El presupuesto debe tener una suscripci\xF3n en borrador para finalizarse",
|
|
64343
|
+
"quotes.blockers.quote_expiry_after_transition_date": "La fecha de vencimiento del presupuesto debe ser, como m\xE1ximo, el final del periodo de facturaci\xF3n actual, o la fecha de transici\xF3n programada si es posterior"
|
|
63496
64344
|
};
|
|
63497
64345
|
|
|
63498
64346
|
// ../hyperline-i18n/build/locales/fr.js
|
|
@@ -63542,7 +64390,25 @@ var fr = {
|
|
|
63542
64390
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Cette ligne a \xE9t\xE9 factur\xE9e pour la p\xE9riode proratis\xE9e",
|
|
63543
64391
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Montant de {{amount}} non factur\xE9 pour la p\xE9riode proratis\xE9e",
|
|
63544
64392
|
"subscriptions.updates.updatePrices": "Mise \xE0 jour des prix pour {{productName}}",
|
|
63545
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 solde expir\xE9"
|
|
64393
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 solde expir\xE9",
|
|
64394
|
+
"quotes.blockers.quote_not_draft": "Repassez le devis en brouillon avant de modifier ses configurations",
|
|
64395
|
+
"quotes.blockers.quote_expiration_date_missing": "Le devis doit avoir une date d'expiration pour \xEAtre envoy\xE9 en validation",
|
|
64396
|
+
"quotes.blockers.quote_configuration_missing": "Ajoutez au moins une configuration avant de soumettre le devis",
|
|
64397
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Les mises \xE0 jour d'abonnement doivent utiliser le client du devis",
|
|
64398
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Activez les configurations multiples avant d'assigner un client enfant",
|
|
64399
|
+
"quotes.blockers.quote_configuration_customer_not_child": "S\xE9lectionnez un client enfant du client du devis",
|
|
64400
|
+
"quotes.blockers.quote_configuration_type_mismatch": "La configuration li\xE9e ne correspond pas au type de configuration",
|
|
64401
|
+
"quotes.blockers.quote_configuration_not_draft": "S\xE9lectionnez une configuration en brouillon",
|
|
64402
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "La configuration doit appartenir au client de la configuration",
|
|
64403
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "La configuration doit utiliser la devise du devis",
|
|
64404
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "La facture doit utiliser l'entit\xE9 de facturation du devis",
|
|
64405
|
+
"quotes.blockers.quote_configuration_already_linked": "La configuration est d\xE9j\xE0 li\xE9e \xE0 une configuration de devis",
|
|
64406
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "S\xE9lectionnez une configuration de mise \xE0 jour d'abonnement",
|
|
64407
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "S\xE9lectionnez une configuration de nouvel abonnement",
|
|
64408
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Un abonnement ne peut \xEAtre mis \xE0 jour qu'une seule fois dans un devis",
|
|
64409
|
+
"quotes.blockers.quote_draft_invoice_missing": "Le devis doit avoir une facture en brouillon pour \xEAtre finalis\xE9",
|
|
64410
|
+
"quotes.blockers.quote_draft_subscription_missing": "Le devis doit avoir un abonnement en brouillon pour \xEAtre finalis\xE9",
|
|
64411
|
+
"quotes.blockers.quote_expiry_after_transition_date": "La date d'expiration du devis doit \xEAtre au plus tard la fin de la p\xE9riode de facturation en cours, ou la date de transition planifi\xE9e si elle est post\xE9rieure"
|
|
63546
64412
|
};
|
|
63547
64413
|
|
|
63548
64414
|
// ../hyperline-i18n/build/locales/it.js
|
|
@@ -63592,7 +64458,25 @@ var it = {
|
|
|
63592
64458
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Questa voce \xE8 stata fatturata per il periodo proporzionato",
|
|
63593
64459
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Importo di {{amount}} non fatturato per il periodo proporzionato",
|
|
63594
64460
|
"subscriptions.updates.updatePrices": "Aggiorna prezzi per {{productName}}",
|
|
63595
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo scaduto"
|
|
64461
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo scaduto",
|
|
64462
|
+
"quotes.blockers.quote_not_draft": "Riporta il preventivo in bozza prima di modificarne le configurazioni",
|
|
64463
|
+
"quotes.blockers.quote_expiration_date_missing": "Il preventivo deve avere una data di scadenza per essere inviato per approvazione",
|
|
64464
|
+
"quotes.blockers.quote_configuration_missing": "Aggiungi almeno una configurazione prima di inviare il preventivo",
|
|
64465
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Gli aggiornamenti dell'abbonamento devono usare il cliente del preventivo",
|
|
64466
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Attiva le configurazioni multiple prima di assegnare un cliente figlio",
|
|
64467
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Seleziona un cliente figlio del cliente del preventivo",
|
|
64468
|
+
"quotes.blockers.quote_configuration_type_mismatch": "La configurazione collegata non corrisponde al tipo di configurazione",
|
|
64469
|
+
"quotes.blockers.quote_configuration_not_draft": "Seleziona una configurazione in bozza",
|
|
64470
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "La configurazione deve appartenere al cliente della configurazione",
|
|
64471
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "La configurazione deve usare la valuta del preventivo",
|
|
64472
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "La fattura deve usare l'entit\xE0 di fatturazione del preventivo",
|
|
64473
|
+
"quotes.blockers.quote_configuration_already_linked": "La configurazione \xE8 gi\xE0 collegata a una configurazione del preventivo",
|
|
64474
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Seleziona una configurazione di aggiornamento dell'abbonamento",
|
|
64475
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Seleziona una configurazione di nuovo abbonamento",
|
|
64476
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Un abbonamento pu\xF2 essere aggiornato una sola volta in un preventivo",
|
|
64477
|
+
"quotes.blockers.quote_draft_invoice_missing": "Il preventivo deve avere una fattura in bozza per essere finalizzato",
|
|
64478
|
+
"quotes.blockers.quote_draft_subscription_missing": "Il preventivo deve avere un abbonamento in bozza per essere finalizzato",
|
|
64479
|
+
"quotes.blockers.quote_expiry_after_transition_date": "La data di scadenza del preventivo deve essere entro la fine del periodo di fatturazione corrente, o la data di transizione pianificata se successiva"
|
|
63596
64480
|
};
|
|
63597
64481
|
|
|
63598
64482
|
// ../hyperline-i18n/build/locales/lt.js
|
|
@@ -63642,7 +64526,25 @@ var lt = {
|
|
|
63642
64526
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "U\u017E \u0161i\u0105 eilut\u0119 proporcingam laikotarpiui s\u0105skaita fakt\u016Bra i\u0161ra\u0161yta",
|
|
63643
64527
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Proporcingam laikotarpiui nei\u0161ra\u0161yta {{amount}} suma",
|
|
63644
64528
|
"subscriptions.updates.updatePrices": "Atnaujinti {{productName}} kainas",
|
|
63645
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 nebegaliojantis likutis"
|
|
64529
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 nebegaliojantis likutis",
|
|
64530
|
+
"quotes.blockers.quote_not_draft": "Prie\u0161 keisdami pasi\u016Blymo konfig\u016Bracijas, gr\u0105\u017Einkite j\u012F \u012F juodra\u0161t\u012F",
|
|
64531
|
+
"quotes.blockers.quote_expiration_date_missing": "Pasi\u016Blymas turi tur\u0117ti galiojimo pabaigos dat\u0105, kad b\u016Bt\u0173 i\u0161si\u0173stas tvirtinti",
|
|
64532
|
+
"quotes.blockers.quote_configuration_missing": "Prie\u0161 pateikdami pasi\u016Blym\u0105, prid\u0117kite bent vien\u0105 konfig\u016Bracij\u0105",
|
|
64533
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Prenumeratos atnaujinimai turi naudoti pasi\u016Blymo klient\u0105",
|
|
64534
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Prie\u0161 priskirdami antrin\u012F klient\u0105, \u012Fjunkite kelias konfig\u016Bracijas",
|
|
64535
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Pasirinkite pasi\u016Blymo kliento antrin\u012F klient\u0105",
|
|
64536
|
+
"quotes.blockers.quote_configuration_type_mismatch": "Susieta konfig\u016Bracija neatitinka konfig\u016Bracijos tipo",
|
|
64537
|
+
"quotes.blockers.quote_configuration_not_draft": "Pasirinkite konfig\u016Bracijos juodra\u0161t\u012F",
|
|
64538
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "Konfig\u016Bracija turi priklausyti konfig\u016Bracijos klientui",
|
|
64539
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "Konfig\u016Bracija turi naudoti pasi\u016Blymo valiut\u0105",
|
|
64540
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "S\u0105skaita fakt\u016Bra turi naudoti pasi\u016Blymo s\u0105skait\u0173 i\u0161ra\u0161ymo subjekt\u0105",
|
|
64541
|
+
"quotes.blockers.quote_configuration_already_linked": "Konfig\u016Bracija jau susieta su pasi\u016Blymo konfig\u016Bracija",
|
|
64542
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Pasirinkite prenumeratos atnaujinimo konfig\u016Bracij\u0105",
|
|
64543
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Pasirinkite naujos prenumeratos konfig\u016Bracij\u0105",
|
|
64544
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Prenumerat\u0105 pasi\u016Blyme galima atnaujinti tik vien\u0105 kart\u0105",
|
|
64545
|
+
"quotes.blockers.quote_draft_invoice_missing": "Pasi\u016Blymas turi tur\u0117ti s\u0105skaitos fakt\u016Bros juodra\u0161t\u012F, kad b\u016Bt\u0173 u\u017Ebaigtas",
|
|
64546
|
+
"quotes.blockers.quote_draft_subscription_missing": "Pasi\u016Blymas turi tur\u0117ti prenumeratos juodra\u0161t\u012F, kad b\u016Bt\u0173 u\u017Ebaigtas",
|
|
64547
|
+
"quotes.blockers.quote_expiry_after_transition_date": "Pasi\u016Blymo galiojimo pabaigos data turi b\u016Bti ne v\u0117lesn\u0117 nei dabartinio atsiskaitymo laikotarpio pabaiga arba suplanuota per\u0117jimo data, jei ji v\u0117lesn\u0117"
|
|
63646
64548
|
};
|
|
63647
64549
|
|
|
63648
64550
|
// ../hyperline-i18n/build/locales/nl.js
|
|
@@ -63692,7 +64594,25 @@ var nl = {
|
|
|
63692
64594
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Deze regel is gefactureerd voor de geproportioneerde periode",
|
|
63693
64595
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Bedrag van {{amount}} niet gefactureerd voor de geproportioneerde periode",
|
|
63694
64596
|
"subscriptions.updates.updatePrices": "Prijzen bijwerken voor {{productName}}",
|
|
63695
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 verlopen saldo"
|
|
64597
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 verlopen saldo",
|
|
64598
|
+
"quotes.blockers.quote_not_draft": "Zet de offerte terug naar concept voordat u de configuraties wijzigt",
|
|
64599
|
+
"quotes.blockers.quote_expiration_date_missing": "De offerte moet een vervaldatum hebben om ter goedkeuring te worden verzonden",
|
|
64600
|
+
"quotes.blockers.quote_configuration_missing": "Voeg ten minste \xE9\xE9n configuratie toe voordat u de offerte indient",
|
|
64601
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Abonnementswijzigingen moeten de klant van de offerte gebruiken",
|
|
64602
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Schakel meerdere configuraties in voordat u een onderliggende klant toewijst",
|
|
64603
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Selecteer een onderliggende klant van de offerteklant",
|
|
64604
|
+
"quotes.blockers.quote_configuration_type_mismatch": "De gekoppelde configuratie komt niet overeen met het configuratietype",
|
|
64605
|
+
"quotes.blockers.quote_configuration_not_draft": "Selecteer een conceptconfiguratie",
|
|
64606
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "De configuratie moet bij de klant van de configuratie horen",
|
|
64607
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "De configuratie moet de valuta van de offerte gebruiken",
|
|
64608
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "De factuur moet de facturatie-entiteit van de offerte gebruiken",
|
|
64609
|
+
"quotes.blockers.quote_configuration_already_linked": "De configuratie is al gekoppeld aan een offerteconfiguratie",
|
|
64610
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Selecteer een configuratie voor een abonnementswijziging",
|
|
64611
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Selecteer een configuratie voor een nieuw abonnement",
|
|
64612
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Een abonnement kan maar \xE9\xE9n keer per offerte worden gewijzigd",
|
|
64613
|
+
"quotes.blockers.quote_draft_invoice_missing": "De offerte moet een conceptfactuur hebben om te worden afgerond",
|
|
64614
|
+
"quotes.blockers.quote_draft_subscription_missing": "De offerte moet een conceptabonnement hebben om te worden afgerond",
|
|
64615
|
+
"quotes.blockers.quote_expiry_after_transition_date": "De vervaldatum van de offerte moet uiterlijk het einde van de huidige factuurperiode zijn, of de geplande overgangsdatum als die later valt"
|
|
63696
64616
|
};
|
|
63697
64617
|
|
|
63698
64618
|
// ../hyperline-i18n/build/locales/pl.js
|
|
@@ -63742,7 +64662,25 @@ var pl = {
|
|
|
63742
64662
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Ta pozycja zosta\u0142a zafakturowana za okres proporcjonalny",
|
|
63743
64663
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Kwota {{amount}} niefakturowana za okres proporcjonalny",
|
|
63744
64664
|
"subscriptions.updates.updatePrices": "Aktualizuj ceny dla {{productName}}",
|
|
63745
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 wygas\u0142e saldo"
|
|
64665
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 wygas\u0142e saldo",
|
|
64666
|
+
"quotes.blockers.quote_not_draft": "Przywr\xF3\u0107 ofert\u0119 do wersji roboczej przed zmian\u0105 jej konfiguracji",
|
|
64667
|
+
"quotes.blockers.quote_expiration_date_missing": "Oferta musi mie\u0107 dat\u0119 wyga\u015Bni\u0119cia, aby zosta\u0142a wys\u0142ana do zatwierdzenia",
|
|
64668
|
+
"quotes.blockers.quote_configuration_missing": "Dodaj co najmniej jedn\u0105 konfiguracj\u0119 przed przes\u0142aniem oferty",
|
|
64669
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Aktualizacje subskrypcji musz\u0105 u\u017Cywa\u0107 klienta oferty",
|
|
64670
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "W\u0142\u0105cz wiele konfiguracji przed przypisaniem klienta podrz\u0119dnego",
|
|
64671
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Wybierz klienta podrz\u0119dnego klienta oferty",
|
|
64672
|
+
"quotes.blockers.quote_configuration_type_mismatch": "Powi\u0105zana konfiguracja nie odpowiada typowi konfiguracji",
|
|
64673
|
+
"quotes.blockers.quote_configuration_not_draft": "Wybierz konfiguracj\u0119 w wersji roboczej",
|
|
64674
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "Konfiguracja musi nale\u017Ce\u0107 do klienta konfiguracji",
|
|
64675
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "Konfiguracja musi u\u017Cywa\u0107 waluty oferty",
|
|
64676
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "Faktura musi u\u017Cywa\u0107 podmiotu fakturuj\u0105cego oferty",
|
|
64677
|
+
"quotes.blockers.quote_configuration_already_linked": "Konfiguracja jest ju\u017C powi\u0105zana z konfiguracj\u0105 oferty",
|
|
64678
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Wybierz konfiguracj\u0119 aktualizacji subskrypcji",
|
|
64679
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Wybierz konfiguracj\u0119 nowej subskrypcji",
|
|
64680
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Subskrypcj\u0119 mo\u017Cna zaktualizowa\u0107 w ofercie tylko raz",
|
|
64681
|
+
"quotes.blockers.quote_draft_invoice_missing": "Oferta musi mie\u0107 faktur\u0119 w wersji roboczej, aby zosta\u0142a sfinalizowana",
|
|
64682
|
+
"quotes.blockers.quote_draft_subscription_missing": "Oferta musi mie\u0107 subskrypcj\u0119 w wersji roboczej, aby zosta\u0142a sfinalizowana",
|
|
64683
|
+
"quotes.blockers.quote_expiry_after_transition_date": "Data wyga\u015Bni\u0119cia oferty musi przypada\u0107 najp\xF3\u017Aniej na koniec bie\u017C\u0105cego okresu rozliczeniowego lub na zaplanowan\u0105 dat\u0119 przej\u015Bcia, je\u015Bli jest p\xF3\u017Aniejsza"
|
|
63746
64684
|
};
|
|
63747
64685
|
|
|
63748
64686
|
// ../hyperline-i18n/build/locales/pt.js
|
|
@@ -63792,7 +64730,25 @@ var pt = {
|
|
|
63792
64730
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Esta linha foi faturada para o per\xEDodo proporcional",
|
|
63793
64731
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Valor de {{amount}} n\xE3o faturado para o per\xEDodo proporcional",
|
|
63794
64732
|
"subscriptions.updates.updatePrices": "Atualizar pre\xE7os para {{productName}}",
|
|
63795
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo expirado"
|
|
64733
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo expirado",
|
|
64734
|
+
"quotes.blockers.quote_not_draft": "Volte a colocar o or\xE7amento em rascunho antes de alterar as suas configura\xE7\xF5es",
|
|
64735
|
+
"quotes.blockers.quote_expiration_date_missing": "O or\xE7amento deve ter uma data de expira\xE7\xE3o para ser enviado para aprova\xE7\xE3o",
|
|
64736
|
+
"quotes.blockers.quote_configuration_missing": "Adicione pelo menos uma configura\xE7\xE3o antes de submeter o or\xE7amento",
|
|
64737
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "As atualiza\xE7\xF5es de subscri\xE7\xE3o devem usar o cliente do or\xE7amento",
|
|
64738
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Ative as configura\xE7\xF5es m\xFAltiplas antes de atribuir um cliente filho",
|
|
64739
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Selecione um cliente filho do cliente do or\xE7amento",
|
|
64740
|
+
"quotes.blockers.quote_configuration_type_mismatch": "A configura\xE7\xE3o associada n\xE3o corresponde ao tipo de configura\xE7\xE3o",
|
|
64741
|
+
"quotes.blockers.quote_configuration_not_draft": "Selecione uma configura\xE7\xE3o em rascunho",
|
|
64742
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "A configura\xE7\xE3o deve pertencer ao cliente da configura\xE7\xE3o",
|
|
64743
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "A configura\xE7\xE3o deve usar a moeda do or\xE7amento",
|
|
64744
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "A fatura deve usar a entidade de fatura\xE7\xE3o do or\xE7amento",
|
|
64745
|
+
"quotes.blockers.quote_configuration_already_linked": "A configura\xE7\xE3o j\xE1 est\xE1 associada a uma configura\xE7\xE3o de or\xE7amento",
|
|
64746
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Selecione uma configura\xE7\xE3o de atualiza\xE7\xE3o de subscri\xE7\xE3o",
|
|
64747
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Selecione uma configura\xE7\xE3o de nova subscri\xE7\xE3o",
|
|
64748
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Uma subscri\xE7\xE3o s\xF3 pode ser atualizada uma vez num or\xE7amento",
|
|
64749
|
+
"quotes.blockers.quote_draft_invoice_missing": "O or\xE7amento deve ter uma fatura em rascunho para ser finalizado",
|
|
64750
|
+
"quotes.blockers.quote_draft_subscription_missing": "O or\xE7amento deve ter uma subscri\xE7\xE3o em rascunho para ser finalizado",
|
|
64751
|
+
"quotes.blockers.quote_expiry_after_transition_date": "A data de expira\xE7\xE3o do or\xE7amento deve ser, no m\xE1ximo, o fim do per\xEDodo de fatura\xE7\xE3o atual, ou a data de transi\xE7\xE3o agendada se for posterior"
|
|
63796
64752
|
};
|
|
63797
64753
|
|
|
63798
64754
|
// ../hyperline-i18n/build/language.js
|
|
@@ -63973,16 +64929,19 @@ var REDACTED_KEY_NAMES = /* @__PURE__ */ new Set([
|
|
|
63973
64929
|
"credentials",
|
|
63974
64930
|
"iban",
|
|
63975
64931
|
"idtoken",
|
|
64932
|
+
"launchticket",
|
|
63976
64933
|
"privatekey",
|
|
63977
64934
|
"publictoken",
|
|
63978
64935
|
"refreshtoken",
|
|
64936
|
+
// A workflow secret's value (core/workflows secrets).
|
|
64937
|
+
"secretvalue",
|
|
63979
64938
|
"sessiontoken",
|
|
63980
64939
|
"token",
|
|
63981
64940
|
"tokenid",
|
|
63982
64941
|
"verificationcode"
|
|
63983
64942
|
]);
|
|
63984
64943
|
var REDACTED_KEY_SUFFIX_PATTERN = /(secret|password|passphrase|apikey)$/;
|
|
63985
|
-
var REDACTED_KEY_CANDIDATE_PATTERN = /token|key|secret|pass|assertion|verifier|credential|authorization|cookie|iban|cardnumber|code|connectionurl/i;
|
|
64944
|
+
var REDACTED_KEY_CANDIDATE_PATTERN = /token|ticket|key|secret|pass|assertion|verifier|credential|authorization|cookie|iban|cardnumber|code|connectionurl/i;
|
|
63986
64945
|
var URL_ONLY_REDACTED_KEYS = /* @__PURE__ */ new Set(["key"]);
|
|
63987
64946
|
var OAUTH_CODE_KEY = "code";
|
|
63988
64947
|
var OAUTH_CODE_CONTEXT_KEYS = ["state", "grant_type"];
|
|
@@ -66744,69 +67703,6 @@ var Decimal = P.constructor = clone2(DEFAULTS);
|
|
|
66744
67703
|
LN10 = new Decimal(LN10);
|
|
66745
67704
|
PI = new Decimal(PI);
|
|
66746
67705
|
|
|
66747
|
-
// ../hyperline-lib/build/utils/config/usStates.js
|
|
66748
|
-
var usStates = [
|
|
66749
|
-
"AA",
|
|
66750
|
-
"AE",
|
|
66751
|
-
"AK",
|
|
66752
|
-
"AL",
|
|
66753
|
-
"AP",
|
|
66754
|
-
"AR",
|
|
66755
|
-
"AS",
|
|
66756
|
-
"AZ",
|
|
66757
|
-
"CA",
|
|
66758
|
-
"CO",
|
|
66759
|
-
"CT",
|
|
66760
|
-
"DC",
|
|
66761
|
-
"DE",
|
|
66762
|
-
"FL",
|
|
66763
|
-
"GA",
|
|
66764
|
-
"GU",
|
|
66765
|
-
"HI",
|
|
66766
|
-
"IA",
|
|
66767
|
-
"ID",
|
|
66768
|
-
"IL",
|
|
66769
|
-
"IN",
|
|
66770
|
-
"KS",
|
|
66771
|
-
"KY",
|
|
66772
|
-
"LA",
|
|
66773
|
-
"MA",
|
|
66774
|
-
"MD",
|
|
66775
|
-
"ME",
|
|
66776
|
-
"MI",
|
|
66777
|
-
"MN",
|
|
66778
|
-
"MO",
|
|
66779
|
-
"MP",
|
|
66780
|
-
"MS",
|
|
66781
|
-
"MT",
|
|
66782
|
-
"NC",
|
|
66783
|
-
"ND",
|
|
66784
|
-
"NE",
|
|
66785
|
-
"NH",
|
|
66786
|
-
"NJ",
|
|
66787
|
-
"NM",
|
|
66788
|
-
"NV",
|
|
66789
|
-
"NY",
|
|
66790
|
-
"OH",
|
|
66791
|
-
"OK",
|
|
66792
|
-
"OR",
|
|
66793
|
-
"PA",
|
|
66794
|
-
"PR",
|
|
66795
|
-
"RI",
|
|
66796
|
-
"SC",
|
|
66797
|
-
"SD",
|
|
66798
|
-
"TN",
|
|
66799
|
-
"TX",
|
|
66800
|
-
"UT",
|
|
66801
|
-
"VA",
|
|
66802
|
-
"VI",
|
|
66803
|
-
"VT",
|
|
66804
|
-
"WA",
|
|
66805
|
-
"WI",
|
|
66806
|
-
"WV",
|
|
66807
|
-
"WY"
|
|
66808
|
-
];
|
|
66809
|
-
|
|
66810
67706
|
// ../hyperline-lib/build/utils/dates.js
|
|
66811
67707
|
var import_shared2 = __toESM(require_shared(), 1);
|
|
66812
67708
|
var PERIOD_BOUND_DRIFT_TOLERANCE_MS = 2 * 60 * 1e3;
|
|
@@ -66831,7 +67727,8 @@ var dateRealignmentModeSchema = external_exports.enum([
|
|
|
66831
67727
|
"utc_midnight_import",
|
|
66832
67728
|
"dst_hour_drift",
|
|
66833
67729
|
"month_start_drift",
|
|
66834
|
-
"manual_phase_end_midnight"
|
|
67730
|
+
"manual_phase_end_midnight",
|
|
67731
|
+
"customer_timezone_change"
|
|
66835
67732
|
]).default("utc_midnight_import");
|
|
66836
67733
|
var DST_HOUR_SHIFT_BY_LOCAL_MILLISECOND_OF_DAY = /* @__PURE__ */ new Map([
|
|
66837
67734
|
[23 * MILLISECONDS_PER_HOUR, MILLISECONDS_PER_HOUR],
|
|
@@ -66840,8 +67737,16 @@ var DST_HOUR_SHIFT_BY_LOCAL_MILLISECOND_OF_DAY = /* @__PURE__ */ new Map([
|
|
|
66840
67737
|
[MILLISECONDS_PER_HOUR - 1, -MILLISECONDS_PER_HOUR]
|
|
66841
67738
|
]);
|
|
66842
67739
|
|
|
67740
|
+
// ../hyperline-lib/build/utils/overviewPeriods.js
|
|
67741
|
+
var OverviewPeriodSchema = external_exports.enum([
|
|
67742
|
+
"this_month",
|
|
67743
|
+
"last_month",
|
|
67744
|
+
"last_3_months"
|
|
67745
|
+
]);
|
|
67746
|
+
|
|
66843
67747
|
// ../hyperline-lib/build/utils/api/filterBuilder.js
|
|
66844
|
-
var
|
|
67748
|
+
var nullAuthorizedOperators = ["isNull", "isNotNull"];
|
|
67749
|
+
var baseAuthorizedOperators = ["not", ...nullAuthorizedOperators];
|
|
66845
67750
|
var booleanAuthorizedOperators = [
|
|
66846
67751
|
...baseAuthorizedOperators,
|
|
66847
67752
|
"equals"
|
|
@@ -66870,10 +67775,17 @@ var authorizedOperators = [
|
|
|
66870
67775
|
...arrayAuthorizedOperators,
|
|
66871
67776
|
...mapAuthorizedOperators
|
|
66872
67777
|
];
|
|
67778
|
+
var NullFilterValueSchema = BooleanSchema.or(external_exports.literal("")).optional();
|
|
66873
67779
|
|
|
66874
67780
|
// ../hyperline-lib/build/http/dto/state.js
|
|
66875
|
-
var StateSchema = external_exports.
|
|
66876
|
-
description:
|
|
67781
|
+
var StateSchema = external_exports.string().openapi({
|
|
67782
|
+
description: `State or province of the address, stored as its code (the second part of the ISO 3166-2 code, e.g. \`CA\` for \`US-CA\`) for:
|
|
67783
|
+
- United States: state, see [ISO 3166-2:US](https://en.wikipedia.org/wiki/ISO_3166-2:US)
|
|
67784
|
+
- Canada: province or territory, see [ISO 3166-2:CA](https://en.wikipedia.org/wiki/ISO_3166-2:CA)
|
|
67785
|
+
- Italy: province, see [ISO 3166-2:IT](https://en.wikipedia.org/wiki/ISO_3166-2:IT)
|
|
67786
|
+
- Brazil: state, see [ISO 3166-2:BR](https://en.wikipedia.org/wiki/ISO_3166-2:BR)
|
|
67787
|
+
|
|
67788
|
+
A code or a name is accepted (e.g. \`ON\` or \`Ontario\`); a value that matches neither for these countries is rejected. For any other country, the state is ignored.`,
|
|
66877
67789
|
example: "CA"
|
|
66878
67790
|
});
|
|
66879
67791
|
|
|
@@ -66987,9 +67899,10 @@ var toLogRequest = (config4) => {
|
|
|
66987
67899
|
};
|
|
66988
67900
|
|
|
66989
67901
|
// ../hyperline-lib/build/httpClient/publicUrlFetch.js
|
|
67902
|
+
import { lookup as lookupCallback } from "node:dns";
|
|
66990
67903
|
import { lookup } from "node:dns/promises";
|
|
66991
67904
|
import { isIP } from "node:net";
|
|
66992
|
-
import { Agent } from "undici";
|
|
67905
|
+
import { Agent, fetch as fetch2 } from "undici";
|
|
66993
67906
|
var PINNED_DISPATCHER_TTL_MS = 5 * 60 * 1e3;
|
|
66994
67907
|
var DEFAULT_MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
|
|
66995
67908
|
|
|
@@ -67001,14 +67914,23 @@ import multer2 from "multer";
|
|
|
67001
67914
|
// ../hyperline-lib/build/httpRouter/file.js
|
|
67002
67915
|
import helmet from "helmet";
|
|
67003
67916
|
|
|
67004
|
-
// ../hyperline-lib/build/publicApi/auth/
|
|
67917
|
+
// ../hyperline-lib/build/publicApi/auth/apiKey.js
|
|
67005
67918
|
import { randomBytes as randomBytes2, scryptSync } from "node:crypto";
|
|
67006
67919
|
|
|
67920
|
+
// ../hyperline-lib/build/publicApi/auth/apiKeyHashCache.js
|
|
67921
|
+
import { createHash as createHash4 } from "node:crypto";
|
|
67922
|
+
var TTL_MS = 5 * 6e4;
|
|
67923
|
+
|
|
67007
67924
|
// ../hyperline-mcp/build/requestBuilder.js
|
|
67008
|
-
function buildRequestConfig(path2, args, method, queryParamKeys = []) {
|
|
67925
|
+
function buildRequestConfig({ path: path2, args, method, queryParamKeys = [], arrayBody = false }) {
|
|
67009
67926
|
const { url: url2, usedKeys } = replacePathParams(path2, args);
|
|
67010
67927
|
const remaining = removeUsedKeys(args, usedKeys);
|
|
67011
|
-
const { params, data } = separateParamsAndBody(
|
|
67928
|
+
const { params, data } = separateParamsAndBody({
|
|
67929
|
+
args: remaining,
|
|
67930
|
+
method,
|
|
67931
|
+
queryParamKeys,
|
|
67932
|
+
arrayBody
|
|
67933
|
+
});
|
|
67012
67934
|
return { url: url2, params, data };
|
|
67013
67935
|
}
|
|
67014
67936
|
function replacePathParams(path2, args) {
|
|
@@ -67039,7 +67961,7 @@ var PathParamError = class extends Error {
|
|
|
67039
67961
|
function removeUsedKeys(args, usedKeys) {
|
|
67040
67962
|
return Object.fromEntries(Object.entries(args).filter(([key]) => !usedKeys.has(key)));
|
|
67041
67963
|
}
|
|
67042
|
-
function separateParamsAndBody(args, method, queryParamKeys) {
|
|
67964
|
+
function separateParamsAndBody({ args, method, queryParamKeys, arrayBody }) {
|
|
67043
67965
|
const isBodyMethod = ["POST", "PUT", "PATCH"].includes(method);
|
|
67044
67966
|
if (!isBodyMethod) {
|
|
67045
67967
|
return { params: args };
|
|
@@ -67047,8 +67969,7 @@ function separateParamsAndBody(args, method, queryParamKeys) {
|
|
|
67047
67969
|
const queryKeySet = new Set(queryParamKeys);
|
|
67048
67970
|
const params = Object.fromEntries(Object.entries(args).filter(([key]) => queryKeySet.has(key)));
|
|
67049
67971
|
const data = Object.fromEntries(Object.entries(args).filter(([key]) => !queryKeySet.has(key)));
|
|
67050
|
-
|
|
67051
|
-
if (dataKeys.length === 1 && dataKeys[0] === "items" && Array.isArray(data.items)) {
|
|
67972
|
+
if (arrayBody && Array.isArray(data.items)) {
|
|
67052
67973
|
return { params, data: data.items };
|
|
67053
67974
|
}
|
|
67054
67975
|
return { params, data };
|
|
@@ -67066,6 +67987,62 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
|
|
|
67066
67987
|
// ../hyperline-mcp/build/server/server.js
|
|
67067
67988
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
67068
67989
|
|
|
67990
|
+
// build/multipart.js
|
|
67991
|
+
import { readFile as readFile2 } from "node:fs/promises";
|
|
67992
|
+
import { basename, extname } from "node:path";
|
|
67993
|
+
var MIMETYPES_BY_EXTENSION = {
|
|
67994
|
+
".csv": "text/csv",
|
|
67995
|
+
".doc": "application/msword",
|
|
67996
|
+
".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
67997
|
+
".gif": "image/gif",
|
|
67998
|
+
".jpeg": "image/jpeg",
|
|
67999
|
+
".jpg": "image/jpeg",
|
|
68000
|
+
".json": "application/json",
|
|
68001
|
+
".pdf": "application/pdf",
|
|
68002
|
+
".png": "image/png",
|
|
68003
|
+
".svg": "image/svg+xml",
|
|
68004
|
+
".txt": "text/plain",
|
|
68005
|
+
".xls": "application/vnd.ms-excel",
|
|
68006
|
+
".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
68007
|
+
".xml": "application/xml"
|
|
68008
|
+
};
|
|
68009
|
+
function getMimetypeFromPath(filePath) {
|
|
68010
|
+
return MIMETYPES_BY_EXTENSION[extname(filePath).toLowerCase()] ?? "application/octet-stream";
|
|
68011
|
+
}
|
|
68012
|
+
function appendFormValue({ formData, key, value }) {
|
|
68013
|
+
if (value === void 0) {
|
|
68014
|
+
return;
|
|
68015
|
+
}
|
|
68016
|
+
if (value === null) {
|
|
68017
|
+
formData.append(key, "");
|
|
68018
|
+
return;
|
|
68019
|
+
}
|
|
68020
|
+
if (Array.isArray(value)) {
|
|
68021
|
+
for (const [index, item] of value.entries()) {
|
|
68022
|
+
appendFormValue({ formData, key: `${key}[${index}]`, value: item });
|
|
68023
|
+
}
|
|
68024
|
+
return;
|
|
68025
|
+
}
|
|
68026
|
+
if (typeof value === "object") {
|
|
68027
|
+
throw new Error(`--${key} cannot be sent alongside files: a multipart request only carries scalar fields.`);
|
|
68028
|
+
}
|
|
68029
|
+
formData.append(key, String(value));
|
|
68030
|
+
}
|
|
68031
|
+
async function buildMultipartBody({ data, files }) {
|
|
68032
|
+
const formData = new FormData();
|
|
68033
|
+
for (const [key, value] of Object.entries(data)) {
|
|
68034
|
+
appendFormValue({ formData, key, value });
|
|
68035
|
+
}
|
|
68036
|
+
const fileUploads = Object.entries(files).flatMap(([fieldName, filePaths]) => filePaths.map((filePath) => ({ fieldName, filePath })));
|
|
68037
|
+
const fileContents = await Promise.all(fileUploads.map(({ filePath }) => readFile2(filePath)));
|
|
68038
|
+
for (const [index, { fieldName, filePath }] of fileUploads.entries()) {
|
|
68039
|
+
formData.append(fieldName, new Blob([new Uint8Array(fileContents[index])], {
|
|
68040
|
+
type: getMimetypeFromPath(filePath)
|
|
68041
|
+
}), basename(filePath));
|
|
68042
|
+
}
|
|
68043
|
+
return formData;
|
|
68044
|
+
}
|
|
68045
|
+
|
|
67069
68046
|
// build/output.js
|
|
67070
68047
|
function formatOutput({ data, format: format2 }) {
|
|
67071
68048
|
if (format2 === "json") {
|
|
@@ -67125,16 +68102,25 @@ function createCLIContext({ apiKey, baseUrl, outputFormat, source, companyId })
|
|
|
67125
68102
|
return {
|
|
67126
68103
|
baseUrl,
|
|
67127
68104
|
outputFormat,
|
|
67128
|
-
async execute({ method, path: path2, args, queryParamKeys = [], body, baseUrlOverride }) {
|
|
67129
|
-
const { url: url2, params, data } = buildRequestConfig(
|
|
68105
|
+
async execute({ method, path: path2, args, queryParamKeys = [], body, files, baseUrlOverride }) {
|
|
68106
|
+
const { url: url2, params, data } = buildRequestConfig({
|
|
68107
|
+
path: path2,
|
|
68108
|
+
args,
|
|
68109
|
+
method,
|
|
68110
|
+
queryParamKeys
|
|
68111
|
+
});
|
|
67130
68112
|
const requestData = body ?? data;
|
|
67131
68113
|
const hasData = Array.isArray(requestData) ? requestData.length > 0 : requestData != null && Object.keys(requestData).length > 0;
|
|
68114
|
+
const hasFiles = Object.values(files ?? {}).some((filePaths) => filePaths.length > 0);
|
|
67132
68115
|
try {
|
|
67133
68116
|
const response = await httpClient.request({
|
|
67134
68117
|
method,
|
|
67135
68118
|
url: url2,
|
|
67136
68119
|
params,
|
|
67137
|
-
data:
|
|
68120
|
+
data: hasFiles ? await buildMultipartBody({
|
|
68121
|
+
data: requestData ?? {},
|
|
68122
|
+
files: files ?? {}
|
|
68123
|
+
}) : hasData ? requestData : void 0,
|
|
67138
68124
|
...baseUrlOverride ? { baseURL: baseUrlOverride } : {},
|
|
67139
68125
|
headers: {
|
|
67140
68126
|
"Hyperline-Source": source,
|