From 9830489577e630109796a5d40c0e7e9b68caf320 Mon Sep 17 00:00:00 2001 From: Christoph Pageler Date: Wed, 24 Oct 2018 09:01:18 +0200 Subject: [PATCH] Add Jira Project --- Sources/JiraSwift/JiraIssue.swift | 22 ++++++++++-------- Sources/JiraSwift/JiraProject.swift | 36 +++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 Sources/JiraSwift/JiraProject.swift diff --git a/Sources/JiraSwift/JiraIssue.swift b/Sources/JiraSwift/JiraIssue.swift index c161182..899017c 100644 --- a/Sources/JiraSwift/JiraIssue.swift +++ b/Sources/JiraSwift/JiraIssue.swift @@ -11,13 +11,13 @@ import Quack public extension Jira { - + public class Issue: Quack.Model { - + public let id: String public let key: String public let fields: Fields - + public required init?(json: JSON) { guard let idString = json["id"].string, let keyString = json["key"].string, @@ -25,28 +25,30 @@ public extension Jira { else { return nil } - + self.id = idString self.key = keyString self.fields = fields } - + } - + } extension Jira.Issue { public class Fields: Quack.Model { - + public let summary: String? - + public let project: Jira.Project + public required init?(json: JSON) { + guard let project = Jira.Project(json: json["project"]) else { return nil } self.summary = json["summary"].string + self.project = project } - + } } - diff --git a/Sources/JiraSwift/JiraProject.swift b/Sources/JiraSwift/JiraProject.swift new file mode 100644 index 0000000..37d8b1d --- /dev/null +++ b/Sources/JiraSwift/JiraProject.swift @@ -0,0 +1,36 @@ +// +// JiraProject.swift +// JiraSwift +// +// Created by Christoph Pageler on 24.10.18. +// + + +import Foundation +import Quack + + +public extension Jira { + + public class Project: Quack.Model { + + public let id: String + public let key: String + public let name: String + + public required init?(json: JSON) { + guard let id = json["id"].string, + let key = json["key"].string, + let name = json["name"].string + else { + return nil + } + + self.id = id + self.key = key + self.name = name + } + + } + +}