Class: Projects::Api::ProjectsAPI

Inherits:
API
  • Object
show all
Includes:
Parser, Util
Defined in:
lib/projects/api/ProjectsAPI.rb

Overview

  • ProjectsAPI is used to:

* Get list of projects.

* Get the details of a project.

* Create a new project.

* Update the details of a project.

* Delete an existing project.

Instance Method Summary collapse

Methods inherited from API

#getBaseURL, #getQueryMap

Constructor Details

#initialize(authToken, portalId) ⇒ ProjectsAPI

  • Construct a new ProjectsAPI using User’s authToken and portalId.

Parameters

  • authToken
    • User’s authToken.

  • portalId
    • User’s portalId.



39
40
41
# File 'lib/projects/api/ProjectsAPI.rb', line 39

def initialize(authToken,portalId)
  super(authToken,portalId)
end

Instance Method Details

#addProjectStatus(projectId, status) ⇒ Object

  • Add the status for the project.

Parameters

  • projectId
    • ID of the project.

  • status
    • Status object.

Returns

  • Status object.



196
197
198
199
# File 'lib/projects/api/ProjectsAPI.rb', line 196

def addProjectStatus(projectId,status)
  url = getProjectUrl(projectId)+"statuses/"
  return $projectParser.getStatus(ZohoHTTPClient.post(url, getQueryMap, status.toParamMAP));
end

#createProject(project) ⇒ Object

  • Create a new project.

Parameters

  • project
    • Project object.

Returns

  • Project object.



92
93
94
95
# File 'lib/projects/api/ProjectsAPI.rb', line 92

def createProject(project)
  createProject = ZohoHTTPClient.post(getProjectsUrl,getQueryMap, project.toParamMAP)
  return $projectParser.getProject(createProject)
end

#deleteProject(projectId) ⇒ Object

  • Delete an existing project.

Parameters

  • projectId
    • ID of the project.

Returns

  • String object.



137
138
139
140
# File 'lib/projects/api/ProjectsAPI.rb', line 137

def deleteProject(projectId)
  response = ZohoHTTPClient.delete(getProjectUrl(projectId),getQueryMap)
  return $projectParser.getResult(response)
end

#get(projectId) ⇒ Object

  • Get the details of a project.

Parameters

  • projectId
    • ID of the project.

Returns

  • Project object.



107
108
109
110
# File 'lib/projects/api/ProjectsAPI.rb', line 107

def get(projectId)
  response = ZohoHTTPClient.get(getProjectUrl(projectId),getQueryMap)
  return $projectParser.getProject(response)
end

#getProjectActivities(projectId, queryMap = nil) ⇒ Object

  • Get list of project activities.

Parameters

  • projectId
    • ID of the project.

  • queryMap
    • This queryMap contains the filters in the form of key-value pair.

Returns

  • List of Activity object.



154
155
156
157
158
159
160
161
# File 'lib/projects/api/ProjectsAPI.rb', line 154

def getProjectActivities(projectId, queryMap=nil)
  url = getProjectUrl(projectId)+"activities/"
  if queryMap == nil
    return $projectParser.getActivities(ZohoHTTPClient.get(url, getQueryMap))
  else
    return $projectParser.getActivities(ZohoHTTPClient.get(url, getQueryMap(queryMap)))
  end
end

#getProjects(queryMap = nil) ⇒ Object



74
75
76
77
78
79
80
# File 'lib/projects/api/ProjectsAPI.rb', line 74

def getProjects(queryMap=nil)
  if queryMap == nil
    return $projectParser.getProjects(ZohoHTTPClient.get(getProjectsUrl,getQueryMap)) 
  else
    return $projectParser.getProjects(ZohoHTTPClient.get(getProjectsUrl,getQueryMap(queryMap)))
  end
end

#getProjectStatuses(projectId, queryMap = nil) ⇒ Object

  • Get list of project statuses.

Parameters

  • projectId
    • ID of the project.

  • queryMap
    • This queryMap contains the filters in the form of key-value pair.

Returns

  • List of Status object.



175
176
177
178
179
180
181
182
# File 'lib/projects/api/ProjectsAPI.rb', line 175

def getProjectStatuses(projectId,queryMap=nil)
  url = getProjectUrl(projectId)+"statuses/"
  if queryMap == nil
    return $projectParser.getStatuses(ZohoHTTPClient.get(url, getQueryMap))
  else
    return $projectParser.getStatuses(ZohoHTTPClient.get(url, getQueryMap(queryMap)))
  end
end

#getProjectsUrlObject

  • Get the genearal url for getting all Projects.

Returns

String Object



49
50
51
# File 'lib/projects/api/ProjectsAPI.rb', line 49

def getProjectsUrl
  return getBaseURL+'projects/'
end

#getProjectUrl(projectId) ⇒ Object

  • Get specific Project url by specifying the projectId.

Returns

String Object



59
60
61
# File 'lib/projects/api/ProjectsAPI.rb', line 59

def getProjectUrl(projectId)
  return getBaseURL+'projects/'+String(projectId)+'/'
end

#updateProject(project) ⇒ Object

  • Update the details of a project.

Parameters

  • project
    • Project object.

Returns

  • Project object.



122
123
124
125
# File 'lib/projects/api/ProjectsAPI.rb', line 122

def updateProject(project)
  updateProject = ZohoHTTPClient.post(getProjectUrl(project.getId),getQueryMap, project.toParamMAP)
  return $projectParser.getProject(updateProject)
end