module Network.Google.Resource.Coordinate.Jobs.Update
(
JobsUpdateResource
, jobsUpdate
, JobsUpdate
, juJobId
, juProgress
, juNote
, juTeamId
, juCustomerPhoneNumber
, juCustomerName
, juAddress
, juPayload
, juAssignee
, juLat
, juLng
, juTitle
, juCustomField
) where
import Network.Google.MapsCoordinate.Types
import Network.Google.Prelude
type JobsUpdateResource =
"coordinate" :>
"v1" :>
"teams" :>
Capture "teamId" Text :>
"jobs" :>
Capture "jobId" (Textual Word64) :>
QueryParam "progress" JobsUpdateProgress :>
QueryParam "note" Text :>
QueryParam "customerPhoneNumber" Text :>
QueryParam "customerName" Text :>
QueryParam "address" Text :>
QueryParam "assignee" Text :>
QueryParam "lat" (Textual Double) :>
QueryParam "lng" (Textual Double) :>
QueryParam "title" Text :>
QueryParams "customField" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] Job :> Put '[JSON] Job
data JobsUpdate = JobsUpdate'
{ _juJobId :: !(Textual Word64)
, _juProgress :: !(Maybe JobsUpdateProgress)
, _juNote :: !(Maybe Text)
, _juTeamId :: !Text
, _juCustomerPhoneNumber :: !(Maybe Text)
, _juCustomerName :: !(Maybe Text)
, _juAddress :: !(Maybe Text)
, _juPayload :: !Job
, _juAssignee :: !(Maybe Text)
, _juLat :: !(Maybe (Textual Double))
, _juLng :: !(Maybe (Textual Double))
, _juTitle :: !(Maybe Text)
, _juCustomField :: !(Maybe [Text])
} deriving (Eq,Show,Data,Typeable,Generic)
jobsUpdate
:: Word64
-> Text
-> Job
-> JobsUpdate
jobsUpdate pJuJobId_ pJuTeamId_ pJuPayload_ =
JobsUpdate'
{ _juJobId = _Coerce # pJuJobId_
, _juProgress = Nothing
, _juNote = Nothing
, _juTeamId = pJuTeamId_
, _juCustomerPhoneNumber = Nothing
, _juCustomerName = Nothing
, _juAddress = Nothing
, _juPayload = pJuPayload_
, _juAssignee = Nothing
, _juLat = Nothing
, _juLng = Nothing
, _juTitle = Nothing
, _juCustomField = Nothing
}
juJobId :: Lens' JobsUpdate Word64
juJobId
= lens _juJobId (\ s a -> s{_juJobId = a}) . _Coerce
juProgress :: Lens' JobsUpdate (Maybe JobsUpdateProgress)
juProgress
= lens _juProgress (\ s a -> s{_juProgress = a})
juNote :: Lens' JobsUpdate (Maybe Text)
juNote = lens _juNote (\ s a -> s{_juNote = a})
juTeamId :: Lens' JobsUpdate Text
juTeamId = lens _juTeamId (\ s a -> s{_juTeamId = a})
juCustomerPhoneNumber :: Lens' JobsUpdate (Maybe Text)
juCustomerPhoneNumber
= lens _juCustomerPhoneNumber
(\ s a -> s{_juCustomerPhoneNumber = a})
juCustomerName :: Lens' JobsUpdate (Maybe Text)
juCustomerName
= lens _juCustomerName
(\ s a -> s{_juCustomerName = a})
juAddress :: Lens' JobsUpdate (Maybe Text)
juAddress
= lens _juAddress (\ s a -> s{_juAddress = a})
juPayload :: Lens' JobsUpdate Job
juPayload
= lens _juPayload (\ s a -> s{_juPayload = a})
juAssignee :: Lens' JobsUpdate (Maybe Text)
juAssignee
= lens _juAssignee (\ s a -> s{_juAssignee = a})
juLat :: Lens' JobsUpdate (Maybe Double)
juLat
= lens _juLat (\ s a -> s{_juLat = a}) .
mapping _Coerce
juLng :: Lens' JobsUpdate (Maybe Double)
juLng
= lens _juLng (\ s a -> s{_juLng = a}) .
mapping _Coerce
juTitle :: Lens' JobsUpdate (Maybe Text)
juTitle = lens _juTitle (\ s a -> s{_juTitle = a})
juCustomField :: Lens' JobsUpdate [Text]
juCustomField
= lens _juCustomField
(\ s a -> s{_juCustomField = a})
. _Default
. _Coerce
instance GoogleRequest JobsUpdate where
type Rs JobsUpdate = Job
type Scopes JobsUpdate =
'["https://www.googleapis.com/auth/coordinate"]
requestClient JobsUpdate'{..}
= go _juTeamId _juJobId _juProgress _juNote
_juCustomerPhoneNumber
_juCustomerName
_juAddress
_juAssignee
_juLat
_juLng
_juTitle
(_juCustomField ^. _Default)
(Just AltJSON)
_juPayload
mapsCoordinateService
where go
= buildClient (Proxy :: Proxy JobsUpdateResource)
mempty