DKRouter
public enum DKRouter : URLRequestConvertible
Route network traffic across all supported API endpoints for Dropmark
-
The domain and path for all endpoints on the Dropmark API. Defaults to “https://api.dropmark.com/v1”, and may be modified for different API versions.
Declaration
Swift
public static var baseURLString: String
-
The number of objects to list per page request. Defaults to 24
Declaration
Swift
public static var pageSize: Int
-
Get a list of the most recently updated items across a user’s teams and personal accounts. Returns a
DKItem
list.Declaration
Swift
case activity(parameters: Parameters?)
-
Pass in an email and password, and get a user object containing the
token
necessary to authenticate requests on behalf of the user. Returns aDKUser
object.Declaration
Swift
case authenticate(parameters: Parameters)
-
Get a list of collections. Returns a
DKCollection
list.Declaration
Swift
case listCollections(queryParameters: Parameters?)
-
Create a collection. Returns a
DKCollection
object.Declaration
Swift
case createCollection(bodyParameters: Parameters?)
-
Get a single collection. Returns a
DKCollection
object.Declaration
Swift
case getCollection(id: NSNumber)
-
Update a single collection. Returns a
DKCollection
object.Declaration
Swift
case updateCollection(id: NSNumber, bodyParameters: Parameters)
-
Delete a single collection. Returns only a 200 response.
Declaration
Swift
case deleteCollection(id: NSNumber)
-
Get the total number of collections available to the user. Returns an integer.
Declaration
Swift
case getCollectionsCount
-
Get the total number of items in a collection. Returns an integer.
Declaration
Swift
case getItemsCountForCollection(id: NSNumber)
-
Get a list of users with permission to access the collection. Returns a
DKUser
list.Declaration
Swift
case listCollaboratorsInCollection(id: NSNumber)
-
Give a user access to a collection (only works if the current user has permission)
Declaration
Swift
case addCollaboratorToCollection(id: NSNumber, bodyParameters: Parameters)
-
Remove a user’s access to a collection (only works if the current user has permission). Returns only a 200 response.
Declaration
Swift
case removeCollaboratorFromCollection(userID: NSNumber, collectionID: NSNumber)
-
Get a list of comments associated with an item. Returns a
DKComment
list.Declaration
Swift
case listCommentsForItem(itemID: NSNumber)
-
Add a comment to an item. Returns a
DKComment
object.Declaration
Swift
case createCommentForItem(itemID: NSNumber, bodyParameters: Parameters)
-
Update a comment. Returns a
DKComment
object.Declaration
Swift
case updateComment(id: NSNumber, bodyParameters: Parameters)
-
Delete a comment. Returns only a 200 response.
Declaration
Swift
case deleteComment(id: NSNumber)
-
Get a list of emails associated with the current user. Returns a
String
list.Declaration
Swift
case listEmails
-
Add an email for the current user
Declaration
Swift
case createEmail(email: String)
-
Delete an email for the current user
Declaration
Swift
case deleteEmail(id: NSNumber)
-
Get a list of all items matching the query parameters. Returns a
DKItem
list.Declaration
Swift
case listItems(queryParameters: Parameters?)
-
Get a list of all child items in a collection (adding a
parent_id
will filter in a stack). Returns aDKItem
list.Declaration
Swift
case listItemsInCollection(id: NSNumber, queryParameters: Parameters?)
-
Create a new item in a parent collection. Returns a
DKItem
object.Declaration
Swift
case createItemInCollection(id: NSNumber, bodyParameters: Parameters)
-
Update multiple items within a collection. Returns a
DKItem
list.Declaration
Swift
case updateItemsInCollection(id: NSNumber, bodyParameters: Parameters)
-
Update multiple items. Returns a
DKItem
list.Declaration
Swift
case updateItems(bodyParameters: Parameters)
-
Get a single item. Returns a
DKItem
object.Declaration
Swift
case getItem(id: NSNumber, queryParameters: Parameters?)
-
Update a single item. Returns a
DKItem
object.Declaration
Swift
case updateItem(id: NSNumber, bodyParameters: Parameters?)
-
Delete a single item. Returns only a 200 response.
Declaration
Swift
case deleteItem(id: NSNumber, bodyParameters: Parameters?)
-
Delete multiple items within a parent collection. Returns only a 200 response.
Declaration
Swift
case deleteItemsInCollection(id: NSNumber, bodyParameters: Parameters)
-
Duplicate an item(s) within a parent collection. Returns a
DKItem
list.Declaration
Swift
case copyItems(bodyParameters: Parameters)
-
Get a list of reactions associated with an item. Returns a
DKReaction
list.Declaration
Swift
case listReactionsForItem(itemID: NSNumber)
-
Create a reaction for an item. Returns a
DKReaction
object.Declaration
Swift
case createReactionForItem(itemID: NSNumber)
-
Delete a reaction. Returns only a 200 response.
Declaration
Swift
case deleteReaction(id: NSNumber)
-
Run a search for collections, items, comments, reactions, and invites using the
q
parameter. Note: Be sure to use theDKResponseListAny
serializer to accept varying object types. Returns a list containing ‘DKCollection’, ‘DKItem’, ‘DKComment’, ‘DKReaction’, and ‘DKInvite’ objects.Declaration
Swift
case search(queryParameters: Parameters?)
-
Get a list of tags associated with the current user. Returns a
DKTag
list.Declaration
Swift
case listTags
-
Get a list of tags applied to the specified item. Returns a
DKTag
list.Declaration
Swift
case listTagsForItem(itemID: NSNumber)
-
Create a new tag and apply it to the specified item. Returns a
DKTag
object.Declaration
Swift
case createTagForItem(itemID: NSNumber, name: String)
-
Delete a tag. Returns only a 200 response.
Declaration
Swift
case deleteTag(id: NSNumber)
-
Get a list of teams the current user belongs to. Returns a
DKTeam
list.Declaration
Swift
case listTeams(queryParameters: Parameters?)
-
Get a specified team, if visible to the current user. Returns a
DKTeam
object.Declaration
Swift
case getTeam(id: NSNumber)
-
Update a team. Returns a
DKTeam
object.Declaration
Swift
case updateTeam(id: NSNumber, bodyParameters: Parameters)
-
List all users belonging to the specified team. Returns a
DKUser
list.Declaration
Swift
case listUsersInTeam(id: NSNumber)
-
Add a user to a team. Returns a
DKUser
object.Declaration
Swift
case createUserInTeam(id: NSNumber, bodyParameters: Parameters)
-
Update a user within a team. Returns a
DKUser
object.Declaration
Swift
case updateUserInTeam(teamID: NSNumber, userID: NSNumber, bodyParameters: Parameters)
-
Remove a user from a team. Returns only a 200 response.
Declaration
Swift
case deleteUserInTeam(teamID: NSNumber, userID: NSNumber)
-
Create a user (aka register a new account). Returns a
DKUser
object.Declaration
Swift
case createUser(bodyParameters: Parameters)
-
Get the user object for the current user. NOTE: The user object returned by this endpoint will not contain a ‘token’ for authentication. Returns a
DKUser
object.Declaration
Swift
case getUser(queryParameters: Parameters?)
-
Update information for the current user. Returns a
DKUser
object.Declaration
Swift
case updateUser(bodyParameters: Parameters)
-
Get a list of users associated with the current user
Declaration
Swift
case listContacts
-
Check if an email is available for registration. Returns a
Bool
value.Declaration
Swift
case getEmailAvailability(email: String)
-
Check if a username is available for registration. Returns a
Bool
value.Declaration
Swift
case getUsernameAvailability(username: String)
-
Use this endpoint to get an upload signature for direct uploads to Amazon S3
Declaration
Swift
case createUploadSignature(bodyParameters: Parameters)
-
Returns a URL request or throws if an
Error
was encountered.- Throws: An `Error` if the underlying `URLRequest` is `nil`. - Returns: A URL request.
Declaration
Swift
public func asURLRequest() throws -> URLRequest
-
To access API resources, an API token is required in the header of all requests. To authenticate with this function, first set the
DKRouter.apiToken
variable. Then pass a reference to a request through.Throws
Returns an error if no API token is found
Declaration
Swift
public static func authenticateAPIRequest(_ urlRequest: inout URLRequest) throws
Parameters
urlRequest
A reference to a
URLRequest
-
To authorize requests on behalf of a user, the user’s private token must be encoded and supplied in the
Authorization
header. To authorize a user’s request for the duration of the app session, set an authenticated user toDKRouter.user
.Throws
Returns errors if no user or user token are found
Declaration
Swift
public static func authorizeUserRequest(_ urlRequest: inout URLRequest) throws
Parameters
urlRequest
A reference to a
URLRequest