def convert_to_pb_branch(db_branch, **kwargs): pb_branch = API.Branch() pb_branch.id = db_branch.id pb_branch.name = db_branch.name pb_branch.can_push = db_branch.can_push return pb_branch
def get(self, request, *args, **kwargs): all = request.GET.get('all', None) # Get By Id if 'user_id' in kwargs: user_id = kwargs['user_id'] if User.objects.filter(pk=user_id): db_user = User.objects.get(pk=user_id) pb_user = APIConverter.convert_to_pb_user(db_user, all=all, extra=True) return APIResponse.api_response_get(pb_user) else: return APIResponse.api_error_response(404, 'Does Not Exist User') else: db_users = User.objects.all() pb_user_list = API.UserList() aux_users = [] for db_user in db_users: pb_user = APIConverter.convert_to_pb_user(db_user, all=all, extra=True) aux_users.append(pb_user) pb_user_list.users.extend(aux_users) return APIResponse.api_response_get(pb_user_list)
def get(self, request, *args, **kwargs): state = request.GET.get('state', None) # Get By Id if 'issue_id' in kwargs: issue_id = kwargs['issue_id'] if Issue.objects.filter(pk=issue_id): db_issue = Issue.objects.get(pk=issue_id) pb_issue = APIConverter.convert_to_pb_issue(db_issue) return APIResponse.api_response_get(pb_issue) else: return APIResponse.api_error_response(404, 'Does Not Exist Issue') else: if state: db_issues = Issue.objects.all() else: db_issues = Issue.objects.filter(_issue_state=state) pb_issue_list = API.IssueList() aux_issues = [] for db_issue in db_issues: pb_issue = APIConverter.convert_to_pb_issue(db_issue, all=all) aux_issues.append(pb_issue) pb_issue_list.issues.extend(aux_issues) return APIResponse.api_response_get(pb_issue_list)
def convert_to_pb_group(db_group, **kwargs): pb_group = API.Group() pb_group.id = db_group.id pb_group.name = db_group.name pb_group.description = db_group.description pb_group.visibility = db_group.visibility pb_group.web_url = db_group.web_url return pb_group
def convert_to_pb_commit(db_commit, **kwargs): pb_commit = API.Commit() pb_commit.id = db_commit.id pb_commit.project_id = db_commit.project_id pb_commit.title = db_commit.title if db_commit.committer_id: pb_commit.committer_id = db_commit.committer_id pb_commit.committed_date.FromSeconds(db_commit.committed_date) pb_commit.message = db_commit.message pb_commit.created_at.FromSeconds(db_commit.created_at) return pb_commit
def convert_to_pb_project(db_project, **kwargs): pb_project = API.Project() pb_project.id = db_project.id pb_project.name = db_project.name pb_project.name_with_namespace = db_project.name_with_namespace pb_project.description = db_project.description pb_project.default_branch = db_project.default_branch pb_project.visibility = db_project.visibility pb_project.web_url = db_project.web_url pb_project.avatar_url = db_project.avatar_url pb_project.created_at.FromSeconds(db_project.created_at) return pb_project
def convert_to_pb_issue(db_issue, **kwargs): pb_issue = API.Issue() pb_issue.id = db_issue.id pb_issue.project_id = db_issue.project_id pb_issue.title = db_issue.title pb_issue.state = db_issue.issue_state pb_issue.description = db_issue.description if db_issue.author_id: pb_issue.author_id = db_issue.author_id pb_issue.web_url = db_issue.web_url pb_issue.closed_at.FromSeconds(db_issue.closed_at) pb_issue.created_at.FromSeconds(db_issue.created_at) return pb_issue
def convert_to_pb_merge_request(db_merge_request, **kwargs): pb_merge_request = API.MergeRequest() pb_merge_request.id = db_merge_request.id pb_merge_request.project_id = db_merge_request.project_id pb_merge_request.title = db_merge_request.title pb_merge_request.description = db_merge_request.description pb_merge_request.state = db_merge_request.merge_state if db_merge_request.author_id: pb_merge_request.author_id = db_merge_request.author_id pb_merge_request.web_url = db_merge_request.web_url pb_merge_request.created_at.FromSeconds(db_merge_request.created_at) if db_merge_request.merged_at: pb_merge_request.merged_at.FromSeconds(db_merge_request.merged_at) return pb_merge_request
def get(self, request, *args, **kwargs): # Get By Id if 'group_id' in kwargs: group_id = kwargs['group_id'] if Group.objects.filter(pk=group_id): db_group = Group.objects.get(pk=group_id) pb_group = APIConverter.convert_to_pb_group(db_group) return APIResponse.api_response_get(pb_group) else: return APIResponse.api_error_response(404, 'Does Not Exist Group') else: db_groups = Group.objects.all() pb_group_list = API.GroupList() aux_groups = [] for db_group in db_groups: pb_group = APIConverter.convert_to_pb_group(db_group) aux_groups.append(pb_group) pb_group_list.groups.extend(aux_groups) return APIResponse.api_response_get(pb_group_list)
def convert_to_pb_user(db_user, **kwargs): pb_user = API.User() pb_user.id = db_user.id pb_user.name = db_user.name pb_user.username = db_user.username pb_user.email = db_user.email pb_user.state = db_user.user_state pb_user.avatar_url = db_user.avatar_url pb_user.web_url = db_user.web_url pb_user.is_admin = db_user.is_admin pb_user.created_at.FromSeconds(db_user.created_at) # Projects aux_projects = [] db_projects = db_user.projects.all() for db_project in db_projects: pb_project = APIConverter.convert_to_pb_project(db_project) aux_projects.append(pb_project) pb_user.projects.extend(aux_projects) if 'extra' in kwargs and kwargs['extra']: # Issues aux_issues = [] if 'all' in kwargs and kwargs['all']: db_issues = Issue.objects.filter(_author=db_user).order_by('-_closed_at') else: db_issues = Issue.objects.filter(_author=db_user).order_by('-_closed_at')[:5] for db_issue in db_issues: pb_issue = APIConverter.convert_to_pb_issue(db_issue) aux_issues.append(pb_issue) pb_user.issues.extend(aux_issues) # Commits aux_commits = [] if 'all' in kwargs and kwargs['all']: db_commits = Commit.objects.filter(_committer=db_user).order_by('-_committed_date') else: db_commits = Commit.objects.filter(_committer=db_user).order_by('-_committed_date')[:5] for db_commit in db_commits: pb_commit = APIConverter.convert_to_pb_commit(db_commit) aux_commits.append(pb_commit) pb_user.commits.extend(aux_commits) # Merge Requests aux_merge_requests = [] if 'all' in kwargs and kwargs['all']: db_merge_requests = MergeRequest.objects.filter(_author=db_user).order_by('-_created_at') else: db_merge_requests = MergeRequest.objects.filter(_author=db_user).order_by('-_created_at')[:5] for db_merge_request in db_merge_requests: pb_merge_request = APIConverter.convert_to_pb_merge_request(db_merge_request) aux_merge_requests.append(pb_merge_request) pb_user.merge_requests.extend(aux_merge_requests) return pb_user
def api_error_response(status_code, message): error = API.Error() error.status_code = status_code error.message = message return HttpResponse(error.SerializeToString(), status=status_code, content_type="application/octet-stream")