@usereactify/search 5.53.0 → 5.55.0-beta.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.
- package/CHANGELOG.md +19 -0
- package/dist/package.json +2 -2
- package/dist/src/components/ClearAll/ClearAll.d.ts +1 -1
- package/dist/src/components/ClearAll/ClearAll.js +3 -2
- package/dist/src/components/ClearAll/ClearAll.js.map +1 -1
- package/dist/src/components/ClearAll/index.js +5 -1
- package/dist/src/components/ClearAll/index.js.map +1 -1
- package/dist/src/components/CustomComponent/CustomComponent.d.ts +1 -1
- package/dist/src/components/CustomComponent/index.js +5 -1
- package/dist/src/components/CustomComponent/index.js.map +1 -1
- package/dist/src/components/Example/ExampleClearAll.d.ts +1 -1
- package/dist/src/components/Example/ExampleFilterList.d.ts +1 -1
- package/dist/src/components/Example/ExampleFilterRange.d.ts +1 -1
- package/dist/src/components/Example/ExampleFilterSlider.d.ts +1 -1
- package/dist/src/components/Example/ExampleFiltersSelected.d.ts +1 -1
- package/dist/src/components/Example/ExampleHookUseResults.js.map +1 -1
- package/dist/src/components/Example/ExampleResultCardCallout.d.ts +1 -1
- package/dist/src/components/Example/ExampleResultCardProduct.d.ts +1 -1
- package/dist/src/components/Example/ExampleResultPaginationInfiniteScroll.d.ts +1 -1
- package/dist/src/components/Example/ExampleResultPaginationInfiniteScroll.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationLoadMore.d.ts +1 -1
- package/dist/src/components/Example/ExampleResultPaginationNextPrev.d.ts +1 -1
- package/dist/src/components/Example/ExampleResultPaginationNumbered.d.ts +1 -1
- package/dist/src/components/Example/ExampleSearch.d.ts +1 -1
- package/dist/src/components/Example/ExampleSortBy.d.ts +1 -1
- package/dist/src/components/Example/ExampleStats.d.ts +1 -1
- package/dist/src/components/Example/ExampleSuggestions.d.ts +1 -1
- package/dist/src/components/Example/index.js +5 -1
- package/dist/src/components/Example/index.js.map +1 -1
- package/dist/src/components/Filter/Filter.d.ts +1 -1
- package/dist/src/components/Filter/Filter.js.map +1 -1
- package/dist/src/components/Filter/Filters.d.ts +1 -1
- package/dist/src/components/Filter/FiltersSelected.d.ts +1 -1
- package/dist/src/components/Filter/FiltersSelected.js +3 -2
- package/dist/src/components/Filter/FiltersSelected.js.map +1 -1
- package/dist/src/components/Filter/index.js +5 -1
- package/dist/src/components/Filter/index.js.map +1 -1
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.d.ts +1 -1
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js +5 -1
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -1
- package/dist/src/components/ReactifySearchProvider/index.js +5 -1
- package/dist/src/components/ReactifySearchProvider/index.js.map +1 -1
- package/dist/src/components/Result/ResultCardCallout.d.ts +1 -1
- package/dist/src/components/Result/ResultCardCallout.js.map +1 -1
- package/dist/src/components/Result/ResultCardProduct.d.ts +1 -1
- package/dist/src/components/Result/ResultCardProduct.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationInfiniteScroll.d.ts +1 -1
- package/dist/src/components/Result/ResultPaginationLoadMore.d.ts +1 -1
- package/dist/src/components/Result/ResultPaginationNextPrev.d.ts +1 -1
- package/dist/src/components/Result/ResultPaginationNumbered.d.ts +1 -1
- package/dist/src/components/Result/ResultPaginationNumbered.js.map +1 -1
- package/dist/src/components/Result/ResultStateProvider.d.ts +1 -1
- package/dist/src/components/Result/Results.d.ts +2 -2
- package/dist/src/components/Result/Results.js.map +1 -1
- package/dist/src/components/Result/index.js +5 -1
- package/dist/src/components/Result/index.js.map +1 -1
- package/dist/src/components/Search/Search.d.ts +1 -1
- package/dist/src/components/Search/index.js +5 -1
- package/dist/src/components/Search/index.js.map +1 -1
- package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
- package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
- package/dist/src/components/Sensor/SensorPublished.js.map +1 -1
- package/dist/src/components/Sensor/SensorSearchTerm.js.map +1 -1
- package/dist/src/components/Sensor/SensorSort.js.map +1 -1
- package/dist/src/components/Sensor/Sensors.d.ts +1 -1
- package/dist/src/components/Sensor/Sensors.js.map +1 -1
- package/dist/src/components/Sensor/index.js +5 -1
- package/dist/src/components/Sensor/index.js.map +1 -1
- package/dist/src/components/SortBy/SortBy.d.ts +1 -1
- package/dist/src/components/SortBy/index.js +5 -1
- package/dist/src/components/SortBy/index.js.map +1 -1
- package/dist/src/components/Stats/Stats.d.ts +1 -1
- package/dist/src/components/Stats/index.js +5 -1
- package/dist/src/components/Stats/index.js.map +1 -1
- package/dist/src/components/Suggestions/Suggestions.d.ts +1 -1
- package/dist/src/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/src/components/Suggestions/index.js +5 -1
- package/dist/src/components/Suggestions/index.js.map +1 -1
- package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.d.ts +1 -1
- package/dist/src/components/Utility/index.js +5 -1
- package/dist/src/components/Utility/index.js.map +1 -1
- package/dist/src/components/index.js +5 -1
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/hooks/index.js +5 -1
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/reactivesearch/index.js +5 -1
- package/dist/src/hooks/reactivesearch/index.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
- package/dist/src/hooks/useAnalytics.d.ts +1 -1
- package/dist/src/hooks/useAnalytics.js +2 -2
- package/dist/src/hooks/useAnalytics.js.map +1 -1
- package/dist/src/hooks/useConfig.d.ts +1 -1
- package/dist/src/hooks/useConfig.js +1 -12
- package/dist/src/hooks/useConfig.js.map +1 -1
- package/dist/src/hooks/useCuration.d.ts +1 -1
- package/dist/src/hooks/useCuration.js.map +1 -1
- package/dist/src/hooks/useDebugger.d.ts +1 -0
- package/dist/src/hooks/useDebugger.js +12 -1
- package/dist/src/hooks/useDebugger.js.map +1 -1
- package/dist/src/hooks/useFilterListProps.js.map +1 -1
- package/dist/src/hooks/useFilterRangeProps.js +4 -3
- package/dist/src/hooks/useFilterRangeProps.js.map +1 -1
- package/dist/src/hooks/useFilterSliderProps.js +4 -3
- package/dist/src/hooks/useFilterSliderProps.js.map +1 -1
- package/dist/src/hooks/useFilters.d.ts +2 -2
- package/dist/src/hooks/useFilters.js +0 -3
- package/dist/src/hooks/useFilters.js.map +1 -1
- package/dist/src/hooks/useFlags.js +2 -4
- package/dist/src/hooks/useFlags.js.map +1 -1
- package/dist/src/hooks/useIndices.d.ts +1 -1
- package/dist/src/hooks/useIndices.js.map +1 -1
- package/dist/src/hooks/usePagination.d.ts +3 -3
- package/dist/src/hooks/usePagination.js.map +1 -1
- package/dist/src/hooks/usePaginationLoadable.js.map +1 -1
- package/dist/src/hooks/useProductPrice.js.map +1 -1
- package/dist/src/hooks/useReactifySearchContext.d.ts +21 -21
- package/dist/src/hooks/useResults.d.ts +1 -9
- package/dist/src/hooks/useResults.js +9 -7
- package/dist/src/hooks/useResults.js.map +1 -1
- package/dist/src/hooks/useSearch.d.ts +10 -3
- package/dist/src/hooks/useSearch.js +11 -5
- package/dist/src/hooks/useSearch.js.map +1 -1
- package/dist/src/hooks/useSortBy.d.ts +2 -2
- package/dist/src/hooks/useSortBy.js +0 -2
- package/dist/src/hooks/useSortBy.js.map +1 -1
- package/dist/src/index.js +5 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/config.d.ts +10 -10
- package/dist/src/types/elastic.d.ts +6 -6
- package/dist/src/types/elastic.js +2 -2
- package/dist/src/types/elastic.js.map +1 -1
- package/dist/src/types/firestore.d.ts +6 -6
- package/dist/src/types/firestore.js +15 -15
- package/dist/src/types/firestore.js.map +1 -1
- package/dist/src/types/graphql.d.ts +3204 -3204
- package/dist/src/types/graphql.js +445 -445
- package/dist/src/types/graphql.js.map +1 -1
- package/dist/src/types/index.js +5 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/shopify.d.ts +14 -14
- package/dist/src/types/shopify.js +7 -7
- package/dist/src/types/shopify.js.map +1 -1
- package/dist/src/utility/config.js.map +1 -1
- package/dist/src/utility/curation.js.map +1 -1
- package/dist/src/utility/debug.d.ts +2 -1
- package/dist/src/utility/debug.js +1 -0
- package/dist/src/utility/debug.js.map +1 -1
- package/dist/src/utility/filters.js.map +1 -1
- package/dist/src/utility/index.js +5 -1
- package/dist/src/utility/index.js.map +1 -1
- package/dist/src/utility/liquid.js +3 -3
- package/dist/src/utility/liquid.js.map +1 -1
- package/dist/src/utility/props.d.ts +7 -8
- package/dist/src/utility/props.js +6 -6
- package/dist/src/utility/props.js.map +1 -1
- package/dist/src/utility/sortOption.js.map +1 -1
- package/package.json +2 -2
|
@@ -440,7 +440,7 @@ export interface BoostSorting {
|
|
|
440
440
|
position: number;
|
|
441
441
|
direction: "asc" | "desc";
|
|
442
442
|
}
|
|
443
|
-
export
|
|
443
|
+
export type Pin = PinProduct | PinCallout;
|
|
444
444
|
export declare enum PinSource {
|
|
445
445
|
Manual = "manual",
|
|
446
446
|
Automatic = "automatic"
|
|
@@ -449,7 +449,7 @@ export declare enum PinType {
|
|
|
449
449
|
Product = "product",
|
|
450
450
|
Callout = "callout"
|
|
451
451
|
}
|
|
452
|
-
export
|
|
452
|
+
export type PinTypeOnly = Pick<Pin, "type">;
|
|
453
453
|
export declare function isPinProduct(pin: PinTypeOnly): pin is PinProduct;
|
|
454
454
|
export declare function isPinCallout(pin: PinTypeOnly): pin is PinCallout;
|
|
455
455
|
export interface PinProduct {
|
|
@@ -539,7 +539,7 @@ export interface Collection extends ResourceDocument {
|
|
|
539
539
|
syncStatus?: "error" | "complete" | "partiallyComplete";
|
|
540
540
|
syncAt?: string;
|
|
541
541
|
}
|
|
542
|
-
export
|
|
542
|
+
export type Product = ResourceDocument & Omit<ShopifyProduct, "variants" | "images" | "media" | "metafields" | "category" | "unpublishedPublications"> & {
|
|
543
543
|
category: string;
|
|
544
544
|
unpublishedPublications: ShopifyProduct["unpublishedPublications"]["edges"][0]["node"][];
|
|
545
545
|
variants: (Omit<ShopifyProduct["variants"]["edges"][0]["node"], "presentmentPrices"> & {
|
|
@@ -620,9 +620,9 @@ export interface ActivityLog extends ResourceDocument {
|
|
|
620
620
|
resourceType: ResourceType;
|
|
621
621
|
shopifyStaffMemberId: string | undefined;
|
|
622
622
|
}
|
|
623
|
-
export
|
|
624
|
-
export
|
|
625
|
-
export
|
|
623
|
+
export type BillingAppSubscription = ShopifyAppSubscription;
|
|
624
|
+
export type BillingAppPurchaseOneTime = ShopifyAppPurchaseOneTime;
|
|
625
|
+
export type BillingAppPurchaseCredit = {
|
|
626
626
|
id: string;
|
|
627
627
|
name: string;
|
|
628
628
|
status: AppPurchaseStatus;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ActivityLogAction = exports.AnalyticsReports = exports.SynonymType = exports.CalloutType = exports.
|
|
3
|
+
exports.ActivityLogAction = exports.AnalyticsReports = exports.SynonymType = exports.CalloutType = exports.PinType = exports.PinSource = exports.CurationStatusLabel = exports.CurationStatus = exports.CurationTypeLabel = exports.CurationType = exports.SettingsCurationsImageOption = exports.MerchandisingCalloutAutofillBehaviour = exports.ManageAdminFlag = exports.TaskSyncBulkDownloadTypeLabel = exports.ResourceTypeLabel = exports.ResourceType = void 0;
|
|
4
|
+
exports.isPinProduct = isPinProduct;
|
|
5
|
+
exports.isPinCallout = isPinCallout;
|
|
4
6
|
var ResourceType;
|
|
5
7
|
(function (ResourceType) {
|
|
6
8
|
ResourceType["ActivityLog"] = "activity_log";
|
|
@@ -20,7 +22,7 @@ var ResourceType;
|
|
|
20
22
|
ResourceType["Antonym"] = "antonym";
|
|
21
23
|
ResourceType["Synonym"] = "synonym";
|
|
22
24
|
ResourceType["Task"] = "task";
|
|
23
|
-
})(ResourceType
|
|
25
|
+
})(ResourceType || (exports.ResourceType = ResourceType = {}));
|
|
24
26
|
exports.ResourceTypeLabel = {
|
|
25
27
|
[ResourceType.ActivityLog]: "Activity log",
|
|
26
28
|
[ResourceType.Product]: "Product",
|
|
@@ -48,22 +50,22 @@ exports.TaskSyncBulkDownloadTypeLabel = {
|
|
|
48
50
|
var ManageAdminFlag;
|
|
49
51
|
(function (ManageAdminFlag) {
|
|
50
52
|
ManageAdminFlag["Example"] = "example";
|
|
51
|
-
})(ManageAdminFlag
|
|
53
|
+
})(ManageAdminFlag || (exports.ManageAdminFlag = ManageAdminFlag = {}));
|
|
52
54
|
var MerchandisingCalloutAutofillBehaviour;
|
|
53
55
|
(function (MerchandisingCalloutAutofillBehaviour) {
|
|
54
56
|
MerchandisingCalloutAutofillBehaviour["Always"] = "always";
|
|
55
57
|
MerchandisingCalloutAutofillBehaviour["MoreResults"] = "more_results";
|
|
56
|
-
})(MerchandisingCalloutAutofillBehaviour
|
|
58
|
+
})(MerchandisingCalloutAutofillBehaviour || (exports.MerchandisingCalloutAutofillBehaviour = MerchandisingCalloutAutofillBehaviour = {}));
|
|
57
59
|
var SettingsCurationsImageOption;
|
|
58
60
|
(function (SettingsCurationsImageOption) {
|
|
59
61
|
SettingsCurationsImageOption["Index"] = "index";
|
|
60
62
|
SettingsCurationsImageOption["Suffix"] = "suffix";
|
|
61
|
-
})(SettingsCurationsImageOption
|
|
63
|
+
})(SettingsCurationsImageOption || (exports.SettingsCurationsImageOption = SettingsCurationsImageOption = {}));
|
|
62
64
|
var CurationType;
|
|
63
65
|
(function (CurationType) {
|
|
64
66
|
CurationType["Search"] = "search";
|
|
65
67
|
CurationType["Collection"] = "collection";
|
|
66
|
-
})(CurationType
|
|
68
|
+
})(CurationType || (exports.CurationType = CurationType = {}));
|
|
67
69
|
;
|
|
68
70
|
exports.CurationTypeLabel = {
|
|
69
71
|
[CurationType.Search]: "Search",
|
|
@@ -79,7 +81,7 @@ var CurationStatus;
|
|
|
79
81
|
CurationStatus["Resetting"] = "resetting";
|
|
80
82
|
CurationStatus["Pinning"] = "pinning";
|
|
81
83
|
CurationStatus["Sorting"] = "sorting";
|
|
82
|
-
})(CurationStatus
|
|
84
|
+
})(CurationStatus || (exports.CurationStatus = CurationStatus = {}));
|
|
83
85
|
exports.CurationStatusLabel = {
|
|
84
86
|
[CurationStatus.Draft]: "Draft",
|
|
85
87
|
[CurationStatus.Publishing]: "Publishing",
|
|
@@ -94,37 +96,35 @@ var PinSource;
|
|
|
94
96
|
(function (PinSource) {
|
|
95
97
|
PinSource["Manual"] = "manual";
|
|
96
98
|
PinSource["Automatic"] = "automatic";
|
|
97
|
-
})(PinSource
|
|
99
|
+
})(PinSource || (exports.PinSource = PinSource = {}));
|
|
98
100
|
var PinType;
|
|
99
101
|
(function (PinType) {
|
|
100
102
|
PinType["Product"] = "product";
|
|
101
103
|
PinType["Callout"] = "callout";
|
|
102
|
-
})(PinType
|
|
104
|
+
})(PinType || (exports.PinType = PinType = {}));
|
|
103
105
|
function isPinProduct(pin) {
|
|
104
106
|
return PinType.Product === pin.type;
|
|
105
107
|
}
|
|
106
|
-
exports.isPinProduct = isPinProduct;
|
|
107
108
|
function isPinCallout(pin) {
|
|
108
109
|
return PinType.Callout === pin.type;
|
|
109
110
|
}
|
|
110
|
-
exports.isPinCallout = isPinCallout;
|
|
111
111
|
var CalloutType;
|
|
112
112
|
(function (CalloutType) {
|
|
113
113
|
CalloutType["Standard"] = "standard";
|
|
114
114
|
CalloutType["Filler"] = "filler";
|
|
115
|
-
})(CalloutType
|
|
115
|
+
})(CalloutType || (exports.CalloutType = CalloutType = {}));
|
|
116
116
|
var SynonymType;
|
|
117
117
|
(function (SynonymType) {
|
|
118
118
|
SynonymType["Group"] = "group";
|
|
119
119
|
SynonymType["Oneway"] = "oneway";
|
|
120
|
-
})(SynonymType
|
|
120
|
+
})(SynonymType || (exports.SynonymType = SynonymType = {}));
|
|
121
121
|
var AnalyticsReports;
|
|
122
122
|
(function (AnalyticsReports) {
|
|
123
123
|
AnalyticsReports["Sales7Days"] = "sales_7days";
|
|
124
124
|
AnalyticsReports["Sales30Days"] = "sales_30days";
|
|
125
125
|
AnalyticsReports["Revenue7Days"] = "revenue_7days";
|
|
126
126
|
AnalyticsReports["Revenue30Days"] = "revenue_30days";
|
|
127
|
-
})(AnalyticsReports
|
|
127
|
+
})(AnalyticsReports || (exports.AnalyticsReports = AnalyticsReports = {}));
|
|
128
128
|
var ActivityLogAction;
|
|
129
129
|
(function (ActivityLogAction) {
|
|
130
130
|
ActivityLogAction["Create"] = "create";
|
|
@@ -133,5 +133,5 @@ var ActivityLogAction;
|
|
|
133
133
|
ActivityLogAction["Sync"] = "sync";
|
|
134
134
|
ActivityLogAction["Trigger"] = "trigger";
|
|
135
135
|
ActivityLogAction["Update"] = "update";
|
|
136
|
-
})(ActivityLogAction
|
|
136
|
+
})(ActivityLogAction || (exports.ActivityLogAction = ActivityLogAction = {}));
|
|
137
137
|
//# sourceMappingURL=firestore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/types/firestore.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShopifyAppPurchaseOneTime, ShopifyAppSubscription, ShopifyProduct, ShopifyProductImage } from \"./shopify\";\nimport { ElasticDataType } from \"./elastic\";\nimport { AppPurchaseStatus } from \"./graphql\";\n\nexport interface ResourceDocument {\n id: string;\n keywords: Array<string>;\n version?: string;\n createdAt?: string;\n updatedAt?: string;\n}\n\nexport enum ResourceType {\n ActivityLog = \"activity_log\",\n Product = \"product\",\n Collection = \"collection\",\n Curation = \"curation\",\n Callout = \"callout\",\n SettingsAccount = \"account_settings\",\n SettingsAutomation = \"automation_settings\",\n SettingsProduct = \"product_settings\",\n FilterGroup = \"filter_group\",\n FilterFacet = \"filter_facet\",\n MergedValue = \"merged_value\",\n Redirect = \"redirect\",\n Relevancy = \"relevancy\",\n Sort = \"sort\",\n Antonym = \"antonym\",\n Synonym = \"synonym\",\n Task = \"task\",\n}\n\nexport const ResourceTypeLabel: Record<ResourceType, string> = {\n [ResourceType.ActivityLog]: \"Activity log\",\n [ResourceType.Product]: \"Product\",\n [ResourceType.Collection]: \"Collection\",\n [ResourceType.Curation]: \"Curation\",\n [ResourceType.Callout]: \"Callout\",\n [ResourceType.SettingsAccount]: \"Settings account\",\n [ResourceType.SettingsAutomation]: \"Settings automation\",\n [ResourceType.SettingsProduct]: \"Settings product\",\n [ResourceType.FilterGroup]: \"Filter group\",\n [ResourceType.FilterFacet]: \"Filter facet\",\n [ResourceType.MergedValue]: \"Merged value\",\n [ResourceType.Redirect]: \"Redirect\",\n [ResourceType.Relevancy]: \"Relevancy\",\n [ResourceType.Sort]: \"Sort\",\n [ResourceType.Antonym]: \"Antonym\",\n [ResourceType.Synonym]: \"Synonym\",\n [ResourceType.Task]: \"Task\",\n};\n\nexport interface Log {\n id: string\n keywords: Array<string>\n message: string\n platform: \"reactify\" | \"shopify\" | \"google\" | \"elastic\"\n percentCompleted: number\n action?: {\n type: \"retry\"\n label: string\n task: Task[\"taskId\"]\n }\n step:\n | \"syncMainDownload\"\n | \"syncBulkStart\"\n | \"syncBulkDownload\"\n | \"syncBulkTransform\"\n | \"syncBulkMerge\"\n | \"syncBulkUpload\"\n | \"syncBulkCleanup\"\n | \"syncBulkCleanupCurations\"\n | \"analyticsDownload\"\n | \"analyticsTransform\"\n | \"analyticsUpload\"\n | \"complete\"\n | \"analyticsStart\"\n title: string\n type: \"bulk\" | \"analytics\"\n data?: string // JSON sringified data\n progress: \"new\" | \"error\" | \"complete\" | \"partiallyComplete\"\n status: \"success\" | \"info\" | \"warning\" | \"critical\" // polaris banner status\n createdAt: string;\n updatedAt?: string;\n finishedAt?: string;\n}\n\nexport interface Task {\n logId: string\n taskId:\n | \"setupInstall\"\n | \"setupWebhook\"\n | \"syncCollectionId\"\n | \"syncProductId\"\n | \"syncMainDownload\"\n | \"syncBulkReset\"\n | \"syncBulkStart\"\n | \"syncBulkDownload\"\n | \"syncBulkTransform\"\n | \"syncBulkMerge\"\n | \"syncBulkUpload\"\n | \"syncBulkCleanup\"\n | \"syncBulkCleanupCurations\"\n | \"cleanCuration\"\n | \"cleanCurationId\"\n | \"plantSeeds\"\n | \"refreshMappings\"\n | \"refreshDefinedFields\"\n | \"refreshCurations\"\n | \"analyticsStart\"\n | \"analyticsDownload\"\n | \"analyticsTransform\"\n | \"analyticsUpload\"\n | \"indexCleanup\"\n | \"cacheClear\"\n | \"syncMarkets\"\n | \"syncConfig\"\n | \"syncShop\"\n firstRun?: boolean\n createdAt: string;\n updatedAt?: string;\n}\nexport interface TaskSub extends Task {\n taskSubId: string;\n}\n\nexport interface TaskSubSyncCollectionId extends TaskSub {\n taskId: \"syncCollectionId\"\n collectionGid: string\n}\nexport interface TaskSubSyncProductId extends TaskSub {\n taskId: \"syncProductId\"\n productGid: string\n}\nexport interface TaskSyncShop extends Task {\n taskId: \"syncShop\"\n manual?: boolean\n}\n\nexport interface TaskSyncMainDownload extends Task {\n taskId: \"syncMainDownload\"\n type: \"product_download\" | \"product_polling\" | \"collection_download\" | \"collection_polling\";\n productUrl?: string\n collectionUrl?: string\n manual?: boolean\n}\n\nexport interface TaskSyncBulkReset extends Task {\n taskId: \"syncBulkReset\"\n manual?: boolean\n}\n\nexport interface TaskSyncBulkStart extends Task {\n taskId: \"syncBulkStart\"\n manual?: boolean\n}\n\nexport interface TaskSyncBulkDownload extends Task {\n taskId: \"syncBulkDownload\"\n type: \"collection\" | \"product\" | \"product_market\"\n productUrl?: string\n productMarketUrl?: string\n collectionUrl?: string\n syncAt: string\n}\n\nexport const TaskSyncBulkDownloadTypeLabel: Record<\"collection\" | \"product\" | \"product_market\", string> = {\n collection: \"collection details\",\n product: \"product details\",\n product_market: \"product market details\",\n};\n\nexport interface TaskSyncBulkTransform extends Task {\n taskId: \"syncBulkTransform\"\n productUrl: string\n productMarketUrl?: string\n collectionUrl: string\n collectionCount?: number\n lastCollectionCursor?: string\n syncAt: string\n}\n\nexport interface TaskSyncBulkMerge extends Task {\n taskId: \"syncBulkMerge\"\n productCount: number\n collectionCount: number\n productCompletedCount?: number\n startAfterId?: string\n syncAt: string\n}\n\nexport interface TaskSyncBulkUpload extends Task {\n taskId: \"syncBulkUpload\"\n productCount: number\n collectionCount: number\n productCompletedCount?: number\n startAfterId?: string\n syncAt: string\n}\n\nexport interface TaskSyncBulkCleanup extends Task {\n taskId: \"syncBulkCleanup\"\n syncAt: string\n}\n\nexport interface TaskSyncBulkCleanupCurations extends Task {\n taskId: \"syncBulkCleanupCurations\"\n}\n\nexport interface TaskCleanCuration extends Task {\n taskId: \"cleanCuration\";\n startAfterId?: string;\n manual?: boolean;\n}\nexport interface TaskSubCleanCurationId extends TaskSub {\n taskId: \"cleanCurationId\";\n curationId: string;\n manual?: boolean;\n}\nexport interface TaskSetupInstall extends Task {\n taskId: \"setupInstall\"\n}\n\nexport interface TaskSetupWebhook extends Task {\n taskId: \"setupWebhook\"\n}\n\nexport interface TaskPlantSeeds extends Task {\n taskId: \"plantSeeds\"\n}\n\nexport interface TaskRefreshMappings extends Task {\n taskId: \"refreshMappings\"\n manual?: boolean\n}\n\nexport interface TaskRefreshDefinedFields extends Task {\n taskId: \"refreshDefinedFields\"\n manual?: boolean\n}\n\nexport interface TaskRefreshCurations extends Task {\n taskId: \"refreshCurations\"\n manual?: boolean\n}\n\nexport interface TaskAnalyticsStart extends Task {\n taskId: \"analyticsStart\"\n manual?: boolean\n}\n\nexport interface TaskAnalyticsDownload extends Task {\n taskId: \"analyticsDownload\"\n reports: AnalyticsReports[]\n manual?: boolean\n}\n\nexport interface TaskAnalyticsTransform extends Task {\n taskId: \"analyticsTransform\"\n startAfterId?: string\n manual?: boolean\n}\n\nexport interface TaskAnalyticsUpload extends Task {\n taskId: \"analyticsUpload\"\n startAfterId?: string\n manual?: boolean\n}\n\nexport interface TaskIndexCleanup extends Task {\n taskId: \"indexCleanup\"\n manual?: boolean\n}\n\nexport interface TaskCacheClear extends Task {\n taskId: \"cacheClear\"\n manual?: boolean\n}\n\nexport interface TaskSyncMarkets extends Task {\n taskId: \"syncMarkets\"\n manual?: boolean\n}\n\nexport interface TaskSyncConfig extends Task {\n taskId: \"syncConfig\"\n manual?: boolean\n}\nexport interface Lock {\n logId: string\n taskType: \"sync\" | \"syncConfig\" | \"syncCollectionId\" | \"syncProductId\" | \"analytics\"\n createdAt: string;\n expiresAt: string\n}\n\nexport enum ManageAdminFlag {\n Example = \"example\",\n}\nexport interface ManageAdmin {\n installed: boolean;\n indexRead: string;\n indexWrite: string;\n indexAlias: string;\n indexAutomatic: boolean;\n indexRollback: Array<{\n indexName: string;\n documentCount: number;\n createdAt: number;\n }>;\n indexRefreshInterval: string;\n // indexSettingsPending: boolean;\n endpoint: string;\n cluster: string;\n customMappings: string; // JSON sringified data\n customFilters: string; // JSON sringified data\n timezone: string;\n cacheEnabled: boolean;\n cacheSeconds: number;\n flags?: Array<ManageAdminFlag>;\n production: boolean;\n}\n\nexport interface ManageProduct {\n tagChild?: string\n tagKeys?: Array<string>\n tagParent?: string\n tagRelated?: string\n syncObjects?: Array<string>\n tagExclude?: Array<string>\n tagExcludeSearch?: Array<string>\n tagExcludeCollection?: Array<string>\n tagSeparator?: string\n metafieldWhitelist?: Array<string>\n externalAppReactifyImageAI: boolean\n suggestionsExclude?: Array<string>;\n automaticCleanCurations?: boolean;\n\n merchandisingCalloutAutofillBehaviour: MerchandisingCalloutAutofillBehaviour;\n}\n\nexport enum MerchandisingCalloutAutofillBehaviour {\n Always = \"always\",\n MoreResults = \"more_results\",\n}\n\nexport interface ManageAutomation {\n sync: boolean\n webhooks: boolean\n mappings: boolean\n curations: boolean\n analytics: boolean\n syncFrequency: string\n syncThreshold: number\n notificationEnabled?: boolean;\n notificationEmail?: string;\n\n syncCatalogueCompletedAt?: number;\n syncAnalyticsCompletedAt?: number;\n syncConfigCompletedAt?: number;\n\n syncSpecialResourcePendingAt?: number | null;\n\n syncConfigHash?: string;\n}\n\nexport interface ManageAccount {\n shopifyPlanCustomCost?: number;\n shopifyPlanType?: \"general\" | \"partner\" | \"custom\";\n shopifyPlanStore?: \"primary\" | \"addon\";\n shopifyPlan?: \"non-plus\" | \"plus\" | \"development\";\n shopifyPlanSubscriptionShareCode?: string;\n stripeCustomerId?: string\n googleAnalyticsId?: string\n googleEmail?: string\n googleAccessToken?: string\n googleRefreshToken?: string\n googleAccessTokenExpiryDate?: number\n googleAnalyticsType?: \"UA\" | \"GA4\"\n googleIdField?: \"shopify_code\" | \"product_id\" | \"variant_id\" | \"variant_sku\" | \"variant_barcode\"\n}\n\nexport enum SettingsCurationsImageOption {\n Index = \"index\",\n Suffix = \"suffix\",\n}\n\nexport interface SettingsCurations {\n pageSize?: number\n gridColumns?: number\n imageOption: SettingsCurationsImageOption\n imagePosition: number\n imageSuffix: string\n imageSize?: \"small\" | \"medium\" | \"large\"\n imageSizePx: number;\n\n showCardDetailTitle?: boolean;\n showCardDetailContent?: boolean;\n showCardDetailPrice?: boolean;\n showCardDetailVendor?: boolean;\n showCardDetailPreorder?: boolean;\n showCardDetailDiscount?: boolean;\n showCardDetailInventory?: boolean;\n showCardDetailAvailability?: boolean;\n showCardDetailProfitMargin?: boolean;\n showCardDetailPublishedDays?: boolean;\n showCardDetailAnalyticsSales7Days?: boolean;\n showCardDetailAnalyticsSales30Days?: boolean;\n showCardDetailAnalyticsRevenue7Days?: boolean;\n showCardDetailAnalyticsRevenue30Days?: boolean;\n}\n\nexport interface Relevance extends ResourceDocument {\n field: string\n enabled: boolean\n importance: number\n searchType: \"always_search\" | \"search_page\" | \"instant_search\"\n hidden?: boolean\n}\n\nexport interface DefinedField {\n label: string\n value: string\n type: ElasticDataType | string\n}\n\nexport interface Sort extends ResourceDocument {\n name: string\n handle: string\n field: string\n position: number\n enabled: boolean\n direction: \"desc\" | \"asc\"\n visibility: \"all\" | \"search\" | \"collection\"\n hidden?: boolean\n}\n\nexport interface FilterGroup extends ResourceDocument {\n name: string\n handle: string\n enabled: boolean\n pageSize: number\n keywords: Array<string>\n collections: Array<string>\n type: \"search\" | \"collection\"\n paginationType: \"pagination\" | \"load_more\" | \"next_prev\" | \"infinite_scroll\"\n inventoryVisibility: \"show_all\" | \"hide_products\" | \"hide_variants\" | \"hide_all\"\n}\n\nexport interface FilterFacet extends ResourceDocument {\n name: string\n field: string\n handle: string\n position: number\n enabled: boolean\n keywords: Array<string>\n customSortOrder?: string\n displayType: \"multi\" | \"single\" | \"slider\"\n displayView: \"list\" | \"check\" | \"swatch\" | \"range\" | \"box\"\n displaySize: string\n displaySliderStep: string\n displaySliderPrefix: string\n displaySliderSuffix: string\n displayRangeOptions: Array<string>\n settingsShowMore: boolean\n settingsUppercase: boolean\n settingsShowSearch: boolean\n settingsShowFilter: boolean\n settingsShowEmptyValues: boolean\n settingsHideUnavailable: boolean\n settingsCollapsedMobile: boolean\n settingsCollapsedDesktop: boolean\n settingsFilterLogic: \"and\" | \"or\"\n valuesShow: \"all\" | \"manual\"\n valuesManual: Array<string>\n valuesExclude: Array<string>\n}\n\nexport interface Redirect extends ResourceDocument {\n url: string\n query: string\n enabled: boolean\n keywords: Array<string>\n hidden?: boolean\n}\n\nexport interface Curation extends ResourceDocument {\n title: string\n status: CurationStatus\n published: boolean\n keywords: Array<string>\n searchTerm?: string\n longRunningTask?: boolean\n collectionHandle?: string\n collectionId?: string\n type: CurationType;\n boosting?: {\n groupings?: BoostGrouping[]\n sortings?: BoostSorting[]\n }\n sort?: CurationSort\n schedule?: CurationSchedule\n hidden?: boolean\n\n markets?: Array<string>;\n}\n\nexport enum CurationType {\n Search = \"search\",\n Collection = \"collection\",\n};\n\nexport const CurationTypeLabel: Record<CurationType, string> = {\n [CurationType.Search]: \"Search\",\n [CurationType.Collection]: \"Collection\",\n};\n\nexport interface CurationSort {\n sortTag?: string\n sortOption: string\n sortDirection: \"asc\" | \"desc\"\n sortVariantOption?: \"option1\" | \"option2\" | \"option3\"\n}\n\nexport interface CurationSchedule {\n schedulePublish: string\n schedulePublishEnabled: boolean\n scheduleUnpublish: string\n scheduleUnpublishEnabled: boolean\n}\n\nexport enum CurationStatus {\n Draft = \"draft\",\n Publishing = \"publishing\",\n Published = \"published\",\n Error = \"error\",\n Unpublishing = \"unpublishing\",\n Resetting = \"resetting\",\n Pinning = \"pinning\",\n Sorting = \"sorting\",\n}\n\nexport const CurationStatusLabel: Record<CurationStatus, string> = {\n [CurationStatus.Draft]: \"Draft\",\n [CurationStatus.Publishing]: \"Publishing\",\n [CurationStatus.Published]: \"Published\",\n [CurationStatus.Error]: \"Error\",\n [CurationStatus.Unpublishing]: \"Unpublishing\",\n [CurationStatus.Resetting]: \"Resetting\",\n [CurationStatus.Pinning]: \"Pinning\",\n [CurationStatus.Sorting]: \"Sorting\",\n}\n\nexport interface CurationHiding {\n productId: number;\n}\n\nexport interface Market {\n id: string;\n label: string;\n enabled: boolean;\n publicationId: string;\n}\n\nexport interface BoostGrouping {\n key: string\n value: string\n field: string\n position: number\n operation: string\n}\n\nexport interface BoostSorting {\n key: string\n field: string\n query?: string\n position: number\n direction: \"asc\" | \"desc\"\n}\n\nexport type Pin = PinProduct | PinCallout\n\nexport enum PinSource {\n Manual = \"manual\",\n Automatic = \"automatic\",\n}\n\nexport enum PinType {\n Product = \"product\",\n Callout = \"callout\",\n}\n\nexport type PinTypeOnly = Pick<Pin, \"type\">\n\nexport function isPinProduct(pin: PinTypeOnly): pin is PinProduct {\n return PinType.Product === pin.type;\n}\n\nexport function isPinCallout(pin: PinTypeOnly): pin is PinCallout {\n return PinType.Callout === pin.type;\n}\n\nexport interface PinProduct {\n key: string\n type: PinType.Product\n position: number\n productId: number\n source?: PinSource // @todo migrate and change to non-optional field\n}\n\nexport interface PinCallout {\n key: string\n type: PinType.Callout\n position: number\n calloutId: string\n source?: PinSource // @todo migrate and change to non-optional field\n}\n\nexport interface Link {\n content: string\n url: string\n key: string\n}\n\nexport interface Callout extends ResourceDocument {\n id: string;\n type: CalloutType;\n link: string;\n links: Array<Link>;\n // name: string;\n title: string;\n content: string;\n enabled: boolean;\n textColor: string;\n keywords: Array<string>;\n mobileImage: string;\n mobileVideo: string;\n desktopVideo: string;\n desktopImage: string;\n backgroundColor: string;\n visibility: \"desktop\" | \"mobile\" | \"all\";\n displayColumns: string; // @todo this should be a number\n displayRows: string; // @todo this should be a number\n selectedDates?: {\n end: string;\n start: string;\n };\n hidden?: boolean;\n}\n\nexport enum CalloutType {\n Standard = \"standard\",\n Filler = \"filler\",\n}\n\nexport enum SynonymType {\n Group = \"group\",\n Oneway = \"oneway\",\n}\nexport interface Synonym extends ResourceDocument {\n id: string\n name: string\n enabled: boolean\n keywords: Array<string>\n synonyms: Array<string>\n type: SynonymType\n hidden?: boolean\n}\nexport interface Antonym extends ResourceDocument {\n id: string\n name: string\n enabled: boolean\n keywords: Array<string>\n antonyms: Array<string>\n hidden?: boolean\n}\n\nexport interface MergedValue extends ResourceDocument {\n id: string\n name: string\n field: string\n enabled: boolean\n keywords: Array<string>\n values: Array<string>\n hidden?: boolean\n}\n\nexport interface Collection extends ResourceDocument {\n title: string\n handle: string\n shopifyId: string\n productIds: Array<string>\n storefrontId: string\n legacyResourceId: number\n syncStatus?: \"error\" | \"complete\" | \"partiallyComplete\"\n syncAt?: string\n}\n\n// product is the shopify product with edges and nodes normalised\n\nexport type Product = ResourceDocument & Omit<ShopifyProduct, \"variants\" | \"images\" | \"media\" | \"metafields\" | \"category\" | \"unpublishedPublications\"> & {\n category: string;\n unpublishedPublications: ShopifyProduct[\"unpublishedPublications\"][\"edges\"][0][\"node\"][]\n variants: (Omit<ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"], \"presentmentPrices\"> & {\n images?: Array<ShopifyProductImage> // from child product if this variant is from a child\n presentmentPrices: ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"][\"presentmentPrices\"][\"edges\"][0][\"node\"][]\n productId?: string\n })[]\n related?: Array<string>\n images: Array<ShopifyProductImage>\n media: ShopifyProduct[\"media\"][\"edges\"][0][\"node\"][]\n metafields: ShopifyProduct[\"metafields\"][\"edges\"][0][\"node\"][]\n keywords: Array<string>\n syncStatus?: \"error\" | \"complete\" | \"partiallyComplete\"\n syncAt?: string;\n markets?: Array<string>;\n}\n\nexport interface Analytics {\n query: AnalyticsQueryDoc & {\n items: AnalyticsDownloadItem[]\n }\n}\n\nexport interface AnalyticsQueryDoc {\n tableId: string\n accountId: string\n profileId: string\n profileName: string\n webPropertyId: string\n internalWebPropertyId: string\n}\n\nexport interface AnalyticsDownloadItem {\n id: string\n name: string\n value: number\n externalId: string\n type: AnalyticsReports\n}\n\nexport interface AnalyticsUploadItems {\n id: string\n [AnalyticsReports.Sales7Days]: number\n [AnalyticsReports.Sales30Days]: number\n [AnalyticsReports.Revenue7Days]: number\n [AnalyticsReports.Revenue30Days]: number\n}\n\nexport enum AnalyticsReports {\n Sales7Days = \"sales_7days\",\n Sales30Days = \"sales_30days\",\n Revenue7Days = \"revenue_7days\",\n Revenue30Days = \"revenue_30days\",\n}\n\nexport enum ActivityLogAction {\n Create = \"create\",\n Delete = \"delete\",\n Duplicate = \"duplicate\",\n Sync = \"sync\",\n Trigger = \"trigger\",\n Update = \"update\",\n}\n\nexport interface ShopifyUser {\n account_owner: boolean\n bio: string\n email: string\n first_name: string\n id: string\n im: string\n last_name: string\n permissions: Array<string>\n phone: string\n receive_announcements: number\n screen_name: string\n url: string\n locale: string\n user_type: string\n}\n\nexport interface ActivityLog extends ResourceDocument {\n action: ActivityLogAction\n resourceDisplayName: string\n resourceId: string\n resourceType: ResourceType\n shopifyStaffMemberId: string | undefined\n}\n\nexport type BillingAppSubscription = ShopifyAppSubscription\nexport type BillingAppPurchaseOneTime = ShopifyAppPurchaseOneTime\nexport type BillingAppPurchaseCredit = {\n id: string;\n name: string;\n status: AppPurchaseStatus;\n amount: string;\n}"]}
|
|
1
|
+
{"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/types/firestore.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShopifyAppPurchaseOneTime, ShopifyAppSubscription, ShopifyProduct, ShopifyProductImage } from \"./shopify\";\nimport { ElasticDataType } from \"./elastic\";\nimport { AppPurchaseStatus } from \"./graphql\";\n\nexport interface ResourceDocument {\n id: string;\n keywords: Array<string>;\n version?: string;\n createdAt?: string;\n updatedAt?: string;\n}\n\nexport enum ResourceType {\n ActivityLog = \"activity_log\",\n Product = \"product\",\n Collection = \"collection\",\n Curation = \"curation\",\n Callout = \"callout\",\n SettingsAccount = \"account_settings\",\n SettingsAutomation = \"automation_settings\",\n SettingsProduct = \"product_settings\",\n FilterGroup = \"filter_group\",\n FilterFacet = \"filter_facet\",\n MergedValue = \"merged_value\",\n Redirect = \"redirect\",\n Relevancy = \"relevancy\",\n Sort = \"sort\",\n Antonym = \"antonym\",\n Synonym = \"synonym\",\n Task = \"task\",\n}\n\nexport const ResourceTypeLabel: Record<ResourceType, string> = {\n [ResourceType.ActivityLog]: \"Activity log\",\n [ResourceType.Product]: \"Product\",\n [ResourceType.Collection]: \"Collection\",\n [ResourceType.Curation]: \"Curation\",\n [ResourceType.Callout]: \"Callout\",\n [ResourceType.SettingsAccount]: \"Settings account\",\n [ResourceType.SettingsAutomation]: \"Settings automation\",\n [ResourceType.SettingsProduct]: \"Settings product\",\n [ResourceType.FilterGroup]: \"Filter group\",\n [ResourceType.FilterFacet]: \"Filter facet\",\n [ResourceType.MergedValue]: \"Merged value\",\n [ResourceType.Redirect]: \"Redirect\",\n [ResourceType.Relevancy]: \"Relevancy\",\n [ResourceType.Sort]: \"Sort\",\n [ResourceType.Antonym]: \"Antonym\",\n [ResourceType.Synonym]: \"Synonym\",\n [ResourceType.Task]: \"Task\",\n};\n\nexport interface Log {\n id: string\n keywords: Array<string>\n message: string\n platform: \"reactify\" | \"shopify\" | \"google\" | \"elastic\"\n percentCompleted: number\n action?: {\n type: \"retry\"\n label: string\n task: Task[\"taskId\"]\n }\n step:\n | \"syncMainDownload\"\n | \"syncBulkStart\"\n | \"syncBulkDownload\"\n | \"syncBulkTransform\"\n | \"syncBulkMerge\"\n | \"syncBulkUpload\"\n | \"syncBulkCleanup\"\n | \"syncBulkCleanupCurations\"\n | \"analyticsDownload\"\n | \"analyticsTransform\"\n | \"analyticsUpload\"\n | \"complete\"\n | \"analyticsStart\"\n title: string\n type: \"bulk\" | \"analytics\"\n data?: string // JSON sringified data\n progress: \"new\" | \"error\" | \"complete\" | \"partiallyComplete\"\n status: \"success\" | \"info\" | \"warning\" | \"critical\" // polaris banner status\n createdAt: string;\n updatedAt?: string;\n finishedAt?: string;\n}\n\nexport interface Task {\n logId: string\n taskId:\n | \"setupInstall\"\n | \"setupWebhook\"\n | \"syncCollectionId\"\n | \"syncProductId\"\n | \"syncMainDownload\"\n | \"syncBulkReset\"\n | \"syncBulkStart\"\n | \"syncBulkDownload\"\n | \"syncBulkTransform\"\n | \"syncBulkMerge\"\n | \"syncBulkUpload\"\n | \"syncBulkCleanup\"\n | \"syncBulkCleanupCurations\"\n | \"cleanCuration\"\n | \"cleanCurationId\"\n | \"plantSeeds\"\n | \"refreshMappings\"\n | \"refreshDefinedFields\"\n | \"refreshCurations\"\n | \"analyticsStart\"\n | \"analyticsDownload\"\n | \"analyticsTransform\"\n | \"analyticsUpload\"\n | \"indexCleanup\"\n | \"cacheClear\"\n | \"syncMarkets\"\n | \"syncConfig\"\n | \"syncShop\"\n firstRun?: boolean\n createdAt: string;\n updatedAt?: string;\n}\nexport interface TaskSub extends Task {\n taskSubId: string;\n}\n\nexport interface TaskSubSyncCollectionId extends TaskSub {\n taskId: \"syncCollectionId\"\n collectionGid: string\n}\nexport interface TaskSubSyncProductId extends TaskSub {\n taskId: \"syncProductId\"\n productGid: string\n}\nexport interface TaskSyncShop extends Task {\n taskId: \"syncShop\"\n manual?: boolean\n}\n\nexport interface TaskSyncMainDownload extends Task {\n taskId: \"syncMainDownload\"\n type: \"product_download\" | \"product_polling\" | \"collection_download\" | \"collection_polling\";\n productUrl?: string\n collectionUrl?: string\n manual?: boolean\n}\n\nexport interface TaskSyncBulkReset extends Task {\n taskId: \"syncBulkReset\"\n manual?: boolean\n}\n\nexport interface TaskSyncBulkStart extends Task {\n taskId: \"syncBulkStart\"\n manual?: boolean\n}\n\nexport interface TaskSyncBulkDownload extends Task {\n taskId: \"syncBulkDownload\"\n type: \"collection\" | \"product\" | \"product_market\"\n productUrl?: string\n productMarketUrl?: string\n collectionUrl?: string\n syncAt: string\n}\n\nexport const TaskSyncBulkDownloadTypeLabel: Record<\"collection\" | \"product\" | \"product_market\", string> = {\n collection: \"collection details\",\n product: \"product details\",\n product_market: \"product market details\",\n};\n\nexport interface TaskSyncBulkTransform extends Task {\n taskId: \"syncBulkTransform\"\n productUrl: string\n productMarketUrl?: string\n collectionUrl: string\n collectionCount?: number\n lastCollectionCursor?: string\n syncAt: string\n}\n\nexport interface TaskSyncBulkMerge extends Task {\n taskId: \"syncBulkMerge\"\n productCount: number\n collectionCount: number\n productCompletedCount?: number\n startAfterId?: string\n syncAt: string\n}\n\nexport interface TaskSyncBulkUpload extends Task {\n taskId: \"syncBulkUpload\"\n productCount: number\n collectionCount: number\n productCompletedCount?: number\n startAfterId?: string\n syncAt: string\n}\n\nexport interface TaskSyncBulkCleanup extends Task {\n taskId: \"syncBulkCleanup\"\n syncAt: string\n}\n\nexport interface TaskSyncBulkCleanupCurations extends Task {\n taskId: \"syncBulkCleanupCurations\"\n}\n\nexport interface TaskCleanCuration extends Task {\n taskId: \"cleanCuration\";\n startAfterId?: string;\n manual?: boolean;\n}\nexport interface TaskSubCleanCurationId extends TaskSub {\n taskId: \"cleanCurationId\";\n curationId: string;\n manual?: boolean;\n}\nexport interface TaskSetupInstall extends Task {\n taskId: \"setupInstall\"\n}\n\nexport interface TaskSetupWebhook extends Task {\n taskId: \"setupWebhook\"\n}\n\nexport interface TaskPlantSeeds extends Task {\n taskId: \"plantSeeds\"\n}\n\nexport interface TaskRefreshMappings extends Task {\n taskId: \"refreshMappings\"\n manual?: boolean\n}\n\nexport interface TaskRefreshDefinedFields extends Task {\n taskId: \"refreshDefinedFields\"\n manual?: boolean\n}\n\nexport interface TaskRefreshCurations extends Task {\n taskId: \"refreshCurations\"\n manual?: boolean\n}\n\nexport interface TaskAnalyticsStart extends Task {\n taskId: \"analyticsStart\"\n manual?: boolean\n}\n\nexport interface TaskAnalyticsDownload extends Task {\n taskId: \"analyticsDownload\"\n reports: AnalyticsReports[]\n manual?: boolean\n}\n\nexport interface TaskAnalyticsTransform extends Task {\n taskId: \"analyticsTransform\"\n startAfterId?: string\n manual?: boolean\n}\n\nexport interface TaskAnalyticsUpload extends Task {\n taskId: \"analyticsUpload\"\n startAfterId?: string\n manual?: boolean\n}\n\nexport interface TaskIndexCleanup extends Task {\n taskId: \"indexCleanup\"\n manual?: boolean\n}\n\nexport interface TaskCacheClear extends Task {\n taskId: \"cacheClear\"\n manual?: boolean\n}\n\nexport interface TaskSyncMarkets extends Task {\n taskId: \"syncMarkets\"\n manual?: boolean\n}\n\nexport interface TaskSyncConfig extends Task {\n taskId: \"syncConfig\"\n manual?: boolean\n}\nexport interface Lock {\n logId: string\n taskType: \"sync\" | \"syncConfig\" | \"syncCollectionId\" | \"syncProductId\" | \"analytics\"\n createdAt: string;\n expiresAt: string\n}\n\nexport enum ManageAdminFlag {\n Example = \"example\",\n}\nexport interface ManageAdmin {\n installed: boolean;\n indexRead: string;\n indexWrite: string;\n indexAlias: string;\n indexAutomatic: boolean;\n indexRollback: Array<{\n indexName: string;\n documentCount: number;\n createdAt: number;\n }>;\n indexRefreshInterval: string;\n // indexSettingsPending: boolean;\n endpoint: string;\n cluster: string;\n customMappings: string; // JSON sringified data\n customFilters: string; // JSON sringified data\n timezone: string;\n cacheEnabled: boolean;\n cacheSeconds: number;\n flags?: Array<ManageAdminFlag>;\n production: boolean;\n}\n\nexport interface ManageProduct {\n tagChild?: string\n tagKeys?: Array<string>\n tagParent?: string\n tagRelated?: string\n syncObjects?: Array<string>\n tagExclude?: Array<string>\n tagExcludeSearch?: Array<string>\n tagExcludeCollection?: Array<string>\n tagSeparator?: string\n metafieldWhitelist?: Array<string>\n externalAppReactifyImageAI: boolean\n suggestionsExclude?: Array<string>;\n automaticCleanCurations?: boolean;\n\n merchandisingCalloutAutofillBehaviour: MerchandisingCalloutAutofillBehaviour;\n}\n\nexport enum MerchandisingCalloutAutofillBehaviour {\n Always = \"always\",\n MoreResults = \"more_results\",\n}\n\nexport interface ManageAutomation {\n sync: boolean\n webhooks: boolean\n mappings: boolean\n curations: boolean\n analytics: boolean\n syncFrequency: string\n syncThreshold: number\n notificationEnabled?: boolean;\n notificationEmail?: string;\n\n syncCatalogueCompletedAt?: number;\n syncAnalyticsCompletedAt?: number;\n syncConfigCompletedAt?: number;\n\n syncSpecialResourcePendingAt?: number | null;\n\n syncConfigHash?: string;\n}\n\nexport interface ManageAccount {\n shopifyPlanCustomCost?: number;\n shopifyPlanType?: \"general\" | \"partner\" | \"custom\";\n shopifyPlanStore?: \"primary\" | \"addon\";\n shopifyPlan?: \"non-plus\" | \"plus\" | \"development\";\n shopifyPlanSubscriptionShareCode?: string;\n stripeCustomerId?: string\n googleAnalyticsId?: string\n googleEmail?: string\n googleAccessToken?: string\n googleRefreshToken?: string\n googleAccessTokenExpiryDate?: number\n googleAnalyticsType?: \"UA\" | \"GA4\"\n googleIdField?: \"shopify_code\" | \"product_id\" | \"variant_id\" | \"variant_sku\" | \"variant_barcode\"\n}\n\nexport enum SettingsCurationsImageOption {\n Index = \"index\",\n Suffix = \"suffix\",\n}\n\nexport interface SettingsCurations {\n pageSize?: number\n gridColumns?: number\n imageOption: SettingsCurationsImageOption\n imagePosition: number\n imageSuffix: string\n imageSize?: \"small\" | \"medium\" | \"large\"\n imageSizePx: number;\n\n showCardDetailTitle?: boolean;\n showCardDetailContent?: boolean;\n showCardDetailPrice?: boolean;\n showCardDetailVendor?: boolean;\n showCardDetailPreorder?: boolean;\n showCardDetailDiscount?: boolean;\n showCardDetailInventory?: boolean;\n showCardDetailAvailability?: boolean;\n showCardDetailProfitMargin?: boolean;\n showCardDetailPublishedDays?: boolean;\n showCardDetailAnalyticsSales7Days?: boolean;\n showCardDetailAnalyticsSales30Days?: boolean;\n showCardDetailAnalyticsRevenue7Days?: boolean;\n showCardDetailAnalyticsRevenue30Days?: boolean;\n}\n\nexport interface Relevance extends ResourceDocument {\n field: string\n enabled: boolean\n importance: number\n searchType: \"always_search\" | \"search_page\" | \"instant_search\"\n hidden?: boolean\n}\n\nexport interface DefinedField {\n label: string\n value: string\n type: ElasticDataType | string\n}\n\nexport interface Sort extends ResourceDocument {\n name: string\n handle: string\n field: string\n position: number\n enabled: boolean\n direction: \"desc\" | \"asc\"\n visibility: \"all\" | \"search\" | \"collection\"\n hidden?: boolean\n}\n\nexport interface FilterGroup extends ResourceDocument {\n name: string\n handle: string\n enabled: boolean\n pageSize: number\n keywords: Array<string>\n collections: Array<string>\n type: \"search\" | \"collection\"\n paginationType: \"pagination\" | \"load_more\" | \"next_prev\" | \"infinite_scroll\"\n inventoryVisibility: \"show_all\" | \"hide_products\" | \"hide_variants\" | \"hide_all\"\n}\n\nexport interface FilterFacet extends ResourceDocument {\n name: string\n field: string\n handle: string\n position: number\n enabled: boolean\n keywords: Array<string>\n customSortOrder?: string\n displayType: \"multi\" | \"single\" | \"slider\"\n displayView: \"list\" | \"check\" | \"swatch\" | \"range\" | \"box\"\n displaySize: string\n displaySliderStep: string\n displaySliderPrefix: string\n displaySliderSuffix: string\n displayRangeOptions: Array<string>\n settingsShowMore: boolean\n settingsUppercase: boolean\n settingsShowSearch: boolean\n settingsShowFilter: boolean\n settingsShowEmptyValues: boolean\n settingsHideUnavailable: boolean\n settingsCollapsedMobile: boolean\n settingsCollapsedDesktop: boolean\n settingsFilterLogic: \"and\" | \"or\"\n valuesShow: \"all\" | \"manual\"\n valuesManual: Array<string>\n valuesExclude: Array<string>\n}\n\nexport interface Redirect extends ResourceDocument {\n url: string\n query: string\n enabled: boolean\n keywords: Array<string>\n hidden?: boolean\n}\n\nexport interface Curation extends ResourceDocument {\n title: string\n status: CurationStatus\n published: boolean\n keywords: Array<string>\n searchTerm?: string\n longRunningTask?: boolean\n collectionHandle?: string\n collectionId?: string\n type: CurationType;\n boosting?: {\n groupings?: BoostGrouping[]\n sortings?: BoostSorting[]\n }\n sort?: CurationSort\n schedule?: CurationSchedule\n hidden?: boolean\n\n markets?: Array<string>;\n}\n\nexport enum CurationType {\n Search = \"search\",\n Collection = \"collection\",\n};\n\nexport const CurationTypeLabel: Record<CurationType, string> = {\n [CurationType.Search]: \"Search\",\n [CurationType.Collection]: \"Collection\",\n};\n\nexport interface CurationSort {\n sortTag?: string\n sortOption: string\n sortDirection: \"asc\" | \"desc\"\n sortVariantOption?: \"option1\" | \"option2\" | \"option3\"\n}\n\nexport interface CurationSchedule {\n schedulePublish: string\n schedulePublishEnabled: boolean\n scheduleUnpublish: string\n scheduleUnpublishEnabled: boolean\n}\n\nexport enum CurationStatus {\n Draft = \"draft\",\n Publishing = \"publishing\",\n Published = \"published\",\n Error = \"error\",\n Unpublishing = \"unpublishing\",\n Resetting = \"resetting\",\n Pinning = \"pinning\",\n Sorting = \"sorting\",\n}\n\nexport const CurationStatusLabel: Record<CurationStatus, string> = {\n [CurationStatus.Draft]: \"Draft\",\n [CurationStatus.Publishing]: \"Publishing\",\n [CurationStatus.Published]: \"Published\",\n [CurationStatus.Error]: \"Error\",\n [CurationStatus.Unpublishing]: \"Unpublishing\",\n [CurationStatus.Resetting]: \"Resetting\",\n [CurationStatus.Pinning]: \"Pinning\",\n [CurationStatus.Sorting]: \"Sorting\",\n}\n\nexport interface CurationHiding {\n productId: number;\n}\n\nexport interface Market {\n id: string;\n label: string;\n enabled: boolean;\n publicationId: string;\n}\n\nexport interface BoostGrouping {\n key: string\n value: string\n field: string\n position: number\n operation: string\n}\n\nexport interface BoostSorting {\n key: string\n field: string\n query?: string\n position: number\n direction: \"asc\" | \"desc\"\n}\n\nexport type Pin = PinProduct | PinCallout\n\nexport enum PinSource {\n Manual = \"manual\",\n Automatic = \"automatic\",\n}\n\nexport enum PinType {\n Product = \"product\",\n Callout = \"callout\",\n}\n\nexport type PinTypeOnly = Pick<Pin, \"type\">\n\nexport function isPinProduct(pin: PinTypeOnly): pin is PinProduct {\n return PinType.Product === pin.type;\n}\n\nexport function isPinCallout(pin: PinTypeOnly): pin is PinCallout {\n return PinType.Callout === pin.type;\n}\n\nexport interface PinProduct {\n key: string\n type: PinType.Product\n position: number\n productId: number\n source?: PinSource // @todo migrate and change to non-optional field\n}\n\nexport interface PinCallout {\n key: string\n type: PinType.Callout\n position: number\n calloutId: string\n source?: PinSource // @todo migrate and change to non-optional field\n}\n\nexport interface Link {\n content: string\n url: string\n key: string\n}\n\nexport interface Callout extends ResourceDocument {\n id: string;\n type: CalloutType;\n link: string;\n links: Array<Link>;\n // name: string;\n title: string;\n content: string;\n enabled: boolean;\n textColor: string;\n keywords: Array<string>;\n mobileImage: string;\n mobileVideo: string;\n desktopVideo: string;\n desktopImage: string;\n backgroundColor: string;\n visibility: \"desktop\" | \"mobile\" | \"all\";\n displayColumns: string; // @todo this should be a number\n displayRows: string; // @todo this should be a number\n selectedDates?: {\n end: string;\n start: string;\n };\n hidden?: boolean;\n}\n\nexport enum CalloutType {\n Standard = \"standard\",\n Filler = \"filler\",\n}\n\nexport enum SynonymType {\n Group = \"group\",\n Oneway = \"oneway\",\n}\nexport interface Synonym extends ResourceDocument {\n id: string\n name: string\n enabled: boolean\n keywords: Array<string>\n synonyms: Array<string>\n type: SynonymType\n hidden?: boolean\n}\nexport interface Antonym extends ResourceDocument {\n id: string\n name: string\n enabled: boolean\n keywords: Array<string>\n antonyms: Array<string>\n hidden?: boolean\n}\n\nexport interface MergedValue extends ResourceDocument {\n id: string\n name: string\n field: string\n enabled: boolean\n keywords: Array<string>\n values: Array<string>\n hidden?: boolean\n}\n\nexport interface Collection extends ResourceDocument {\n title: string\n handle: string\n shopifyId: string\n productIds: Array<string>\n storefrontId: string\n legacyResourceId: number\n syncStatus?: \"error\" | \"complete\" | \"partiallyComplete\"\n syncAt?: string\n}\n\n// product is the shopify product with edges and nodes normalised\n\nexport type Product = ResourceDocument & Omit<ShopifyProduct, \"variants\" | \"images\" | \"media\" | \"metafields\" | \"category\" | \"unpublishedPublications\"> & {\n category: string;\n unpublishedPublications: ShopifyProduct[\"unpublishedPublications\"][\"edges\"][0][\"node\"][]\n variants: (Omit<ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"], \"presentmentPrices\"> & {\n images?: Array<ShopifyProductImage> // from child product if this variant is from a child\n presentmentPrices: ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"][\"presentmentPrices\"][\"edges\"][0][\"node\"][]\n productId?: string\n })[]\n related?: Array<string>\n images: Array<ShopifyProductImage>\n media: ShopifyProduct[\"media\"][\"edges\"][0][\"node\"][]\n metafields: ShopifyProduct[\"metafields\"][\"edges\"][0][\"node\"][]\n keywords: Array<string>\n syncStatus?: \"error\" | \"complete\" | \"partiallyComplete\"\n syncAt?: string;\n markets?: Array<string>;\n}\n\nexport interface Analytics {\n query: AnalyticsQueryDoc & {\n items: AnalyticsDownloadItem[]\n }\n}\n\nexport interface AnalyticsQueryDoc {\n tableId: string\n accountId: string\n profileId: string\n profileName: string\n webPropertyId: string\n internalWebPropertyId: string\n}\n\nexport interface AnalyticsDownloadItem {\n id: string\n name: string\n value: number\n externalId: string\n type: AnalyticsReports\n}\n\nexport interface AnalyticsUploadItems {\n id: string\n [AnalyticsReports.Sales7Days]: number\n [AnalyticsReports.Sales30Days]: number\n [AnalyticsReports.Revenue7Days]: number\n [AnalyticsReports.Revenue30Days]: number\n}\n\nexport enum AnalyticsReports {\n Sales7Days = \"sales_7days\",\n Sales30Days = \"sales_30days\",\n Revenue7Days = \"revenue_7days\",\n Revenue30Days = \"revenue_30days\",\n}\n\nexport enum ActivityLogAction {\n Create = \"create\",\n Delete = \"delete\",\n Duplicate = \"duplicate\",\n Sync = \"sync\",\n Trigger = \"trigger\",\n Update = \"update\",\n}\n\nexport interface ShopifyUser {\n account_owner: boolean\n bio: string\n email: string\n first_name: string\n id: string\n im: string\n last_name: string\n permissions: Array<string>\n phone: string\n receive_announcements: number\n screen_name: string\n url: string\n locale: string\n user_type: string\n}\n\nexport interface ActivityLog extends ResourceDocument {\n action: ActivityLogAction\n resourceDisplayName: string\n resourceId: string\n resourceType: ResourceType\n shopifyStaffMemberId: string | undefined\n}\n\nexport type BillingAppSubscription = ShopifyAppSubscription\nexport type BillingAppPurchaseOneTime = ShopifyAppPurchaseOneTime\nexport type BillingAppPurchaseCredit = {\n id: string;\n name: string;\n status: AppPurchaseStatus;\n amount: string;\n}"]}
|