{"version":3,"sources":["../src/ecom-v1-back-in-stock-settings-back-in-stock-settings.universal.ts","../src/ecom-v1-back-in-stock-settings-back-in-stock-settings.http.ts","../src/ecom-v1-back-in-stock-settings-back-in-stock-settings.public.ts","../src/ecom-v1-back-in-stock-settings-back-in-stock-settings.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient } from '@wix/sdk-types';\nimport * as ambassadorWixEcomV1BackInStockSettings from './ecom-v1-back-in-stock-settings-back-in-stock-settings.http.js';\n\n/**\n * The back in stock settings object holds information related to the state of collecting back in stock\n * notification requests.\n */\nexport interface BackInStockSettings {\n  /**\n   * Information about collecting customer requests to receive\n   * back in stock notifications.\n   */\n  collectionStates?: BackInStockCollectionState[];\n}\n\nexport interface BackInStockCollectionState {\n  /** ID of the app to receive notification requests for. */\n  appId?: string;\n  /** Whether to collect requests for items from this app. */\n  collectingRequests?: boolean;\n}\n\nexport interface StartCollectingRequestsRequest {\n  /** ID of the app to start accepting notification requests for. */\n  appId: string;\n}\n\nexport interface StartCollectingRequestsResponse {\n  /** Back in stock settings info. */\n  settings?: BackInStockSettings;\n}\n\nexport interface StopCollectingRequestsRequest {\n  /** ID of the app to stop accepting notification requests for. */\n  appId: string;\n}\n\nexport interface StopCollectingRequestsResponse {\n  /** Back in stock settings info. */\n  settings?: BackInStockSettings;\n}\n\nexport interface GetSettingsRequest {}\n\nexport interface GetSettingsResponse {\n  /** Retrieved back in stock request settings. */\n  settings?: BackInStockSettings;\n}\n\ninterface BackInStockCollectionStateNonNullableFields {\n  appId: string;\n  collectingRequests: boolean;\n}\n\ninterface BackInStockSettingsNonNullableFields {\n  collectionStates: BackInStockCollectionStateNonNullableFields[];\n}\n\nexport interface StartCollectingRequestsResponseNonNullableFields {\n  settings?: BackInStockSettingsNonNullableFields;\n}\n\nexport interface StopCollectingRequestsResponseNonNullableFields {\n  settings?: BackInStockSettingsNonNullableFields;\n}\n\nexport interface GetSettingsResponseNonNullableFields {\n  settings?: BackInStockSettingsNonNullableFields;\n}\n\n/**\n * Sets `settings.collectionStates.collectingRequests` to `true` for given `appId`.\n *\n * When the collection state is set to `true`, collecting requests is enabled and customers may request\n * notifications for out of stock products. While collecting is enabled, customers see a \"Notify When Available\"\n * button on out-of-stock items. Customers can click the button to enter their email address, which creates the\n * notification request.\n * @param appId - ID of the app to start accepting notification requests for.\n * @public\n * @documentationMaturity preview\n * @requiredField appId\n * @permissionId ECOM.MODIFY_BACK_IN_STOCK_NOTIFICATION_SETTINGS\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @applicableIdentity APP\n * @fqn com.wixpress.ecom.back.in.stock.BackInStockSettingsService.StartCollectingRequests\n */\nexport async function startCollectingRequests(\n  appId: string\n): Promise<\n  StartCollectingRequestsResponse &\n    StartCollectingRequestsResponseNonNullableFields\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ appId: appId });\n\n  const reqOpts =\n    ambassadorWixEcomV1BackInStockSettings.startCollectingRequests(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { appId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['appId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Sets `settings.collectionStates.collectingRequests` to `false` for given `appId`.\n *\n * When the collection state is set to `false`, collecting notification requests is disabled.\n * @param appId - ID of the app to stop accepting notification requests for.\n * @public\n * @documentationMaturity preview\n * @requiredField appId\n * @permissionId ECOM.MODIFY_BACK_IN_STOCK_NOTIFICATION_SETTINGS\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @applicableIdentity APP\n * @fqn com.wixpress.ecom.back.in.stock.BackInStockSettingsService.StopCollectingRequests\n */\nexport async function stopCollectingRequests(\n  appId: string\n): Promise<\n  StopCollectingRequestsResponse &\n    StopCollectingRequestsResponseNonNullableFields\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ appId: appId });\n\n  const reqOpts =\n    ambassadorWixEcomV1BackInStockSettings.stopCollectingRequests(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { appId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['appId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Retrieves back in stock request settings.\n * @public\n * @documentationMaturity preview\n * @permissionId ECOM.READ_BACK_IN_STOCK_NOTIFICATION_SETTINGS\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.ecom.back.in.stock.BackInStockSettingsService.GetSettings\n */\nexport async function getSettings(): Promise<\n  GetSettingsResponse & GetSettingsResponseNonNullableFields\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n  const reqOpts = ambassadorWixEcomV1BackInStockSettings.getSettings(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {},\n        singleArgumentUnchanged: false,\n      },\n      []\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n","import { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressEcomBackInStockBackInStockSettingsServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'bo._base_domain_': [\n      {\n        srcPath: '/back-in-stock-service',\n        destPath: '',\n      },\n    ],\n    'wixbo.ai': [\n      {\n        srcPath: '/back-in-stock-service',\n        destPath: '',\n      },\n    ],\n    'wix-bo.com': [\n      {\n        srcPath: '/back-in-stock-service',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/back-in-stock-service',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_back-in-stock-settings';\n\n/**\n * Sets `settings.collectionStates.collectingRequests` to `true` for given `appId`.\n *\n * When the collection state is set to `true`, collecting requests is enabled and customers may request\n * notifications for out of stock products. While collecting is enabled, customers see a \"Notify When Available\"\n * button on out-of-stock items. Customers can click the button to enter their email address, which creates the\n * notification request.\n */\nexport function startCollectingRequests(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __startCollectingRequests({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.ecom.v1.back_in_stock_settings',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.ecom.back.in.stock.BackInStockSettingsService.StartCollectingRequests',\n      packageName: PACKAGE_NAME,\n      url: resolveComWixpressEcomBackInStockBackInStockSettingsServiceUrl({\n        protoPath:\n          '/v1/back-in-stock-notification-requests/settings/start-collecting',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __startCollectingRequests;\n}\n\n/**\n * Sets `settings.collectionStates.collectingRequests` to `false` for given `appId`.\n *\n * When the collection state is set to `false`, collecting notification requests is disabled.\n */\nexport function stopCollectingRequests(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __stopCollectingRequests({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.ecom.v1.back_in_stock_settings',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.ecom.back.in.stock.BackInStockSettingsService.StopCollectingRequests',\n      packageName: PACKAGE_NAME,\n      url: resolveComWixpressEcomBackInStockBackInStockSettingsServiceUrl({\n        protoPath:\n          '/v1/back-in-stock-notification-requests/settings/stop-collecting',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __stopCollectingRequests;\n}\n\n/** Retrieves back in stock request settings. */\nexport function getSettings(payload: object): RequestOptionsFactory<any> {\n  function __getSettings({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.ecom.v1.back_in_stock_settings',\n      method: 'PUT' as any,\n      methodFqn:\n        'com.wixpress.ecom.back.in.stock.BackInStockSettingsService.GetSettings',\n      packageName: PACKAGE_NAME,\n      url: resolveComWixpressEcomBackInStockBackInStockSettingsServiceUrl({\n        protoPath: '/v1/back-in-stock-notification-requests/settings',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __getSettings;\n}\n","import { HttpClient } from '@wix/sdk-types';\nimport {\n  GetSettingsResponse,\n  GetSettingsResponseNonNullableFields,\n  StartCollectingRequestsResponse,\n  StartCollectingRequestsResponseNonNullableFields,\n  StopCollectingRequestsResponse,\n  StopCollectingRequestsResponseNonNullableFields,\n  getSettings as universalGetSettings,\n  startCollectingRequests as universalStartCollectingRequests,\n  stopCollectingRequests as universalStopCollectingRequests,\n} from './ecom-v1-back-in-stock-settings-back-in-stock-settings.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function startCollectingRequests(\n  httpClient: HttpClient\n): StartCollectingRequestsSignature {\n  return (appId: string) =>\n    universalStartCollectingRequests(\n      appId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface StartCollectingRequestsSignature {\n  /**\n   * Sets `settings.collectionStates.collectingRequests` to `true` for given `appId`.\n   *\n   * When the collection state is set to `true`, collecting requests is enabled and customers may request\n   * notifications for out of stock products. While collecting is enabled, customers see a \"Notify When Available\"\n   * button on out-of-stock items. Customers can click the button to enter their email address, which creates the\n   * notification request.\n   * @param - ID of the app to start accepting notification requests for.\n   */\n  (appId: string): Promise<\n    StartCollectingRequestsResponse &\n      StartCollectingRequestsResponseNonNullableFields\n  >;\n}\n\nexport function stopCollectingRequests(\n  httpClient: HttpClient\n): StopCollectingRequestsSignature {\n  return (appId: string) =>\n    universalStopCollectingRequests(\n      appId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface StopCollectingRequestsSignature {\n  /**\n   * Sets `settings.collectionStates.collectingRequests` to `false` for given `appId`.\n   *\n   * When the collection state is set to `false`, collecting notification requests is disabled.\n   * @param - ID of the app to stop accepting notification requests for.\n   */\n  (appId: string): Promise<\n    StopCollectingRequestsResponse &\n      StopCollectingRequestsResponseNonNullableFields\n  >;\n}\n\nexport function getSettings(httpClient: HttpClient): GetSettingsSignature {\n  return () =>\n    universalGetSettings(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetSettingsSignature {\n  /**\n   * Retrieves back in stock request settings.\n   */\n  (): Promise<GetSettingsResponse & GetSettingsResponseNonNullableFields>;\n}\n\nexport {\n  BackInStockCollectionState,\n  BackInStockSettings,\n  GetSettingsRequest,\n  GetSettingsResponse,\n  GetSettingsResponseNonNullableFields,\n  StartCollectingRequestsRequest,\n  StartCollectingRequestsResponse,\n  StartCollectingRequestsResponseNonNullableFields,\n  StopCollectingRequestsRequest,\n  StopCollectingRequestsResponse,\n  StopCollectingRequestsResponseNonNullableFields,\n} from './ecom-v1-back-in-stock-settings-back-in-stock-settings.universal.js';\n","import {\n  startCollectingRequests as publicStartCollectingRequests,\n  stopCollectingRequests as publicStopCollectingRequests,\n  getSettings as publicGetSettings,\n} from './ecom-v1-back-in-stock-settings-back-in-stock-settings.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const startCollectingRequests: MaybeContext<\n  BuildRESTFunction<typeof publicStartCollectingRequests> &\n    typeof publicStartCollectingRequests\n> = /*#__PURE__*/ createRESTModule(publicStartCollectingRequests);\nexport const stopCollectingRequests: MaybeContext<\n  BuildRESTFunction<typeof publicStopCollectingRequests> &\n    typeof publicStopCollectingRequests\n> = /*#__PURE__*/ createRESTModule(publicStopCollectingRequests);\nexport const getSettings: MaybeContext<\n  BuildRESTFunction<typeof publicGetSettings> & typeof publicGetSettings\n> = /*#__PURE__*/ createRESTModule(publicGetSettings);\n\nexport {\n  BackInStockSettings,\n  BackInStockCollectionState,\n  StartCollectingRequestsRequest,\n  StartCollectingRequestsResponse,\n  StopCollectingRequestsRequest,\n  StopCollectingRequestsResponse,\n  GetSettingsRequest,\n  GetSettingsResponse,\n  StartCollectingRequestsResponseNonNullableFields,\n  StopCollectingRequestsResponseNonNullableFields,\n  GetSettingsResponseNonNullableFields,\n} from './ecom-v1-back-in-stock-settings-back-in-stock-settings.universal.js';\n"],"mappings":"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","names":["startCollectingRequests","stopCollectingRequests","getSettings","startCollectingRequests","stopCollectingRequests","getSettings","startCollectingRequests","stopCollectingRequests","getSettings"]}