packages feed

gogol-android-enterprise-1.0.0: gen/Gogol/AndroidEnterprise/Products/List.hs

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- |
-- Module      : Gogol.AndroidEnterprise.Products.List
-- Copyright   : (c) 2015-2025 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
--               Toni Cebrián <toni@tonicebrian.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Finds approved products that match a query, or all approved products if there is no query. __Note:__ This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.
--
-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.products.list@.
module Gogol.AndroidEnterprise.Products.List
  ( -- * Resource
    AndroidEnterpriseProductsListResource,

    -- ** Constructing a Request
    AndroidEnterpriseProductsList (..),
    newAndroidEnterpriseProductsList,
  )
where

import Gogol.AndroidEnterprise.Types
import Gogol.Prelude qualified as Core

-- | A resource alias for @androidenterprise.products.list@ method which the
-- 'AndroidEnterpriseProductsList' request conforms to.
type AndroidEnterpriseProductsListResource =
  "androidenterprise"
    Core.:> "v1"
    Core.:> "enterprises"
    Core.:> Core.Capture "enterpriseId" Core.Text
    Core.:> "products"
    Core.:> Core.QueryParam "$.xgafv" Xgafv
    Core.:> Core.QueryParam "access_token" Core.Text
    Core.:> Core.QueryParam "approved" Core.Bool
    Core.:> Core.QueryParam "callback" Core.Text
    Core.:> Core.QueryParam "language" Core.Text
    Core.:> Core.QueryParam "maxResults" Core.Word32
    Core.:> Core.QueryParam "query" Core.Text
    Core.:> Core.QueryParam "token" Core.Text
    Core.:> Core.QueryParam "uploadType" Core.Text
    Core.:> Core.QueryParam "upload_protocol" Core.Text
    Core.:> Core.QueryParam "alt" Core.AltJSON
    Core.:> Core.Get '[Core.JSON] ProductsListResponse

-- | Finds approved products that match a query, or all approved products if there is no query. __Note:__ This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.
--
-- /See:/ 'newAndroidEnterpriseProductsList' smart constructor.
data AndroidEnterpriseProductsList = AndroidEnterpriseProductsList
  { -- | V1 error format.
    xgafv :: (Core.Maybe Xgafv),
    -- | OAuth access token.
    accessToken :: (Core.Maybe Core.Text),
    -- | Specifies whether to search among all products (false) or among only products that have been approved (true). Only \"true\" is supported, and should be specified.
    approved :: (Core.Maybe Core.Bool),
    -- | JSONP
    callback :: (Core.Maybe Core.Text),
    -- | The ID of the enterprise.
    enterpriseId :: Core.Text,
    -- | The BCP47 tag for the user\'s preferred language (e.g. \"en-US\", \"de\"). Results are returned in the language best matching the preferred language.
    language :: (Core.Maybe Core.Text),
    -- | Defines how many results the list operation should return. The default number depends on the resource collection.
    maxResults :: (Core.Maybe Core.Word32),
    -- | The search query as typed in the Google Play store search box. If omitted, all approved apps will be returned (using the pagination parameters), including apps that are not available in the store (e.g. unpublished apps).
    query :: (Core.Maybe Core.Text),
    -- | Defines the token of the page to return, usually taken from TokenPagination. This can only be used if token paging is enabled.
    token :: (Core.Maybe Core.Text),
    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
    uploadType :: (Core.Maybe Core.Text),
    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
    uploadProtocol :: (Core.Maybe Core.Text)
  }
  deriving (Core.Eq, Core.Show, Core.Generic)

-- | Creates a value of 'AndroidEnterpriseProductsList' with the minimum fields required to make a request.
newAndroidEnterpriseProductsList ::
  -- |  The ID of the enterprise. See 'enterpriseId'.
  Core.Text ->
  AndroidEnterpriseProductsList
newAndroidEnterpriseProductsList enterpriseId =
  AndroidEnterpriseProductsList
    { xgafv = Core.Nothing,
      accessToken = Core.Nothing,
      approved = Core.Nothing,
      callback = Core.Nothing,
      enterpriseId = enterpriseId,
      language = Core.Nothing,
      maxResults = Core.Nothing,
      query = Core.Nothing,
      token = Core.Nothing,
      uploadType = Core.Nothing,
      uploadProtocol = Core.Nothing
    }

instance Core.GoogleRequest AndroidEnterpriseProductsList where
  type Rs AndroidEnterpriseProductsList = ProductsListResponse
  type
    Scopes AndroidEnterpriseProductsList =
      '[Androidenterprise'FullControl]
  requestClient AndroidEnterpriseProductsList {..} =
    go
      enterpriseId
      xgafv
      accessToken
      approved
      callback
      language
      maxResults
      query
      token
      uploadType
      uploadProtocol
      (Core.Just Core.AltJSON)
      androidEnterpriseService
    where
      go =
        Core.buildClient
          (Core.Proxy :: Core.Proxy AndroidEnterpriseProductsListResource)
          Core.mempty