module Network.Google.Resource.MapsEngine.Projects.Icons.Create
(
ProjectsIconsCreateResource
, projectsIconsCreate
, ProjectsIconsCreate
, picPayload
, picProjectId
) where
import Network.Google.MapsEngine.Types
import Network.Google.Prelude
type ProjectsIconsCreateResource =
"mapsengine" :>
"v1" :>
"projects" :>
Capture "projectId" Text :>
"icons" :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] Icon :> Post '[JSON] Icon
:<|>
"upload" :>
"mapsengine" :>
"v1" :>
"projects" :>
Capture "projectId" Text :>
"icons" :>
QueryParam "alt" AltJSON :>
QueryParam "uploadType" Multipart :>
MultipartRelated '[JSON] Icon :> Post '[JSON] Icon
data ProjectsIconsCreate = ProjectsIconsCreate'
{ _picPayload :: !Icon
, _picProjectId :: !Text
} deriving (Eq,Show,Data,Typeable,Generic)
projectsIconsCreate
:: Icon
-> Text
-> ProjectsIconsCreate
projectsIconsCreate pPicPayload_ pPicProjectId_ =
ProjectsIconsCreate'
{ _picPayload = pPicPayload_
, _picProjectId = pPicProjectId_
}
picPayload :: Lens' ProjectsIconsCreate Icon
picPayload
= lens _picPayload (\ s a -> s{_picPayload = a})
picProjectId :: Lens' ProjectsIconsCreate Text
picProjectId
= lens _picProjectId (\ s a -> s{_picProjectId = a})
instance GoogleRequest ProjectsIconsCreate where
type Rs ProjectsIconsCreate = Icon
type Scopes ProjectsIconsCreate =
'["https://www.googleapis.com/auth/mapsengine"]
requestClient ProjectsIconsCreate'{..}
= go _picProjectId (Just AltJSON) _picPayload
mapsEngineService
where go :<|> _
= buildClient
(Proxy :: Proxy ProjectsIconsCreateResource)
mempty
instance GoogleRequest
(MediaUpload ProjectsIconsCreate) where
type Rs (MediaUpload ProjectsIconsCreate) = Icon
type Scopes (MediaUpload ProjectsIconsCreate) =
Scopes ProjectsIconsCreate
requestClient
(MediaUpload ProjectsIconsCreate'{..} body)
= go _picProjectId (Just AltJSON) (Just Multipart)
_picPayload
body
mapsEngineService
where _ :<|> go
= buildClient
(Proxy :: Proxy ProjectsIconsCreateResource)
mempty