@nautical-commerce/graphql-schema 4.7.0 → 4.9.0

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.
@@ -513,8 +513,8 @@ type AgreementCommissionEvent implements Node {
513
513
  """Global ID of user who made the change."""
514
514
  userId: String
515
515
 
516
- """Tenant ID where the change occurred."""
517
- tenantId: Int
516
+ """UUID of the tenant where the change occurred."""
517
+ tenantId: String
518
518
 
519
519
  """Tenant slug where the change occurred."""
520
520
  tenantSlug: String
@@ -643,8 +643,8 @@ type AgreementEvent implements Node {
643
643
  """Global ID of user who made the change."""
644
644
  userId: String
645
645
 
646
- """Tenant ID where the change occurred."""
647
- tenantId: Int
646
+ """UUID of the tenant where the change occurred."""
647
+ tenantId: String
648
648
 
649
649
  """Tenant slug where the change occurred."""
650
650
  tenantSlug: String
@@ -765,8 +765,8 @@ type AgreementFeesEvent implements Node {
765
765
  """Global ID of user who made the change."""
766
766
  userId: String
767
767
 
768
- """Tenant ID where the change occurred."""
769
- tenantId: Int
768
+ """UUID of the tenant where the change occurred."""
769
+ tenantId: String
770
770
 
771
771
  """Tenant slug where the change occurred."""
772
772
  tenantSlug: String
@@ -918,8 +918,8 @@ type AgreementSellersEvent implements Node {
918
918
  """Global ID of user who made the change."""
919
919
  userId: String
920
920
 
921
- """Tenant ID where the change occurred."""
922
- tenantId: Int
921
+ """UUID of the tenant where the change occurred."""
922
+ tenantId: String
923
923
 
924
924
  """Tenant slug where the change occurred."""
925
925
  tenantSlug: String
@@ -997,8 +997,8 @@ type AgreementTimelineEvent implements Node {
997
997
  """Global ID of user who made the change."""
998
998
  userId: String
999
999
 
1000
- """Tenant ID where the change occurred."""
1001
- tenantId: Int
1000
+ """UUID of the tenant where the change occurred."""
1001
+ tenantId: String
1002
1002
 
1003
1003
  """Tenant slug where the change occurred."""
1004
1004
  tenantSlug: String
@@ -1043,6 +1043,58 @@ type AgreementUpdate {
1043
1043
  agreementErrors: [AgreementError!]!
1044
1044
  }
1045
1045
 
1046
+ """Result of an asynchronous Algolia maintenance action."""
1047
+ type AlgoliaAction {
1048
+ """True when the background job was queued. It runs asynchronously."""
1049
+ started: Boolean!
1050
+
1051
+ """List of errors that occurred executing the mutation."""
1052
+ pluginsErrors: [PluginError!]!
1053
+ }
1054
+
1055
+ """Category of an Algolia sync problem."""
1056
+ enum AlgoliaProblemCode {
1057
+ AUTH_ERROR
1058
+ RECORD_TOO_LARGE
1059
+ INDEXING_FAILED
1060
+ SETTINGS_FAILED
1061
+ CONFIG_INVALID
1062
+ }
1063
+
1064
+ """A problem the Algolia sync hit, with what to do about it."""
1065
+ type AlgoliaSyncProblem {
1066
+ """Problem id."""
1067
+ id: ID!
1068
+
1069
+ """When the problem was recorded."""
1070
+ createdAt: DateTime!
1071
+
1072
+ """Problem category."""
1073
+ code: AlgoliaProblemCode!
1074
+
1075
+ """What went wrong."""
1076
+ message: String!
1077
+
1078
+ """
1079
+ Pointer to the affected object, e.g. 'product:123'. Empty when not object-specific.
1080
+ """
1081
+ objectLabel: String!
1082
+
1083
+ """Suggested next step for this category."""
1084
+ remediation: String!
1085
+ }
1086
+
1087
+ """Result of algoliaVerifyCredentials."""
1088
+ type AlgoliaVerifyCredentials {
1089
+ """
1090
+ True when the configured admin key exists and carries every required ACL.
1091
+ """
1092
+ verified: Boolean!
1093
+
1094
+ """List of errors that occurred executing the mutation."""
1095
+ pluginsErrors: [PluginError!]!
1096
+ }
1097
+
1046
1098
  """Represents stock allocation for an order line."""
1047
1099
  type Allocation implements Node {
1048
1100
  """The Globally Unique ID of this object"""
@@ -1515,7 +1567,9 @@ type Attribute implements Node & ObjectWithMetadata {
1515
1567
  """The input type to use for entering attribute values in the dashboard."""
1516
1568
  inputType: AttributeInputTypeEnum!
1517
1569
 
1518
- """The values available for this attribute"""
1570
+ """
1571
+ ALL values defined for this attribute — the full catalogue of options it can take, NOT the values assigned to any particular product or variant. For the values assigned to a specific object, use the `values` field on SelectedAttribute (a sibling of `attribute`, one level up). Narrowed to a subset when `search` or `first` is supplied. Returns an empty list unless `inputType` is DROPDOWN or MULTISELECT — the other input types carry a unique value per object rather than a shared catalogue.
1572
+ """
1519
1573
  values(search: String = null, first: Int = null): [AttributeValue!]!
1520
1574
 
1521
1575
  """Seller who created this attribute, if any"""
@@ -1600,8 +1654,8 @@ type AttributeAuditEvent implements Node {
1600
1654
  """Global ID of the user who made the change."""
1601
1655
  userId: String
1602
1656
 
1603
- """Tenant ID where the change occurred."""
1604
- tenantId: Int
1657
+ """UUID of the tenant where the change occurred."""
1658
+ tenantId: String
1605
1659
 
1606
1660
  """Tenant slug where the change occurred."""
1607
1661
  tenantSlug: String
@@ -2958,8 +3012,8 @@ type CategoryAuditEvent implements Node {
2958
3012
  """Global ID of the user who made the change."""
2959
3013
  userId: String
2960
3014
 
2961
- """Tenant ID where the change occurred."""
2962
- tenantId: Int
3015
+ """UUID of the tenant where the change occurred."""
3016
+ tenantId: String
2963
3017
 
2964
3018
  """Tenant slug where the change occurred."""
2965
3019
  tenantSlug: String
@@ -3960,8 +4014,8 @@ type CollectionAuditEvent implements Node {
3960
4014
  """Global ID of the user who made the change."""
3961
4015
  userId: String
3962
4016
 
3963
- """Tenant ID where the change occurred."""
3964
- tenantId: Int
4017
+ """UUID of the tenant where the change occurred."""
4018
+ tenantId: String
3965
4019
 
3966
4020
  """Tenant slug where the change occurred."""
3967
4021
  tenantSlug: String
@@ -5554,8 +5608,8 @@ type DigitalContentAuditEvent implements Node {
5554
5608
  """Global ID of the user who made the change."""
5555
5609
  userId: String
5556
5610
 
5557
- """Tenant ID where the change occurred."""
5558
- tenantId: Int
5611
+ """UUID of the tenant where the change occurred."""
5612
+ tenantId: String
5559
5613
 
5560
5614
  """Tenant slug where the change occurred."""
5561
5615
  tenantSlug: String
@@ -5728,8 +5782,8 @@ type DigitalContentUrlAuditEvent implements Node {
5728
5782
  """Global ID of the user who made the change."""
5729
5783
  userId: String
5730
5784
 
5731
- """Tenant ID where the change occurred."""
5732
- tenantId: Int
5785
+ """UUID of the tenant where the change occurred."""
5786
+ tenantId: String
5733
5787
 
5734
5788
  """Tenant slug where the change occurred."""
5735
5789
  tenantSlug: String
@@ -5780,6 +5834,15 @@ input DigitalContentUrlCreateInput {
5780
5834
  content: ID!
5781
5835
  }
5782
5836
 
5837
+ """Result of digital content URL rotate mutation."""
5838
+ type DigitalContentUrlRotate {
5839
+ """The newly issued digital content URL."""
5840
+ digitalContentUrl: DigitalContentUrl
5841
+
5842
+ """List of errors that occurred executing the mutation."""
5843
+ productErrors: [ProductError!]!
5844
+ }
5845
+
5783
5846
  """Represents errors from discount operations."""
5784
5847
  type DiscountError {
5785
5848
  field: String
@@ -9957,10 +10020,10 @@ type Mutation {
9957
10020
  """Clear all seller shipping methods."""
9958
10021
  checkoutSellerShippingMethodsClear(checkoutId: ID!): CheckoutSellerShippingMethodsClear!
9959
10022
 
9960
- """Add a promo code (voucher or gift card)."""
10023
+ """Add a voucher code to the checkout."""
9961
10024
  checkoutAddPromoCode(checkoutId: ID!, promoCode: String!): CheckoutAddPromoCode!
9962
10025
 
9963
- """Remove a promo code."""
10026
+ """Remove a voucher code from the checkout."""
9964
10027
  checkoutRemovePromoCode(checkoutId: ID!, promoCode: String!): CheckoutRemovePromoCode!
9965
10028
 
9966
10029
  """Add purchase order numbers."""
@@ -10046,6 +10109,9 @@ type Mutation {
10046
10109
  """Publish products in bulk."""
10047
10110
  productBulkPublish(ids: [ID!]!, isPublished: Boolean!): ProductBulkPublish!
10048
10111
 
10112
+ """Update approval status for products in bulk."""
10113
+ productBulkSubStatusUpdate(ids: [ID!]!, subStatus: ProductSubStatusEnum!, subStatusReason: String = null): ProductBulkSubStatusUpdate!
10114
+
10049
10115
  """Update category for products in bulk."""
10050
10116
  productBulkCategoryUpdate(ids: [ID!]!, category: ID!): ProductBulkCategoryUpdate!
10051
10117
 
@@ -10198,6 +10264,11 @@ type Mutation {
10198
10264
  """Creates a download URL for digital content."""
10199
10265
  digitalContentUrlCreate(input: DigitalContentUrlCreateInput!): DigitalContentUrlCreate!
10200
10266
 
10267
+ """
10268
+ Re-issue the download link for an order line. The existing link stops working immediately and is replaced by one with a fresh token and a reset download count. Accepts either an OrderLine or a NauticalOrderLine id. The customer's entitlement is left untouched — this replaces the delivery credential, not their ownership. Requires MANAGE_ORDERS.
10269
+ """
10270
+ digitalContentUrlRotate(lineId: ID!): DigitalContentUrlRotate!
10271
+
10201
10272
  """
10202
10273
  Create a product bundle. Builds a Product flagged is_bundle=True + its single sellable ProductVariant + BundleItem rows for each component, all in one transaction.
10203
10274
  """
@@ -10642,6 +10713,21 @@ type Mutation {
10642
10713
  """Create a checkout event for analytics tracking."""
10643
10714
  checkoutEventTriggered(type: CheckoutEventType!, checkoutId: String!): CheckoutEventTriggered!
10644
10715
 
10716
+ """
10717
+ Check the configured Algolia admin credentials and required ACLs. Works on a saved but not yet activated configuration.
10718
+ """
10719
+ algoliaVerifyCredentials: AlgoliaVerifyCredentials!
10720
+
10721
+ """
10722
+ Push the plugin-owned index settings to Algolia. Tenant-authored relevance settings are never overwritten.
10723
+ """
10724
+ algoliaPushSettings: AlgoliaAction!
10725
+
10726
+ """
10727
+ Rebuild the whole product index from the database. The swap is atomic: the live index is only replaced once the rebuild succeeds.
10728
+ """
10729
+ algoliaReindex: AlgoliaAction!
10730
+
10645
10731
  """Create a new warehouse."""
10646
10732
  warehouseCreate(input: WarehouseCreateInput!): WarehouseCreate!
10647
10733
 
@@ -11240,8 +11326,8 @@ type NauticalOrderAuditEvent implements Node {
11240
11326
  """Global ID of user who made the change."""
11241
11327
  changedById: String
11242
11328
 
11243
- """Tenant ID where the change occurred."""
11244
- tenantId: Int
11329
+ """UUID of the tenant where the change occurred."""
11330
+ tenantId: String
11245
11331
 
11246
11332
  """Tenant slug where the change occurred."""
11247
11333
  tenantSlug: String
@@ -12343,8 +12429,8 @@ type OrderAuditEvent implements Node {
12343
12429
  """Email of staff/app user who made the change."""
12344
12430
  changedByEmail: String
12345
12431
 
12346
- """Tenant ID where the change occurred."""
12347
- tenantId: Int
12432
+ """UUID of the tenant where the change occurred."""
12433
+ tenantId: String
12348
12434
 
12349
12435
  """App name if change was via API token."""
12350
12436
  appName: String
@@ -13790,8 +13876,8 @@ type PaymentEvent implements Node {
13790
13876
  """Email of user who made the change."""
13791
13877
  changedByEmail: String
13792
13878
 
13793
- """Tenant ID where the change occurred."""
13794
- tenantId: Int
13879
+ """UUID of the tenant where the change occurred."""
13880
+ tenantId: String
13795
13881
 
13796
13882
  """App name if change was via API token."""
13797
13883
  appName: String
@@ -15006,8 +15092,8 @@ type ProductAuditEvent implements Node {
15006
15092
  """Global ID of the user who made the change."""
15007
15093
  userId: String
15008
15094
 
15009
- """Tenant ID where the change occurred."""
15010
- tenantId: Int
15095
+ """UUID of the tenant where the change occurred."""
15096
+ tenantId: String
15011
15097
 
15012
15098
  """Tenant slug where the change occurred."""
15013
15099
  tenantSlug: String
@@ -15195,6 +15281,15 @@ type ProductBulkPublish {
15195
15281
  productErrors: [ProductError!]!
15196
15282
  }
15197
15283
 
15284
+ """Result of product bulk approval status update mutation."""
15285
+ type ProductBulkSubStatusUpdate {
15286
+ """Number of products whose approval status was updated."""
15287
+ count: Int!
15288
+
15289
+ """List of errors that occurred executing the mutation."""
15290
+ productErrors: [ProductError!]!
15291
+ }
15292
+
15198
15293
  """Product category report data."""
15199
15294
  type ProductCategoryReportType {
15200
15295
  """Category ID"""
@@ -15571,8 +15666,8 @@ type ProductImageAuditEvent implements Node {
15571
15666
  """Global ID of the user who made the change."""
15572
15667
  userId: String
15573
15668
 
15574
- """Tenant ID where the change occurred."""
15575
- tenantId: Int
15669
+ """UUID of the tenant where the change occurred."""
15670
+ tenantId: String
15576
15671
 
15577
15672
  """Tenant slug where the change occurred."""
15578
15673
  tenantSlug: String
@@ -16154,8 +16249,8 @@ type ProductTypeAuditEvent implements Node {
16154
16249
  """Global ID of the user who made the change."""
16155
16250
  userId: String
16156
16251
 
16157
- """Tenant ID where the change occurred."""
16158
- tenantId: Int
16252
+ """UUID of the tenant where the change occurred."""
16253
+ tenantId: String
16159
16254
 
16160
16255
  """Tenant slug where the change occurred."""
16161
16256
  tenantSlug: String
@@ -16567,8 +16662,8 @@ type ProductVariantAuditEvent implements Node {
16567
16662
  """Global ID of the user who made the change."""
16568
16663
  userId: String
16569
16664
 
16570
- """Tenant ID where the change occurred."""
16571
- tenantId: Int
16665
+ """UUID of the tenant where the change occurred."""
16666
+ tenantId: String
16572
16667
 
16573
16668
  """Tenant slug where the change occurred."""
16574
16669
  tenantSlug: String
@@ -17178,8 +17273,8 @@ type ProductVideoAuditEvent implements Node {
17178
17273
  """Global ID of the user who made the change."""
17179
17274
  userId: String
17180
17275
 
17181
- """Tenant ID where the change occurred."""
17182
- tenantId: Int
17276
+ """UUID of the tenant where the change occurred."""
17277
+ tenantId: String
17183
17278
 
17184
17279
  """Tenant slug where the change occurred."""
17185
17280
  tenantSlug: String
@@ -18346,6 +18441,11 @@ type Query {
18346
18441
  """List all plugins. Requires MANAGE_PLUGINS permission."""
18347
18442
  plugins(first: Int = null, last: Int = null, before: String = null, after: String = null, filter: PluginFilterInput = null, sortBy: PluginSortingInput = null): PluginCountableConnection!
18348
18443
 
18444
+ """
18445
+ Problems recorded by the Algolia sync, newest first. Bounded by the plugin's own retention cap, so this is a short operator list rather than a log store.
18446
+ """
18447
+ algoliaSyncProblems: [AlgoliaSyncProblem!]!
18448
+
18349
18449
  """Look up a webhook by ID."""
18350
18450
  webhook(id: ID!): Webhook
18351
18451
 
@@ -18787,6 +18887,16 @@ type Query {
18787
18887
  """Returns the items in the list that come after the specified cursor."""
18788
18888
  last: Int = null
18789
18889
  ): MarketplaceSubscriptionCountableConnection!
18890
+
18891
+ """
18892
+ Fetch any object by its global ID. Access is deny-by-default: a type is only reachable here once it has been opted in with expose_as_node(), naming the permissions the lookup requires.
18893
+ """
18894
+ node(id: ID!): Node
18895
+
18896
+ """
18897
+ Fetch several objects by global ID. Returns one entry per id, in order, null where the id did not resolve. Same deny-by-default policy as `node`.
18898
+ """
18899
+ nodes(ids: [ID!]!): [Node]!
18790
18900
  }
18791
18901
 
18792
18902
  """The recipient type for an email template."""
@@ -18961,8 +19071,8 @@ type RefundAuditEvent implements Node {
18961
19071
  """Email of user who made the change."""
18962
19072
  changedByEmail: String
18963
19073
 
18964
- """Tenant ID where the change occurred."""
18965
- tenantId: Int
19074
+ """UUID of the tenant where the change occurred."""
19075
+ tenantId: String
18966
19076
 
18967
19077
  """App name if change was via API token."""
18968
19078
  appName: String
@@ -19848,12 +19958,79 @@ type SalesVelocityReport {
19848
19958
  currency: String!
19849
19959
  }
19850
19960
 
19961
+ """
19962
+ How to search this shop's catalog. When provider is ALGOLIA the credentials below are a per-request, index-scoped, expiring secured key safe to use from a browser. When provider is POSTGRES no credentials are issued and consumers should use products(filter: {search: ...}).
19963
+ """
19964
+ type SearchConfiguration {
19965
+ """
19966
+ Engine backing search. POSTGRES means fall back to the GraphQL FTS path.
19967
+ """
19968
+ provider: SearchProvider!
19969
+
19970
+ """
19971
+ Granularity of index records; VARIANT records collapse to one hit per product.
19972
+ """
19973
+ recordModel: SearchRecordModel!
19974
+
19975
+ """
19976
+ Version of the record schema, so clients can detect field-shape changes.
19977
+ """
19978
+ schemaVersion: Int!
19979
+
19980
+ """Indexes this client may query. Empty when provider is POSTGRES."""
19981
+ indexes: [SearchIndexDescriptor!]!
19982
+
19983
+ """Algolia application ID. Null when provider is POSTGRES."""
19984
+ applicationId: String
19985
+
19986
+ """Index-name prefix owned by this shop. Null when POSTGRES."""
19987
+ indexPrefix: String
19988
+
19989
+ """
19990
+ Secured, index-scoped, expiring search key minted for this request. Never the tenant's raw search or admin key. Null when provider is POSTGRES.
19991
+ """
19992
+ searchApiKey: String
19993
+
19994
+ """When searchApiKey stops working. Null when provider is POSTGRES."""
19995
+ validUntil: DateTime
19996
+ }
19997
+
19998
+ """An index the client may query, and what it contains."""
19999
+ type SearchIndexDescriptor {
20000
+ """What this index holds."""
20001
+ purpose: SearchIndexPurpose!
20002
+
20003
+ """Fully-qualified index name, prefix included."""
20004
+ name: String!
20005
+ }
20006
+
20007
+ """What a search index holds."""
20008
+ enum SearchIndexPurpose {
20009
+ PRODUCTS
20010
+ }
20011
+
20012
+ """Which engine backs storefront product search for this shop."""
20013
+ enum SearchProvider {
20014
+ ALGOLIA
20015
+ POSTGRES
20016
+ }
20017
+
20018
+ """Granularity of the records in the products index."""
20019
+ enum SearchRecordModel {
20020
+ VARIANT
20021
+ PRODUCT
20022
+ }
20023
+
19851
20024
  """Represents a selected attribute with its values"""
19852
20025
  type SelectedAttribute {
19853
- """The attribute definition"""
20026
+ """
20027
+ The attribute definition. Its `values` field lists every value the attribute CAN take — for the values actually assigned here, use the `values` field alongside this one, not the one nested inside it.
20028
+ """
19854
20029
  attribute: Attribute!
19855
20030
 
19856
- """Values of the attribute"""
20031
+ """
20032
+ The values assigned to THIS object — this product, variant, or custom-field owner. Usually the field you want. Contrast `attribute.values`, which is the attribute's full catalogue of possible values and is identical for every object sharing it.
20033
+ """
19857
20034
  values: [AttributeValue!]!
19858
20035
 
19859
20036
  """
@@ -20339,8 +20516,8 @@ type SellerAuditEvent implements Node {
20339
20516
  """Global ID of user who made the change."""
20340
20517
  userId: String
20341
20518
 
20342
- """Tenant ID where the change occurred."""
20343
- tenantId: Int
20519
+ """UUID of the tenant where the change occurred."""
20520
+ tenantId: String
20344
20521
 
20345
20522
  """Tenant slug where the change occurred."""
20346
20523
  tenantSlug: String
@@ -21481,6 +21658,11 @@ type Shop {
21481
21658
  """Gets active plugins."""
21482
21659
  activePlugins: [Plugin!]!
21483
21660
 
21661
+ """
21662
+ How to search this shop's catalog, including a per-request secured search key when an Algolia search provider is active.
21663
+ """
21664
+ searchConfiguration: SearchConfiguration!
21665
+
21484
21666
  """Storefront integrations for the given contexts."""
21485
21667
  storefrontUiIntegrations(contexts: [AppStorefrontIntegrationContextEnum!] = null): [AppStorefrontIntegration!]!
21486
21668
  }
@@ -23382,8 +23564,8 @@ type VendorPayoutAuditEvent implements Node {
23382
23564
  """Global ID of user who made the change."""
23383
23565
  userId: String
23384
23566
 
23385
- """Tenant ID where the change occurred."""
23386
- tenantId: Int
23567
+ """UUID of the tenant where the change occurred."""
23568
+ tenantId: String
23387
23569
 
23388
23570
  """Tenant slug where the change occurred."""
23389
23571
  tenantSlug: String
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nautical-commerce/graphql-schema",
3
- "version": "4.7.0",
3
+ "version": "4.9.0",
4
4
  "description": "Traide API GraphQL Schema",
5
5
  "main": "./nautical/schema.graphql",
6
6
  "scripts": {