Skip to content

Commit bb4bb36

Browse files
committed
Added some ReadOnlyConvertibles and inits() to Yosmite models
1 parent 0d017af commit bb4bb36

File tree

7 files changed

+102
-3
lines changed

7 files changed

+102
-3
lines changed

Networking/Networking/Model/OrderCouponLine.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@ public struct OrderCouponLine: Decodable {
88
public let code: String
99
public let discount: String
1010
public let discountTax: String
11+
12+
/// OrderCouponLine struct initializer.
13+
///
14+
public init(couponID: Int, code: String, discount: String, discountTax: String) {
15+
self.couponID = couponID
16+
self.code = code
17+
self.discount = discount
18+
self.discountTax = discountTax
19+
}
1120
}
1221

1322

Networking/Networking/Model/OrderItem.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,22 @@ public struct OrderItem: Decodable {
1515
public let total: String
1616
public let totalTax: String
1717
public let variationID: Int
18+
19+
/// OrderItem struct initializer.
20+
///
21+
public init(itemID: Int, name: String, productID: Int, quantity: Int, sku: String, subtotal: String, subtotalTax: String, taxClass: String, total: String, totalTax: String, variationID: Int) {
22+
self.itemID = itemID
23+
self.name = name
24+
self.productID = productID
25+
self.quantity = quantity
26+
self.sku = sku
27+
self.subtotal = subtotal
28+
self.subtotalTax = subtotalTax
29+
self.taxClass = taxClass
30+
self.total = total
31+
self.totalTax = totalTax
32+
self.variationID = variationID
33+
}
1834
}
1935

2036

Networking/Networking/Model/OrderNote.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public struct OrderNote: Decodable {
99
public let note: String
1010
public let isCustomerNote: Bool
1111

12-
/// Order struct initializer.
12+
/// OrderNote struct initializer.
1313
///
1414
init(noteId: Int, dateCreated: Date, note: String, isCustomerNote: Bool) {
1515
self.noteId = noteId

Yosemite/Yosemite.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
0E67B79585034C4DD75C8117 /* Pods_Yosemite.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C25501C7F936D2FD32FAF3F4 /* Pods_Yosemite.framework */; };
1111
36941EA7B9242CAB1FF828BC /* Pods_YosemiteTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 991BBCE6E4A92F0A028885D8 /* Pods_YosemiteTests.framework */; };
1212
7424B49420EAD37C00CC62F6 /* order.json in Resources */ = {isa = PBXBuildFile; fileRef = 7424B49320EAD37C00CC62F6 /* order.json */; };
13+
74685D4E20F7EFA7008958C1 /* OrderItem+ReadOnlyConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74685D4D20F7EFA7008958C1 /* OrderItem+ReadOnlyConvertible.swift */; };
14+
74685D5020F7F3CE008958C1 /* OrderCoupon+ReadOnlyConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74685D4F20F7F3CE008958C1 /* OrderCoupon+ReadOnlyConvertible.swift */; };
1315
7499936420EFBC1B00CF01CD /* OrderNoteAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7499936320EFBC1A00CF01CD /* OrderNoteAction.swift */; };
1416
7499936620EFBC7200CF01CD /* OrderNoteStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7499936520EFBC7200CF01CD /* OrderNoteStore.swift */; };
1517
7499936820EFC0ED00CF01CD /* OrderNoteStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7499936720EFC0ED00CF01CD /* OrderNoteStoreTests.swift */; };
@@ -61,6 +63,8 @@
6163
/* Begin PBXFileReference section */
6264
7424B49320EAD37C00CC62F6 /* order.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = order.json; sourceTree = "<group>"; };
6365
745D21C120D8043A00BBE7C3 /* generic_error.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = generic_error.json; sourceTree = "<group>"; };
66+
74685D4D20F7EFA7008958C1 /* OrderItem+ReadOnlyConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "OrderItem+ReadOnlyConvertible.swift"; sourceTree = "<group>"; };
67+
74685D4F20F7F3CE008958C1 /* OrderCoupon+ReadOnlyConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "OrderCoupon+ReadOnlyConvertible.swift"; sourceTree = "<group>"; };
6468
7499936320EFBC1A00CF01CD /* OrderNoteAction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OrderNoteAction.swift; sourceTree = "<group>"; };
6569
7499936520EFBC7200CF01CD /* OrderNoteStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OrderNoteStore.swift; sourceTree = "<group>"; };
6670
7499936720EFC0ED00CF01CD /* OrderNoteStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderNoteStoreTests.swift; sourceTree = "<group>"; };
@@ -137,6 +141,8 @@
137141
B53D89E420E6C22B00F90866 /* Model.swift */,
138142
B5EED1A720F4F3CF00652449 /* Account+ReadOnlyConvertible.swift */,
139143
74D7F29A20F6A7FB0058B2F0 /* Order+ReadOnlyConvertible.swift */,
144+
74685D4F20F7F3CE008958C1 /* OrderCoupon+ReadOnlyConvertible.swift */,
145+
74685D4D20F7EFA7008958C1 /* OrderItem+ReadOnlyConvertible.swift */,
140146
B505254B20EE6491008090F5 /* Site+ReadOnlyConvertible.swift */,
141147
);
142148
path = Model;
@@ -496,13 +502,15 @@
496502
buildActionMask = 2147483647;
497503
files = (
498504
B5C9DE152087FF0E006B910A /* Dispatcher.swift in Sources */,
505+
74685D4E20F7EFA7008958C1 /* OrderItem+ReadOnlyConvertible.swift in Sources */,
499506
B5DC3CB120D1B8720063AC41 /* AccountAction.swift in Sources */,
500507
B5BC736520D1A98500B5B6FA /* AccountStore.swift in Sources */,
501508
B56C1EC220EAE2E500D749F9 /* ReadOnlyConvertible.swift in Sources */,
502509
B505254C20EE6491008090F5 /* Site+ReadOnlyConvertible.swift in Sources */,
503510
B5B5C797208E49B600642956 /* Action+Internal.swift in Sources */,
504511
74A7688C20D45EBA00F9D437 /* OrderStore.swift in Sources */,
505512
B53D89E520E6C22B00F90866 /* Model.swift in Sources */,
513+
74685D5020F7F3CE008958C1 /* OrderCoupon+ReadOnlyConvertible.swift in Sources */,
506514
74A7689020D45F9300F9D437 /* OrderAction.swift in Sources */,
507515
7499936620EFBC7200CF01CD /* OrderNoteStore.swift in Sources */,
508516
B5C9DE182087FF0E006B910A /* Assert.swift in Sources */,

Yosemite/Yosemite/Model/Order+ReadOnlyConvertible.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import Foundation
22
import Storage
33

44

5-
// MARK: - Storage.order: ReadOnlyConvertible
5+
// MARK: - Storage.Order: ReadOnlyConvertible
66
//
77
extension Storage.Order: ReadOnlyConvertible {
88

9-
/// Updates the Storage.Order with the a ReadOnly.
9+
/// Updates the Storage.Order with the ReadOnly.
1010
///
1111
public func update(with order: Yosemite.Order) {
1212
orderID = Int64(order.orderID)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import Foundation
2+
import Storage
3+
4+
5+
// MARK: - Storage.OrderCoupon: ReadOnlyConvertible
6+
//
7+
extension Storage.OrderCoupon: ReadOnlyConvertible {
8+
9+
/// Updates the Storage.OrderCoupon with the ReadOnly.
10+
///
11+
public func update(with orderCoupon: Yosemite.OrderCouponLine) {
12+
couponID = Int64(orderCoupon.couponID)
13+
code = orderCoupon.code
14+
discount = orderCoupon.discount
15+
discountTax = orderCoupon.discountTax
16+
}
17+
18+
/// Returns a ReadOnly version of the receiver.
19+
///
20+
public func toReadOnly() -> Yosemite.OrderCouponLine {
21+
return OrderCouponLine(couponID: Int(couponID),
22+
code: code ?? "",
23+
discount: discount ?? "",
24+
discountTax: discountTax ?? "")
25+
}
26+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import Foundation
2+
import Storage
3+
4+
5+
// MARK: - Storage.OrderItem: ReadOnlyConvertible
6+
//
7+
extension Storage.OrderItem: ReadOnlyConvertible {
8+
9+
/// Updates the Storage.OrderItem with the ReadOnly.
10+
///
11+
public func update(with orderItem: Yosemite.OrderItem) {
12+
itemID = Int64(orderItem.itemID)
13+
name = orderItem.name
14+
quantity = Int16(orderItem.quantity)
15+
productID = Int64(orderItem.productID)
16+
sku = orderItem.sku
17+
subtotal = orderItem.subtotal
18+
subtotalTax = orderItem.subtotalTax
19+
taxClass = orderItem.taxClass
20+
total = orderItem.total
21+
totalTax = orderItem.totalTax
22+
variationID = Int64(orderItem.variationID)
23+
}
24+
25+
/// Returns a ReadOnly version of the receiver.
26+
///
27+
public func toReadOnly() -> Yosemite.OrderItem {
28+
return OrderItem(itemID: Int(itemID),
29+
name: name ?? "",
30+
productID: Int(productID),
31+
quantity: Int(quantity),
32+
sku: sku ?? "",
33+
subtotal: subtotal ?? "",
34+
subtotalTax: subtotalTax ?? "",
35+
taxClass: taxClass ?? "",
36+
total: total ?? "",
37+
totalTax: totalTax ?? "",
38+
variationID: Int(variationID))
39+
}
40+
}

0 commit comments

Comments
 (0)