Class: QueryBuilder<T, Listing, Relationships, Attributes>
Defined in: schemas/v2/query.ts:74
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:97
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:95
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:84
The options for the request, e.g. pagination and sorting.
resource
readonly
resource:T
Defined in: schemas/v2/query.ts:101
The main resource that this query is for.
Accessors
attributes
Get Signature
get attributes():
Attributes
Defined in: schemas/v2/query.ts:149
The attributes configured for this query.
Returns
Attributes
build
Get Signature
get build(): <
Includes
>(include?
) => <Attributes
>(attributes?
,options?
) =>QueryBuilder
<T
,Listing
,Includes
,Attributes
>
Defined in: schemas/v2/query.ts:330
Deprecated
This will be removed some time after buildQuery has been removed
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
>
params
Get Signature
get params():
URLSearchParams
Defined in: schemas/v2/query.ts:126
The raw search params. Use query for the stringified params.
Returns
URLSearchParams
query
Get Signature
get query():
string
Defined in: schemas/v2/query.ts:142
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:156
The relationships configured for this query.
Returns
Relationships
[]
resourceAttributes
Get Signature
get resourceAttributes():
Attributes
[T
]
Defined in: schemas/v2/query.ts:164
The attributes configured for this query on the main resource. For a campaign query, this will be the campaign attributes of the query.
Returns
Attributes
[T
]
schemaRelationships
Get Signature
get schemaRelationships(): readonly
RelationshipFields
<T
>[]
Defined in: schemas/v2/query.ts:172
The relationships that can be defined on this resource. In the Patreon documentation, see the list of relations on a resource.
Returns
readonly RelationshipFields
<T
>[]
schemaResourceAttributes
Get Signature
get schemaResourceAttributes(): readonly keyof
ItemMap
[T
][]
Defined in: schemas/v2/query.ts:180
The attributes that can be defined for this resource. In the Patreon documentation, see the list of properties on a resource.
Returns
readonly keyof ItemMap
[T
][]
campaign
Get Signature
get
static
campaign():QueryBuilder
<Campaign
,false
,never
, { }>
Defined in: schemas/v2/query.ts:288
Returns
QueryBuilder
<Campaign
, false
, never
, { }>
campaignMembers
Get Signature
get
static
campaignMembers():QueryBuilder
<Member
,true
,never
, { }>
Defined in: schemas/v2/query.ts:292
Returns
QueryBuilder
<Member
, true
, never
, { }>
campaignPosts
Get Signature
get
static
campaignPosts():QueryBuilder
<Post
,true
,never
, { }>
Defined in: schemas/v2/query.ts:296
Returns
QueryBuilder
<Post
, true
, never
, { }>
campaigns
Get Signature
get
static
campaigns():QueryBuilder
<Campaign
,true
,never
, { }>
Defined in: schemas/v2/query.ts:300
Returns
QueryBuilder
<Campaign
, true
, never
, { }>
identity
Get Signature
get
static
identity():QueryBuilder
<User
,false
,never
, { }>
Defined in: schemas/v2/query.ts:304
Returns
QueryBuilder
<User
, false
, never
, { }>
member
Get Signature
get
static
member():QueryBuilder
<Member
,false
,never
, { }>
Defined in: schemas/v2/query.ts:308
Returns
QueryBuilder
<Member
, false
, never
, { }>
post
Get Signature
get
static
post():QueryBuilder
<Post
,false
,never
, { }>
Defined in: schemas/v2/query.ts:312
Returns
QueryBuilder
<Post
, false
, never
, { }>
webhooks
Get Signature
get
static
webhooks():QueryBuilder
<Webhook
,true
,never
, { }>
Defined in: schemas/v2/query.ts:316
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:243
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:231
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:190
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:213
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:205
Returns
QueryBuilder
<T
, Listing
, RelationshipFields
<T
>, Attributes
>
setAttributes()
setAttributes<
A
>(attributes
):QueryBuilder
<T
,Listing
,Relationships
,A
>
Defined in: schemas/v2/query.ts:222
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:269
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:237
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:199
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:374
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:387
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:325
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:341
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
>
Deprecated
createRelationMap()
static
createRelationMap<T
>(type
):{ [R in never]: RelationshipFieldToFieldType<T, R> }
Defined in: schemas/v2/query.ts:362
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:398
Type Parameters
Q
Q
extends BasePatreonQueryType
<Type
, boolean
>
Parameters
params
URLSearchParams
Returns
Q