Class: QueryBuilder<T, Listing, Relationships, Attributes>
Defined in: schemas/v2/query.ts:79
Type Parameters
T
T
extends Type
Listing
Listing
extends boolean
Relationships
Relationships
extends RelationshipFields
<T
> = never
Attributes
Attributes
extends RelationshipMap
<T
, Relationships
> = { }
Constructors
Constructor
new QueryBuilder<
T
,Listing
,Relationships
,Attributes
>(resource
,isListing
):QueryBuilder
<T
,Listing
,Relationships
,Attributes
>
Defined in: schemas/v2/query.ts:102
Parameters
resource
T
The main resource that this query is for.
isListing
Listing
Whether this query is for listing the resource or only for for getting a single item of the resource.
Returns
QueryBuilder
<T
, Listing
, Relationships
, Attributes
>
Properties
_payload_type
readonly
_payload_type:RequestPayload
<T
,Relationships
,Attributes
,Listing
>
Defined in: schemas/v2/query.ts:100
The type to use for extracting the payload type.
Do not use as the actual payload as it is an empty string and will not contain the actual payload.
requestOptions
requestOptions:
undefined
|QueryRequestOptions
=undefined
Defined in: schemas/v2/query.ts:89
The options for the request, e.g. pagination and sorting.
resource
readonly
resource:T
Defined in: schemas/v2/query.ts:106
The main resource that this query is for.
Accessors
attributes
Get Signature
get attributes():
Attributes
Defined in: schemas/v2/query.ts:149
Returns
Attributes
params
Get Signature
get params():
URLSearchParams
Defined in: schemas/v2/query.ts:131
The raw search params. Use query for the stringified params.
Returns
URLSearchParams
query
Get Signature
get query():
string
Defined in: schemas/v2/query.ts:145
The actual encoded query string.
Example
`'?fields%5Buser%5D=url%2Cname'`
Returns
string
relationships
Get Signature
get relationships():
Relationships
[]
Defined in: schemas/v2/query.ts:153
Returns
Relationships
[]
campaign
Get Signature
get
static
campaign():QueryBuilder
<Campaign
,false
,never
, { }>
Defined in: schemas/v2/query.ts:261
Returns
QueryBuilder
<Campaign
, false
, never
, { }>
campaignMembers
Get Signature
get
static
campaignMembers():QueryBuilder
<Member
,true
,never
, { }>
Defined in: schemas/v2/query.ts:265
Returns
QueryBuilder
<Member
, true
, never
, { }>
campaignPosts
Get Signature
get
static
campaignPosts():QueryBuilder
<Post
,true
,never
, { }>
Defined in: schemas/v2/query.ts:269
Returns
QueryBuilder
<Post
, true
, never
, { }>
campaigns
Get Signature
get
static
campaigns():QueryBuilder
<Campaign
,true
,never
, { }>
Defined in: schemas/v2/query.ts:273
Returns
QueryBuilder
<Campaign
, true
, never
, { }>
identity
Get Signature
get
static
identity():QueryBuilder
<User
,false
,never
, { }>
Defined in: schemas/v2/query.ts:277
Returns
QueryBuilder
<User
, false
, never
, { }>
member
Get Signature
get
static
member():QueryBuilder
<Member
,false
,never
, { }>
Defined in: schemas/v2/query.ts:281
Returns
QueryBuilder
<Member
, false
, never
, { }>
post
Get Signature
get
static
post():QueryBuilder
<Post
,false
,never
, { }>
Defined in: schemas/v2/query.ts:285
Returns
QueryBuilder
<Post
, false
, never
, { }>
webhooks
Get Signature
get
static
webhooks():QueryBuilder
<Webhook
,true
,never
, { }>
Defined in: schemas/v2/query.ts:289
Returns
QueryBuilder
<Webhook
, true
, never
, { }>
Methods
addRelationshipAttributes()
addRelationshipAttributes<
R
,A
>(relationship
,attributes
):QueryBuilder
<T
,Listing
,Relationships
|R
,Attributes
& { [Item in never]: (Attributes extends { [K in never]: any } ? Attributes<Attributes>[RelationshipFieldToFieldType<T, R>][number] | A[number] : A[number])[] }>
Defined in: schemas/v2/query.ts:216
Type Parameters
R
R
extends never
A
A
extends keyof ItemMap
[RelationshipFieldToFieldType
<T
, R
>][]
Parameters
relationship
R
attributes
A
Returns
QueryBuilder
<T
, Listing
, Relationships
| R
, Attributes
& { [Item in never]: (Attributes extends { [K in never]: any } ? Attributes<Attributes>[RelationshipFieldToFieldType<T, R>][number] | A[number] : A[number])[] }>
addRelationships()
addRelationships<
R
>(relationships
):QueryBuilder
<T
,Listing
,Relationships
|R
,Attributes
>
Defined in: schemas/v2/query.ts:204
Type Parameters
R
R
extends never
Parameters
relationships
R
[]
Returns
QueryBuilder
<T
, Listing
, Relationships
| R
, Attributes
>
attributesFor()
attributesFor<
R
>(relationship
):undefined
|Attributes
[RelationshipFieldToFieldType
<T
,R
>]
Defined in: schemas/v2/query.ts:163
Gets the attributes configured for a relationship
Type Parameters
R
R
extends never
Parameters
relationship
R
The name of the relationship
Returns
undefined
| Attributes
[RelationshipFieldToFieldType
<T
, R
>]
The attributes, or undefined for no attributes
Throws
When using an invalid relationship for the current resource
includeAll()
includeAll():
QueryBuilder
<T
,Listing
,RelationshipFields
<T
>,Required
<RelationshipMap
<T
,RelationshipFields
<T
>>>>
Defined in: schemas/v2/query.ts:186
Returns
QueryBuilder
<T
, Listing
, RelationshipFields
<T
>, Required
<RelationshipMap
<T
, RelationshipFields
<T
>>>>
includeAllRelationships()
includeAllRelationships():
QueryBuilder
<T
,Listing
,RelationshipFields
<T
>,Attributes
>
Defined in: schemas/v2/query.ts:178
Returns
QueryBuilder
<T
, Listing
, RelationshipFields
<T
>, Attributes
>
setAttributes()
setAttributes<
A
>(attributes
):QueryBuilder
<T
,Listing
,Relationships
,A
>
Defined in: schemas/v2/query.ts:195
Type Parameters
A
A
extends RelationshipMap
<T
, Relationships
>
Parameters
attributes
A
Returns
QueryBuilder
<T
, Listing
, Relationships
, A
>
setRelationshipAttributes()
setRelationshipAttributes<
R
,A
>(relationship
,attributes
):QueryBuilder
<T
,Listing
,Relationships
|R
,Attributes
extends{ [K in never]: unknown }
?Omit
<Attributes
<Attributes
>,`${RelationshipFieldToFieldType<T, R>}`
> :Attributes
&{ [K in never]: A }
>
Defined in: schemas/v2/query.ts:242
Type Parameters
R
R
extends never
A
A
extends keyof ItemMap
[RelationshipFieldToFieldType
<T
, R
>][]
Parameters
relationship
R
attributes
A
Returns
QueryBuilder
<T
, Listing
, Relationships
| R
, Attributes
extends { [K in never]: unknown }
? Omit
<Attributes
<Attributes
>, `${RelationshipFieldToFieldType<T, R>}`
> : Attributes
& { [K in never]: A }
>
setRelationships()
setRelationships<
R
>(relationships
):QueryBuilder
<T
,Listing
,R
,Attributes
>
Defined in: schemas/v2/query.ts:210
Type Parameters
R
R
extends never
Parameters
relationships
R
[]
Returns
QueryBuilder
<T
, Listing
, R
, Attributes
>
setRequestOptions()
setRequestOptions(
options
):this
Defined in: schemas/v2/query.ts:172
Set the request options for this query
Parameters
options
The options for pagination, sorting, etc
Returns
this
convertRelationToType()
static
convertRelationToType<T
,R
>(type
,relation
):RelationshipFieldToFieldType
<T
,R
>
Defined in: schemas/v2/query.ts:341
Convert a relationship name to a resource name
Type Parameters
T
T
extends "address"
| "benefit"
| "campaign"
| "client"
| "deliverable"
| "goal"
| "media"
| "member"
| "post"
| "pledge-event"
| "tier"
| "user"
| "webhook"
R
R
extends never
Parameters
type
T
The resource that holds the relationship
relation
R
The name of the relationship to find the resource name of
Returns
RelationshipFieldToFieldType
<T
, R
>
Throws
When using an invalid type
convertTypeToRelation()
static
convertTypeToRelation<T
,R
>(type
,relationType
):RelationshipTypeToRelationshipField
<T
,R
>
Defined in: schemas/v2/query.ts:354
Convert a relation resource name to a relationship name
Type Parameters
T
T
extends "address"
| "benefit"
| "campaign"
| "client"
| "deliverable"
| "goal"
| "media"
| "member"
| "post"
| "pledge-event"
| "tier"
| "user"
| "webhook"
R
R
extends never
Parameters
type
T
The resource that holds the relationship
relationType
R
The resource name of the relationship to find the relationship name of
Returns
RelationshipTypeToRelationshipField
<T
, R
>
Throws
When using an invalid type or unknown relation type
createCompleteOptions()
static
createCompleteOptions<T
>(resource
):object
Defined in: schemas/v2/query.ts:298
Get all options that can be included in a query
Type Parameters
T
T
extends Type
Parameters
resource
T
The resource to get the options for
Returns
object
the relationship names in include
and the attributes in attributes
attributes
attributes:
RelationshipMap
<T
,RelationshipFields
<T
>>
include
include:
RelationshipFields
<T
>[]
createFunctionBuilder()
static
createFunctionBuilder<T
,Listing
>(builder
): <Includes
>(include?
) => <Attributes
>(attributes?
,options?
) =>QueryBuilder
<T
,Listing
,Includes
,Attributes
>
Defined in: schemas/v2/query.ts:308
Create a function builder from a query builder.
This is to support the legacy buildQuery
.
Type Parameters
T
T
extends Type
Listing
Listing
extends boolean
Parameters
builder
QueryBuilder
<T
, Listing
>
The query builder to convert
Returns
<
Includes
>(include?
): <Attributes
>(attributes?
,options?
) =>QueryBuilder
<T
,Listing
,Includes
,Attributes
>
Type Parameters
Includes
Includes
extends never
= never
Parameters
include?
Includes
[]
Returns
<
Attributes
>(attributes?
,options?
):QueryBuilder
<T
,Listing
,Includes
,Attributes
>
Type Parameters
Attributes
Attributes
extends RelationshipMap
<T
, Includes
>
Parameters
attributes?
Attributes
options?
Returns
QueryBuilder
<T
, Listing
, Includes
, Attributes
>
createRelationMap()
static
createRelationMap<T
>(type
):{ [R in never]: RelationshipFieldToFieldType<T, R> }
Defined in: schemas/v2/query.ts:329
Create a record to convert relation names to resources.
Type Parameters
T
T
extends "address"
| "benefit"
| "campaign"
| "client"
| "deliverable"
| "goal"
| "media"
| "member"
| "post"
| "pledge-event"
| "tier"
| "user"
| "webhook"
Parameters
type
T
The resource to create the map for
Returns
{ [R in never]: RelationshipFieldToFieldType<T, R> }
Throws
When using an invalid type
fromParams()
static
fromParams<Q
>(params
):Q
Defined in: schemas/v2/query.ts:365
Type Parameters
Q
Q
extends BasePatreonQueryType
<Type
, boolean
>
Parameters
params
URLSearchParams
Returns
Q