func gitlabProjectIssueToStateMap()

in internal/provider/sdk/schema_gitlab_project_issue.go [273:361]


func gitlabProjectIssueToStateMap(project string, issue *gitlab.Issue) map[string]any {
	stateMap := make(map[string]any)
	stateMap["project"] = project
	stateMap["iid"] = issue.IID
	stateMap["title"] = issue.Title
	stateMap["issue_id"] = issue.ID
	stateMap["assignee_ids"] = flattenAssigneeIds(issue.Assignees)
	stateMap["confidential"] = issue.Confidential
	stateMap["created_at"] = issue.CreatedAt.Format(time.RFC3339)
	stateMap["description"] = issue.Description
	if issue.DueDate != nil {
		stateMap["due_date"] = issue.DueDate.String()
	} else {
		stateMap["due_date"] = nil
	}
	stateMap["issue_type"] = issue.IssueType
	stateMap["labels"] = issue.Labels
	if issue.Milestone != nil {
		stateMap["milestone_id"] = issue.Milestone.ID
	} else {
		stateMap["milestone_id"] = nil
	}
	stateMap["weight"] = issue.Weight
	stateMap["external_id"] = issue.ExternalID
	stateMap["state"] = issue.State
	if issue.Author != nil {
		stateMap["author_id"] = issue.Author.ID
	} else {
		stateMap["author_id"] = nil
	}
	if issue.UpdatedAt != nil {
		stateMap["updated_at"] = issue.UpdatedAt.Format(time.RFC3339)
	} else {
		stateMap["updated_at"] = nil
	}
	if issue.ClosedAt != nil {
		stateMap["closed_at"] = issue.ClosedAt.Format(time.RFC3339)
	} else {
		stateMap["closed_at"] = nil
	}
	if issue.ClosedBy != nil {
		stateMap["closed_by_user_id"] = issue.ClosedBy.ID
	} else {
		stateMap["closed_by_user_id"] = nil
	}
	stateMap["moved_to_id"] = issue.MovedToID
	stateMap["upvotes"] = issue.Upvotes
	stateMap["downvotes"] = issue.Downvotes
	stateMap["web_url"] = issue.WebURL
	if issue.References != nil {
		stateMap["references"] = flattenIssueReferences(issue.References)
	} else {
		stateMap["references"] = nil
	}
	if issue.TimeStats != nil {
		stateMap["time_estimate"] = issue.TimeStats.TimeEstimate
		stateMap["total_time_spent"] = issue.TimeStats.TotalTimeSpent
		stateMap["human_time_estimate"] = issue.TimeStats.HumanTimeEstimate
		stateMap["human_total_time_spent"] = issue.TimeStats.HumanTotalTimeSpent
	} else {
		stateMap["time_estimate"] = nil
		stateMap["total_time_spent"] = nil
		stateMap["human_time_estimate"] = nil
		stateMap["human_total_time_spent"] = nil
	}
	stateMap["discussion_locked"] = issue.DiscussionLocked
	stateMap["subscribed"] = issue.Subscribed
	stateMap["user_notes_count"] = issue.UserNotesCount
	if issue.Links != nil {
		stateMap["links"] = flattenIssueLinks(issue.Links)
	} else {
		stateMap["links"] = nil
	}
	stateMap["issue_link_id"] = issue.IssueLinkID
	stateMap["merge_requests_count"] = issue.MergeRequestCount
	stateMap["epic_issue_id"] = issue.EpicIssueID
	if issue.Epic != nil {
		stateMap["epic_id"] = issue.Epic.ID
	} else {
		stateMap["epic_id"] = nil
	}
	if issue.TaskCompletionStatus != nil {
		stateMap["task_completion_status"] = flattenIssueTaskCompletionStatus(issue.TaskCompletionStatus)
	} else {
		stateMap["task_completion_status"] = nil
	}

	return stateMap
}