You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add sample codes in documentation for service classes (#7)
* Add sample code in documentation for `MTAccountService` and `MTAPIServiceTask`
* Add sample code in documentation for `MTDomainService` class
* Add sample code in documentation for `MTLiveMessagesService`. Add minimum requirements for `MTLiveMessagesService` in README.md
[`MTLiveMailService`](https://mailtmswift.waseem.works/documentation/mailtmswift/mtlivemailservice) uses Apple's Combine framework to listen for live events. Make sure you use the required minimum version of the platform you're using this package.
/// - auth: ``MTAuth`` struct which holds address and password
50
64
/// - completion: when successful, returns a `Result` type with ``MTAccount`` and ``MTError`` if some error occurred
51
65
/// - Returns: ServiceTask which can be used to cancel on-going http(s) request
66
+
///
67
+
/// Example:
68
+
/// ```swift
69
+
/// let auth = MTAuth(address: "[email protected]", password: "12345678")
70
+
/// let accountService = MTAccountService()
71
+
/// accountService.createAccount(using: auth) { (accountResult: Result<MTAccount, MTError>) in
72
+
/// switch accountResult {
73
+
/// case .success(let account):
74
+
/// print("Created an account \(account)")
75
+
/// case .failure(let error):
76
+
/// print("Error occurred \(error)")
77
+
/// }
78
+
/// }
79
+
/// ```
80
+
/// - Note: This method returns account document but not JWT token. You need JWT token to authorize protected endpoints. To fetch JWT token, use ``MTAccountService/login(using:completion:)``
Copy file name to clipboardExpand all lines: Sources/MailTMSwift/Services/MTMessagesService.swift
+90-2Lines changed: 90 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -29,8 +29,23 @@ open class MTMessageService {
29
29
/// - token: account JWT token
30
30
/// - completion: when successful, returns a completion handler `Result` type of array of``MTMessage`` and ``MTError`` if some error occurred
31
31
/// - Returns: ServiceTask which can be used to cancel on-going http(s) request
32
-
/// - Note: Messages received will not be complete. Use the retreived messages to show a list of messages.
33
-
/// To retreive the complete message, use ``MTMessageService/getMessage(id:token:)``.
32
+
///
33
+
/// Example:
34
+
/// ```swift
35
+
/// let messageService = MTMessageService()
36
+
/// let token = // Account JWT token
37
+
/// messageService.getAllMessages(token: token) { (result: Result<[MTMessage], MTError>) in
38
+
/// switch result {
39
+
/// case .success(let messages):
40
+
/// for message in messages {
41
+
/// print("Message: \(message)")
42
+
/// }
43
+
/// case .failure(let error):
44
+
/// print("Error occurred \(error)")
45
+
/// }
46
+
/// }
47
+
/// ```
48
+
/// - Note: The messages returned by this method does not contain complete information, because it is intended to list the messages as list. To fetch the complete message with the complete information, use ``MTMessageService/getMessage(id:token:)``
@@ -109,6 +170,22 @@ open class MTMessageService {
109
170
/// - token: account JWT token
110
171
/// - completion: when successful, returns a completion handler `Result` type of ``MTMessageSource`` and ``MTError`` if some error occurred
111
172
/// - Returns: ServiceTask which can be used to cancel on-going http(s) request
173
+
///
174
+
/// Example:
175
+
///
176
+
/// ```swift
177
+
/// let messageService = MTMessageService()
178
+
/// let id = // Message ID
179
+
/// let token = // Account JWT token
180
+
/// messageService.getSource(id: id, token: token) { (result: Result<MTMessageSource, MTError>) in
181
+
/// switch result {
182
+
/// case .success(let messageSource):
183
+
/// print("Message source: \(messageSource)")
184
+
/// case .failure(let error):
185
+
/// print("Error occurred \(error)")
186
+
/// }
187
+
/// }
188
+
/// ```
112
189
@discardableResult
113
190
publicfunc getSource(id:String,
114
191
token:String,
@@ -226,6 +303,17 @@ open class MTMessageService {
226
303
/// - id: message id
227
304
/// - token: account JWT Token
228
305
/// - Returns: `URLRequest` configured to retreive message source.
306
+
///
307
+
/// If the size of message is big and you wish to use a downloadTask from URLSession, you can do so manually by using the URLRequest object returned by:
308
+
/// ```swift
309
+
/// let messageService = MTMessageService()
310
+
/// let id = // Message ID
311
+
/// let token = // Account JWT token
312
+
/// let urlRequest = messageService.getSourceRequest(id: id, token: token)
313
+
/// let task = URLSession.shared.downloadTask(with: request)
314
+
/// // handle download task
315
+
/// ```
316
+
///
229
317
/// - Note: This method will return nil, if the message source url is nil.
0 commit comments