BaseQuery

View as Markdown

BaseQuery

A concrete implementation of BaseQuery which serves as the base class for `Query`, `ContentTypeQuery` and `AssetQuery`.

find(_:)

This is a generic find method which can be used to fetch collections of ContentType, Entry, and Asset instances.

NameTypeDescription
completion (required)ResultsHandler<ContentstackResponse<ResourceType>>

A handler which will be called on completion of the operation.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

where(valueAtKeyPath:_:)

Method to adding Query.

NameTypeDescription
keyPath (required)string

Key path for field uid.

operation (required)Query.Operation

The query operation used in the query.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.where(valueAtKeyPath: "<FIELD_UID>", .equals("Field condition"))

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.where(valueAtKeyPath: "<FIELD_UID>", .equals("Field condition"))

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.where(valueAtKeyPath: "<FIELD_UID>", .equals("Field condition"))

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

skip(theFirst:)

Instance method to mutating query to skip the first n records.

NameTypeDescription
numberOfResults (required)UInt

The number of results that will be skipped in the query.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.skip(theFirst: 20)

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.skip(theFirst: 20)

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.skip(theFirst: 20)

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

limit(to:)

Instance method to mutating query to limit response to contain n values.

NameTypeDescription
numberOfResults (required)UInt

The number of results the response will be limited to.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.limit(to: 20)

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.limit(to: 20)

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.limit(to: 20)

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

orderByAscending(keyPath:)

Instance method to ordering the response in ascending for specific field.

NameTypeDescription
keyPath (required)String

The key path for the property you are performing ordering.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.orderByAscending(keyPath: “<FIELD_UID>”)

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.orderByAscending(keyPath: “<FIELD_UID>”)

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.orderByAscending(keyPath: “<FIELD_UID>”)

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

orderByDecending(keyPath:)

Instance method to ordering the response in descending for specific field.

NameTypeDescription
keyPath (required)String

The key path for the property you are performing ordering.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.orderByDecending(keyPath: “<FIELD_UID>”)

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.orderByDecending(keyPath: “<FIELD_UID>”)

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.orderByDecending(keyPath: “<FIELD_UID>”)

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

addURIParam(dictionary:)

The parameters dictionary that are converted to URLComponents.

NameTypeDescription
dictionary (required)[String : Any]

The dictionary for URLComponents

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.addURIParam(dictionary: ["key": "value"])

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.addURIParam(dictionary: ["key": "value"])

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.addURIParam(dictionary: ["key": "value"])

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

addURIParam(with:value:)

The parameters dictionary that are converted to URLComponents.

NameTypeDescription
key (required)string

The key for query parameter,

valuestring

The value for query parameter.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.addURIParam(with: “key”, value: “value”)

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.addURIParam(with: “key”, value: “value”)

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.addURIParam(with: “key”, value: “value”)

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

addQuery(dictionary:)

The Query parameters dictionary that are converted to URLComponents.

NameTypeDescription
dictionary (required)[String : Any]

The dictionary for URLComponents

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.addQuery(dictionary: ["key": "value"])

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.addQuery(dictionary: ["key": "value"])

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.addQuery(dictionary: ["key": "value"])

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

addQuery(with:value:)

The Query parameters dictionary that are converted to URLComponents.

NameTypeDescription
key (required)string

The key for query parameter.

value (required)Any

The value for query parameter.

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType(uid: "<CONTENT_TYPE_UID>").entry().query()

.addQuery(with: "key", value: "value")

.find { (result: Result<ContentstackResponse<EntryModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.contentType().query()

.addQuery(with: "key", value: "value")

.find { (result: Result<ContentstackResponse<ContentTypeModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}

let stack = Contentstack.stack(apiKey: "<API_KEY>", deliveryToken: "<DELIVERY_TOKEN>", environment: "<ENVIRNOMENT>")


stack.asset().query()

.addQuery(with: "key", value: "value")

.find { (result: Result<ContentstackResponse<AssetModel>, Error>, response: ResponseType) in

   switch result {

    case .success(let contentstackResponse):


    case .failure(let error):


   }

}