First commit, step 4 completed

This commit is contained in:
bepis
2026-10-15 14:27:00 +11:00
commit 9a30efa170
5378 changed files with 1136719 additions and 0 deletions
@@ -0,0 +1,856 @@
local CatalogShop =
{
Name = "CatalogShop",
Type = "System",
Namespace = "C_CatalogShop",
Environment = "All",
Functions =
{
{
Name = "BulkPurchaseProducts",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
Returns =
{
{ Name = "canPurchaseProducts", Type = "bool", Nilable = false },
},
},
{
Name = "BulkRefundDecors",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "decorGUIDs", Type = "table", InnerType = "WOWGUID", Nilable = false },
},
},
{
Name = "CloseCatalogShopInteraction",
Type = "Function",
},
{
Name = "ConfirmHousingPurchase",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "FindBestCurrencyProductForNeededAmount",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "vcCurrencyCode", Type = "string", Nilable = false },
{ Name = "amountNeeded", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "vcProductID", Type = "number", Nilable = true },
},
},
{
Name = "GetAvailableCategoryIDs",
Type = "Function",
Returns =
{
{ Name = "categoryIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetAvailableTransmogRaceInfos",
Type = "Function",
Returns =
{
{ Name = "raceIDs", Type = "table", InnerType = "AvailableRaceInfo", Nilable = false },
},
},
{
Name = "GetCatalogShopProductDisplayInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "item", Type = "CatalogShopProductDisplayInfo", Nilable = false },
},
},
{
Name = "GetCategoryInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "categoryInfo", Type = "CatalogShopCategoryInfo", Nilable = false },
},
},
{
Name = "GetCategorySectionInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
{ Name = "sectionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "sectionInfo", Type = "CatalogShopSectionInfo", Nilable = false },
},
},
{
Name = "GetFailureInfo",
Type = "Function",
Returns =
{
{ Name = "errorResultEnum", Type = "StoreError", Nilable = true },
{ Name = "errorResultRaw", Type = "number", Nilable = true },
},
},
{
Name = "GetFirstCategoryByProductID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "categoryInfo", Type = "CatalogShopCategoryInfo", Nilable = true },
},
},
{
Name = "GetNewProducts",
Type = "Function",
Returns =
{
{ Name = "newProducts", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetProductAvailabilityTimeRemainingSecs",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "timeRemainingSecs", Type = "number", Nilable = true },
},
},
{
Name = "GetProductIDsForBundle",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bundleProductID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "childIDs", Type = "table", InnerType = "CatalogShopBundleChildInfo", Nilable = false },
},
},
{
Name = "GetProductIDsForCategory",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetProductIDsForCategorySection",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
{ Name = "sectionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetProductInfo",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "productInfo", Type = "CatalogShopProductInfo", Nilable = true },
},
},
{
Name = "GetProductSortOrder",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
{ Name = "sectionID", Type = "number", Nilable = false },
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "sortOrder", Type = "number", Nilable = true },
},
},
{
Name = "GetRefundableDecors",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productIdFilterOpt", Type = "number", Nilable = true },
},
Returns =
{
{ Name = "refundableDecorInfos", Type = "table", InnerType = "RefundableDecorInfo", Nilable = false },
{ Name = "minTimeRemainingSeconds", Type = "time_t", Nilable = false },
},
},
{
Name = "GetSectionIDsForCategory",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "sectionIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetSpellVisualInfoForMount",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "spellVisualID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "spellVisualInfo", Type = "CatalogShopSpellVisualInfo", Nilable = false },
},
},
{
Name = "GetVCProductInfos",
Type = "Function",
Returns =
{
{ Name = "vcProductInfos", Type = "table", InnerType = "CatalogShopVCProductInfo", Nilable = false },
},
},
{
Name = "GetVirtualCurrencyBalance",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
},
Returns =
{
{ Name = "balance", Type = "string", Nilable = true },
},
},
{
Name = "HasNewProducts",
Type = "Function",
Returns =
{
{ Name = "hasNewProducts", Type = "bool", Nilable = false },
},
},
{
Name = "IsProductIncludedInAnyBundle",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isIncludedInAnyBundle", Type = "bool", Nilable = false },
},
},
{
Name = "IsShop2Enabled",
Type = "Function",
Returns =
{
{ Name = "value", Type = "bool", Nilable = true },
},
},
{
Name = "OnLegalDisclaimerClicked",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
},
{
Name = "OnLegalPersonalizedOptOutClicked",
Type = "Function",
},
{
Name = "OpenCatalogShopInteractionFromHouse",
Type = "Function",
Returns =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = false },
},
},
{
Name = "OpenCatalogShopInteractionFromShop",
Type = "Function",
Returns =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = false },
},
},
{
Name = "ProductDisplayedTelemetry",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryId", Type = "number", Nilable = false },
{ Name = "sectionId", Type = "number", Nilable = false },
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
},
{
Name = "ProductSelectedTelemetry",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryId", Type = "number", Nilable = false },
{ Name = "sectionId", Type = "number", Nilable = false },
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
{ Name = "wasCodeSelection", Type = "bool", Nilable = false },
},
},
{
Name = "PurchaseProduct",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "canPurchase", Type = "bool", Nilable = false },
},
},
{
Name = "RefreshRefundableDecors",
Type = "Function",
},
{
Name = "RefreshVirtualCurrencyBalance",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
},
},
{
Name = "ShouldShowHousingWarning",
Type = "Function",
Returns =
{
{ Name = "shouldShowHousingWarning", Type = "bool", Nilable = false },
},
},
{
Name = "StartHousingVCPurchaseConfirmation",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
},
Events =
{
{
Name = "BulkPurchaseResultReceived",
Type = "Event",
LiteralName = "BULK_PURCHASE_RESULT_RECEIVED",
SynchronousEvent = true,
Payload =
{
{ Name = "result", Type = "BulkPurchaseResult", Nilable = false },
{ Name = "productResults", Type = "table", InnerType = "BulkPurchaseIndividualProductResult", Nilable = false },
{ Name = "bestTopUpProductID", Type = "number", Nilable = true },
{ Name = "totalCost", Type = "number", Nilable = true },
},
},
{
Name = "BulkRefundResultReceived",
Type = "Event",
LiteralName = "BULK_REFUND_RESULT_RECEIVED",
SynchronousEvent = true,
Payload =
{
{ Name = "result", Type = "BulkRefundResult", Nilable = false },
},
},
{
Name = "CatalogShopAddPendingProduct",
Type = "Event",
LiteralName = "CATALOG_SHOP_ADD_PENDING_PRODUCT",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopDataRefresh",
Type = "Event",
LiteralName = "CATALOG_SHOP_DATA_REFRESH",
SynchronousEvent = true,
Payload =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = true },
},
},
{
Name = "CatalogShopDisabled",
Type = "Event",
LiteralName = "CATALOG_SHOP_DISABLED",
SynchronousEvent = true,
},
{
Name = "CatalogShopFetchFailure",
Type = "Event",
LiteralName = "CATALOG_SHOP_FETCH_FAILURE",
SynchronousEvent = true,
Payload =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = true },
},
},
{
Name = "CatalogShopFetchSuccess",
Type = "Event",
LiteralName = "CATALOG_SHOP_FETCH_SUCCESS",
SynchronousEvent = true,
Payload =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = true },
},
},
{
Name = "CatalogShopOpenSimpleCheckout",
Type = "Event",
LiteralName = "CATALOG_SHOP_OPEN_SIMPLE_CHECKOUT",
SynchronousEvent = true,
Payload =
{
{ Name = "checkoutID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopPurchaseSuccess",
Type = "Event",
LiteralName = "CATALOG_SHOP_PURCHASE_SUCCESS",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopRebuildScrollBox",
Type = "Event",
LiteralName = "CATALOG_SHOP_REBUILD_SCROLL_BOX",
SynchronousEvent = true,
},
{
Name = "CatalogShopRefundableDecorsUpdated",
Type = "Event",
LiteralName = "CATALOG_SHOP_REFUNDABLE_DECORS_UPDATED",
SynchronousEvent = true,
},
{
Name = "CatalogShopRemovePendingProduct",
Type = "Event",
LiteralName = "CATALOG_SHOP_REMOVE_PENDING_PRODUCT",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopResultError",
Type = "Event",
LiteralName = "CATALOG_SHOP_RESULT_ERROR",
SynchronousEvent = true,
},
{
Name = "CatalogShopSpecificProductRefresh",
Type = "Event",
LiteralName = "CATALOG_SHOP_SPECIFIC_PRODUCT_REFRESH",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopVirtualCurrencyBalanceUpdate",
Type = "Event",
LiteralName = "CATALOG_SHOP_VIRTUAL_CURRENCY_BALANCE_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
{ Name = "balance", Type = "string", Nilable = false },
},
},
{
Name = "CatalogShopVirtualCurrencyBalanceUpdateFailure",
Type = "Event",
LiteralName = "CATALOG_SHOP_VIRTUAL_CURRENCY_BALANCE_UPDATE_FAILURE",
SynchronousEvent = true,
Payload =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
},
},
{
Name = "SetSeenProducts",
Type = "Event",
LiteralName = "SET_SEEN_PRODUCTS",
SynchronousEvent = true,
Payload =
{
{ Name = "productIds", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "ShowNewProductNotification",
Type = "Event",
LiteralName = "SHOW_NEW_PRODUCT_NOTIFICATION",
SynchronousEvent = true,
},
},
Tables =
{
{
Name = "AvailableRaceInfo",
Type = "Structure",
Fields =
{
{ Name = "raceID", Type = "number", Nilable = false },
{ Name = "displayName", Type = "string", Nilable = false },
},
},
{
Name = "BulkPurchaseIndividualProductResult",
Type = "Structure",
Fields =
{
{ Name = "recordId", Type = "number", Nilable = false },
{ Name = "parentProductId", Type = "number", Nilable = true },
{ Name = "entitlementId", Type = "string", Nilable = false },
{ Name = "externalTransactionId", Type = "string", Nilable = false },
{ Name = "status", Type = "SimpleOrderStatus", Nilable = false },
},
},
{
Name = "CatalogShopBundleChildInfo",
Type = "Structure",
Fields =
{
{ Name = "childProductID", Type = "number", Nilable = false },
{ Name = "displayOrder", Type = "number", Nilable = false },
{ Name = "quantityInBundle", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopCategoryInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "displayName", Type = "string", Nilable = false },
{ Name = "iconTexture", Type = "string", Nilable = false },
{ Name = "linkTag", Type = "string", Nilable = false },
{ Name = "isDisabled", Type = "bool", Nilable = false },
{ Name = "showPersistentRefundButton", Type = "bool", Nilable = false },
},
},
{
Name = "CatalogShopProductDisplayInfo",
Type = "Structure",
Fields =
{
{ Name = "defaultPreviewModelSceneID", Type = "number", Nilable = false },
{ Name = "defaultCardModelSceneID", Type = "number", Nilable = false },
{ Name = "defaultWideCardModelSceneID", Type = "number", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "overridePreviewModelSceneID", Type = "number", Nilable = true },
{ Name = "overrideCardModelSceneID", Type = "number", Nilable = true },
{ Name = "overrideWideCardModelSceneID", Type = "number", Nilable = true },
{ Name = "creatureDisplayInfoIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "spellVisualIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "mainHandItemModifiedAppearanceID", Type = "number", Nilable = true },
{ Name = "offHandItemModifiedAppearanceID", Type = "number", Nilable = true },
{ Name = "itemModifiedAppearanceIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "iconFileDataID", Type = "number", Nilable = true },
{ Name = "iconTextureKit", Type = "textureKit", Nilable = true },
{ Name = "productType", Type = "string", Nilable = true },
{ Name = "itemDescription", Type = "string", Nilable = true },
{ Name = "hasUnknownLicense", Type = "bool", Nilable = false },
{ Name = "productPMTURL", Type = "string", Nilable = true },
{ Name = "additionalProductPMTURLs", Type = "table", InnerType = "string", Nilable = false },
{ Name = "otherProductImageAtlasName", Type = "string", Nilable = true },
{ Name = "otherProductGameTitleBaseTag", Type = "string", Nilable = true },
{ Name = "otherProductGameType", Type = "string", Nilable = true },
{ Name = "customLoopingSoundStart", Type = "number", Nilable = true },
{ Name = "customLoopingSoundMiddle", Type = "number", Nilable = true },
{ Name = "customLoopingSoundEnd", Type = "number", Nilable = true },
{ Name = "specialActorID_1", Type = "string", Nilable = true },
{ Name = "specialActorID_2", Type = "string", Nilable = true },
{ Name = "specialActorID_3", Type = "string", Nilable = true },
{ Name = "specialActorID_4", Type = "string", Nilable = true },
{ Name = "specialActorID_5", Type = "string", Nilable = true },
{ Name = "gameFlavorID", Type = "number", Nilable = true },
{ Name = "decorFileDataID", Type = "number", Nilable = true },
{ Name = "quantity", Type = "number", Nilable = true },
{ Name = "houseTextureAtlas", Type = "textureAtlas", Nilable = true },
},
},
{
Name = "CatalogShopProductInfo",
Type = "Structure",
Fields =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "type", Type = "string", Nilable = true },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "iconTexture", Type = "string", Nilable = false },
{ Name = "isFullyOwned", Type = "bool", Nilable = false },
{ Name = "isPurchasePending", Type = "bool", Nilable = false },
{ Name = "refundable", Type = "bool", Nilable = false },
{ Name = "price", Type = "string", Nilable = false },
{ Name = "originalPrice", Type = "string", Nilable = false },
{ Name = "discountPercentage", Type = "number", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "mountID", Type = "number", Nilable = false },
{ Name = "mountTypeName", Type = "string", Nilable = false },
{ Name = "speciesID", Type = "number", Nilable = false },
{ Name = "transmogSetID", Type = "number", Nilable = false },
{ Name = "itemModifiedAppearanceID", Type = "number", Nilable = false },
{ Name = "subItems", Type = "table", InnerType = "CatalogShopSubItemInfo", Nilable = false },
{ Name = "subItemsLoaded", Type = "bool", Nilable = false },
{ Name = "backgroundTexture", Type = "string", Nilable = false },
{ Name = "foregroundTexture", Type = "string", Nilable = true },
{ Name = "smallCardBGTexture", Type = "string", Nilable = true },
{ Name = "smallCardFGTexture", Type = "string", Nilable = true },
{ Name = "wideCardBGTexture", Type = "string", Nilable = true },
{ Name = "wideCardFGTexture", Type = "string", Nilable = true },
{ Name = "previewIconTexture", Type = "string", Nilable = true },
{ Name = "optionalWideCardBackgroundTexture", Type = "string", Nilable = true },
{ Name = "isBundle", Type = "bool", Nilable = false },
{ Name = "bundleChildrenSize", Type = "number", Nilable = false },
{ Name = "licenseTermType", Type = "number", Nilable = false },
{ Name = "licenseTermDuration", Type = "number", Nilable = false },
{ Name = "virtualCurrencies", Type = "table", InnerType = "CatalogShopVirtualCurrency", Nilable = false },
{ Name = "isHidden", Type = "bool", Nilable = false },
{ Name = "isMystery", Type = "bool", Nilable = false },
{ Name = "hasPendingOrders", Type = "bool", Nilable = false },
{ Name = "numBundleDetailCards", Type = "number", Nilable = false },
{ Name = "isDynamicallyDiscounted", Type = "bool", Nilable = false },
{ Name = "shouldShowOriginalPrice", Type = "bool", Nilable = false },
{ Name = "wideCardBGOverrideProductURL", Type = "string", Nilable = true },
{ Name = "previewBGOverrideProductURL", Type = "string", Nilable = true },
{ Name = "previewSmallBGOverrideProductURL", Type = "string", Nilable = true },
{ Name = "decorQuantity", Type = "DecorQuantity", Nilable = true },
{ Name = "isVCProduct", Type = "bool", Nilable = false },
{ Name = "containsHousingItem", Type = "bool", Nilable = false },
{ Name = "deferredGameTimeDays", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopSectionInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "displayName", Type = "string", Nilable = false },
{ Name = "parentCatalogShopCategoryInfoID", Type = "number", Nilable = true },
{ Name = "cardType", Type = "string", Nilable = true },
{ Name = "scrollGridSize", Type = "number", Nilable = true },
{ Name = "shouldShowRecommendationOptOutDisclaimer", Type = "bool", Nilable = false },
},
},
{
Name = "CatalogShopSpellVisualInfo",
Type = "Structure",
Fields =
{
{ Name = "animID", Type = "number", Nilable = true },
{ Name = "spellVisualKitID", Type = "number", Nilable = true },
},
},
{
Name = "CatalogShopSubItemInfo",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "itemAppearanceID", Type = "number", Nilable = false },
{ Name = "invType", Type = "string", Nilable = false },
{ Name = "quality", Type = "ItemQuality", Nilable = false },
},
},
{
Name = "CatalogShopVCProductInfo",
Type = "Structure",
Fields =
{
{ Name = "vcProductID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopVirtualCurrency",
Type = "Structure",
Fields =
{
{ Name = "amount", Type = "number", Nilable = false },
{ Name = "currencyCode", Type = "string", Nilable = false },
},
},
{
Name = "DecorQuantity",
Type = "Structure",
Fields =
{
{ Name = "placedQuantity", Type = "number", Nilable = false },
{ Name = "storedQuantity", Type = "number", Nilable = false },
},
},
{
Name = "RefundableDecorInfo",
Type = "Structure",
Fields =
{
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
{ Name = "timeRemainingSeconds", Type = "time_t", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "price", Type = "string", Nilable = false },
},
},
},
Predicates =
{
},
};
APIDocumentation:AddDocumentationTable(CatalogShop);