2500 lines
69 KiB
TypeScript
2500 lines
69 KiB
TypeScript
/**
|
|
* ---------------------------------------------------------------------------------
|
|
* This file has been generated by Sanity TypeGen.
|
|
* Command: `sanity typegen generate`
|
|
*
|
|
* Any modifications made directly to this file will be overwritten the next time
|
|
* the TypeScript definitions are generated. Please make changes to the Sanity
|
|
* schema definitions and/or GROQ queries if you need to update these types.
|
|
*
|
|
* For more information on how to use Sanity TypeGen, visit the official documentation:
|
|
* https://www.sanity.io/docs/sanity-typegen
|
|
* ---------------------------------------------------------------------------------
|
|
*/
|
|
|
|
// Source: ../trptk-sanity/schema.json
|
|
export type ReleaseReference = {
|
|
_ref: string;
|
|
_type: "reference";
|
|
_weak?: boolean;
|
|
[internalGroqTypeReferenceTo]?: "release";
|
|
};
|
|
|
|
export type ArtistReference = {
|
|
_ref: string;
|
|
_type: "reference";
|
|
_weak?: boolean;
|
|
[internalGroqTypeReferenceTo]?: "artist";
|
|
};
|
|
|
|
export type ComposerReference = {
|
|
_ref: string;
|
|
_type: "reference";
|
|
_weak?: boolean;
|
|
[internalGroqTypeReferenceTo]?: "composer";
|
|
};
|
|
|
|
export type Settings = {
|
|
_id: string;
|
|
_type: "settings";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
title?: string;
|
|
featuredAlbum?: ReleaseReference;
|
|
featuredArtist?: ArtistReference;
|
|
featuredComposer?: ComposerReference;
|
|
};
|
|
|
|
export type SanityImageAssetReference = {
|
|
_ref: string;
|
|
_type: "reference";
|
|
_weak?: boolean;
|
|
[internalGroqTypeReferenceTo]?: "sanity.imageAsset";
|
|
};
|
|
|
|
export type SanityFileAssetReference = {
|
|
_ref: string;
|
|
_type: "reference";
|
|
_weak?: boolean;
|
|
[internalGroqTypeReferenceTo]?: "sanity.fileAsset";
|
|
};
|
|
|
|
export type WorkReference = {
|
|
_ref: string;
|
|
_type: "reference";
|
|
_weak?: boolean;
|
|
[internalGroqTypeReferenceTo]?: "work";
|
|
};
|
|
|
|
export type Release = {
|
|
_id: string;
|
|
_type: "release";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
name?: string;
|
|
albumArtist?: string;
|
|
catalogNo?: string;
|
|
slug?: Slug;
|
|
upc?: string;
|
|
releaseDate?: string;
|
|
format?: "single" | "ep" | "album" | "boxset";
|
|
label?: "TRPTK" | "other";
|
|
shortDescription?: string;
|
|
description?: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}>;
|
|
albumCover?: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
};
|
|
bookletPdf?: {
|
|
asset?: SanityFileAssetReference;
|
|
media?: unknown;
|
|
_type: "file";
|
|
};
|
|
tracks?: Array<{
|
|
work?: WorkReference;
|
|
movement?: string;
|
|
displayTitle?: string;
|
|
artist?: string;
|
|
duration?: string;
|
|
previewMp3?: {
|
|
asset?: SanityFileAssetReference;
|
|
media?: unknown;
|
|
_type: "file";
|
|
};
|
|
_type: "track";
|
|
_key: string;
|
|
}>;
|
|
officialUrl?: string;
|
|
spotifyUrl?: string;
|
|
appleMusicUrl?: string;
|
|
deezerUrl?: string;
|
|
amazonMusicUrl?: string;
|
|
tidalUrl?: string;
|
|
qobuzUrl?: string;
|
|
nativeDsdUrl?: string;
|
|
credits?: Array<{
|
|
role?: string;
|
|
name?: string;
|
|
_type: "credit";
|
|
_key: string;
|
|
}>;
|
|
recordingDate?: string;
|
|
recordingLocation?: string;
|
|
recordingFormat?: "PCM 352.8 kHz 24 bit" | "PCM 352.8 kHz 32 bit" | "DSD 11.2 MHz 1 bit";
|
|
masteringFormat?: "PCM 352.8 kHz 32 bit" | "PCM 352.8 kHz 64 bit" | "DSD 11.2 MHz 1 bit";
|
|
equipment?: Array<{
|
|
type?: string;
|
|
name?: string;
|
|
_type: "equipmentItem";
|
|
_key: string;
|
|
}>;
|
|
genre?: Array<
|
|
| "earlyMusic"
|
|
| "baroque"
|
|
| "classical"
|
|
| "romantic"
|
|
| "contemporary"
|
|
| "worldMusic"
|
|
| "jazz"
|
|
| "crossover"
|
|
| "electronic"
|
|
| "minimal"
|
|
| "popRock"
|
|
>;
|
|
instrumentation?: Array<"solo" | "chamber" | "ensemble" | "orchestra" | "vocalChoral">;
|
|
artists?: Array<
|
|
{
|
|
_key: string;
|
|
} & ArtistReference
|
|
>;
|
|
reviews?: Array<{
|
|
quote?: string;
|
|
author?: string;
|
|
_type: "review";
|
|
_key: string;
|
|
}>;
|
|
availableVariants?: Array<string>;
|
|
};
|
|
|
|
export type SanityImageCrop = {
|
|
_type: "sanity.imageCrop";
|
|
top?: number;
|
|
bottom?: number;
|
|
left?: number;
|
|
right?: number;
|
|
};
|
|
|
|
export type SanityImageHotspot = {
|
|
_type: "sanity.imageHotspot";
|
|
x?: number;
|
|
y?: number;
|
|
height?: number;
|
|
width?: number;
|
|
};
|
|
|
|
export type Slug = {
|
|
_type: "slug";
|
|
current?: string;
|
|
source?: string;
|
|
};
|
|
|
|
export type Work = {
|
|
_id: string;
|
|
_type: "work";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
title?: string;
|
|
composer?: ComposerReference;
|
|
arranger?: ComposerReference;
|
|
slug?: Slug;
|
|
description?: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}>;
|
|
};
|
|
|
|
export type Concert = {
|
|
_id: string;
|
|
_type: "concert";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
title?: string;
|
|
subtitle?: string;
|
|
date?: string;
|
|
time?: string;
|
|
locationName?: string;
|
|
city?: string;
|
|
country?:
|
|
| "AF"
|
|
| "AL"
|
|
| "DZ"
|
|
| "AD"
|
|
| "AO"
|
|
| "AG"
|
|
| "AR"
|
|
| "AM"
|
|
| "AU"
|
|
| "AT"
|
|
| "AZ"
|
|
| "BS"
|
|
| "BH"
|
|
| "BD"
|
|
| "BB"
|
|
| "BY"
|
|
| "BE"
|
|
| "BZ"
|
|
| "BJ"
|
|
| "BT"
|
|
| "BO"
|
|
| "BA"
|
|
| "BW"
|
|
| "BR"
|
|
| "BN"
|
|
| "BG"
|
|
| "BF"
|
|
| "BI"
|
|
| "CV"
|
|
| "KH"
|
|
| "CM"
|
|
| "CA"
|
|
| "CF"
|
|
| "TD"
|
|
| "CL"
|
|
| "CN"
|
|
| "CO"
|
|
| "KM"
|
|
| "CD"
|
|
| "CG"
|
|
| "CR"
|
|
| "HR"
|
|
| "CU"
|
|
| "CY"
|
|
| "CZ"
|
|
| "DK"
|
|
| "DJ"
|
|
| "DM"
|
|
| "DO"
|
|
| "EC"
|
|
| "EG"
|
|
| "SV"
|
|
| "GQ"
|
|
| "ER"
|
|
| "EE"
|
|
| "SZ"
|
|
| "ET"
|
|
| "FJ"
|
|
| "FI"
|
|
| "FR"
|
|
| "GA"
|
|
| "GM"
|
|
| "GE"
|
|
| "DE"
|
|
| "GH"
|
|
| "GR"
|
|
| "GD"
|
|
| "GT"
|
|
| "GN"
|
|
| "GW"
|
|
| "GY"
|
|
| "HT"
|
|
| "HN"
|
|
| "HU"
|
|
| "IS"
|
|
| "IN"
|
|
| "ID"
|
|
| "IR"
|
|
| "IQ"
|
|
| "IE"
|
|
| "IL"
|
|
| "IT"
|
|
| "CI"
|
|
| "JM"
|
|
| "JP"
|
|
| "JO"
|
|
| "KZ"
|
|
| "KE"
|
|
| "KI"
|
|
| "XK"
|
|
| "KW"
|
|
| "KG"
|
|
| "LA"
|
|
| "LV"
|
|
| "LB"
|
|
| "LS"
|
|
| "LR"
|
|
| "LY"
|
|
| "LI"
|
|
| "LT"
|
|
| "LU"
|
|
| "MG"
|
|
| "MW"
|
|
| "MY"
|
|
| "MV"
|
|
| "ML"
|
|
| "MT"
|
|
| "MH"
|
|
| "MR"
|
|
| "MU"
|
|
| "MX"
|
|
| "FM"
|
|
| "MD"
|
|
| "MC"
|
|
| "MN"
|
|
| "ME"
|
|
| "MA"
|
|
| "MZ"
|
|
| "MM"
|
|
| "NA"
|
|
| "NR"
|
|
| "NP"
|
|
| "NL"
|
|
| "NZ"
|
|
| "NI"
|
|
| "NE"
|
|
| "NG"
|
|
| "KP"
|
|
| "MK"
|
|
| "NO"
|
|
| "OM"
|
|
| "PK"
|
|
| "PW"
|
|
| "PS"
|
|
| "PA"
|
|
| "PG"
|
|
| "PY"
|
|
| "PE"
|
|
| "PH"
|
|
| "PL"
|
|
| "PT"
|
|
| "QA"
|
|
| "RO"
|
|
| "RU"
|
|
| "RW"
|
|
| "KN"
|
|
| "LC"
|
|
| "VC"
|
|
| "WS"
|
|
| "SM"
|
|
| "ST"
|
|
| "SA"
|
|
| "SN"
|
|
| "RS"
|
|
| "SC"
|
|
| "SL"
|
|
| "SG"
|
|
| "SK"
|
|
| "SI"
|
|
| "SB"
|
|
| "SO"
|
|
| "ZA"
|
|
| "KR"
|
|
| "SS"
|
|
| "ES"
|
|
| "LK"
|
|
| "SD"
|
|
| "SR"
|
|
| "SE"
|
|
| "CH"
|
|
| "SY"
|
|
| "TW"
|
|
| "TJ"
|
|
| "TZ"
|
|
| "TH"
|
|
| "TL"
|
|
| "TG"
|
|
| "TO"
|
|
| "TT"
|
|
| "TN"
|
|
| "TR"
|
|
| "TM"
|
|
| "TV"
|
|
| "UG"
|
|
| "UA"
|
|
| "AE"
|
|
| "GB"
|
|
| "US"
|
|
| "UY"
|
|
| "UZ"
|
|
| "VU"
|
|
| "VA"
|
|
| "VE"
|
|
| "VN"
|
|
| "YE"
|
|
| "ZM"
|
|
| "ZW";
|
|
artists?: Array<
|
|
{
|
|
_key: string;
|
|
} & ArtistReference
|
|
>;
|
|
ticketUrl?: string;
|
|
};
|
|
|
|
export type Composer = {
|
|
_id: string;
|
|
_type: "composer";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
name?: string;
|
|
sortKey?: string;
|
|
birthYear?: number;
|
|
deathYear?: number;
|
|
slug?: Slug;
|
|
image?: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
};
|
|
bio?: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}>;
|
|
};
|
|
|
|
export type Blog = {
|
|
_id: string;
|
|
_type: "blog";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
title?: string;
|
|
subtitle?: string;
|
|
featuredImage?: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
};
|
|
slug?: Slug;
|
|
author?: "Brendon Heinst" | "Maya Fridman";
|
|
publishDate?: string;
|
|
category?: "News" | "Behind the Scenes" | "Music History" | "Tech Talk";
|
|
content?: Array<
|
|
| {
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}
|
|
| {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
alt?: string;
|
|
caption?: string;
|
|
_type: "image";
|
|
_key: string;
|
|
}
|
|
| {
|
|
url?: string;
|
|
_type: "youtube";
|
|
_key: string;
|
|
}
|
|
>;
|
|
releases?: Array<
|
|
{
|
|
_key: string;
|
|
} & ReleaseReference
|
|
>;
|
|
artists?: Array<
|
|
{
|
|
_key: string;
|
|
} & ArtistReference
|
|
>;
|
|
composers?: Array<
|
|
{
|
|
_key: string;
|
|
} & ComposerReference
|
|
>;
|
|
works?: Array<
|
|
{
|
|
_key: string;
|
|
} & WorkReference
|
|
>;
|
|
};
|
|
|
|
export type Artist = {
|
|
_id: string;
|
|
_type: "artist";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
name?: string;
|
|
sortKey?: string;
|
|
slug?: Slug;
|
|
role?: string;
|
|
image?: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
};
|
|
bio?: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}>;
|
|
};
|
|
|
|
export type MediaTag = {
|
|
_id: string;
|
|
_type: "media.tag";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
name?: Slug;
|
|
};
|
|
|
|
export type SanityImagePaletteSwatch = {
|
|
_type: "sanity.imagePaletteSwatch";
|
|
background?: string;
|
|
foreground?: string;
|
|
population?: number;
|
|
title?: string;
|
|
};
|
|
|
|
export type SanityImagePalette = {
|
|
_type: "sanity.imagePalette";
|
|
darkMuted?: SanityImagePaletteSwatch;
|
|
lightVibrant?: SanityImagePaletteSwatch;
|
|
darkVibrant?: SanityImagePaletteSwatch;
|
|
vibrant?: SanityImagePaletteSwatch;
|
|
dominant?: SanityImagePaletteSwatch;
|
|
lightMuted?: SanityImagePaletteSwatch;
|
|
muted?: SanityImagePaletteSwatch;
|
|
};
|
|
|
|
export type SanityImageDimensions = {
|
|
_type: "sanity.imageDimensions";
|
|
height?: number;
|
|
width?: number;
|
|
aspectRatio?: number;
|
|
};
|
|
|
|
export type SanityImageMetadata = {
|
|
_type: "sanity.imageMetadata";
|
|
location?: Geopoint;
|
|
dimensions?: SanityImageDimensions;
|
|
palette?: SanityImagePalette;
|
|
lqip?: string;
|
|
blurHash?: string;
|
|
thumbHash?: string;
|
|
hasAlpha?: boolean;
|
|
isOpaque?: boolean;
|
|
};
|
|
|
|
export type SanityFileAsset = {
|
|
_id: string;
|
|
_type: "sanity.fileAsset";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
originalFilename?: string;
|
|
label?: string;
|
|
title?: string;
|
|
description?: string;
|
|
altText?: string;
|
|
sha1hash?: string;
|
|
extension?: string;
|
|
mimeType?: string;
|
|
size?: number;
|
|
assetId?: string;
|
|
uploadId?: string;
|
|
path?: string;
|
|
url?: string;
|
|
source?: SanityAssetSourceData;
|
|
};
|
|
|
|
export type SanityAssetSourceData = {
|
|
_type: "sanity.assetSourceData";
|
|
name?: string;
|
|
id?: string;
|
|
url?: string;
|
|
};
|
|
|
|
export type SanityImageAsset = {
|
|
_id: string;
|
|
_type: "sanity.imageAsset";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
originalFilename?: string;
|
|
label?: string;
|
|
title?: string;
|
|
description?: string;
|
|
altText?: string;
|
|
sha1hash?: string;
|
|
extension?: string;
|
|
mimeType?: string;
|
|
size?: number;
|
|
assetId?: string;
|
|
uploadId?: string;
|
|
path?: string;
|
|
url?: string;
|
|
metadata?: SanityImageMetadata;
|
|
source?: SanityAssetSourceData;
|
|
};
|
|
|
|
export type Geopoint = {
|
|
_type: "geopoint";
|
|
lat?: number;
|
|
lng?: number;
|
|
alt?: number;
|
|
};
|
|
|
|
export type AllSanitySchemaTypes =
|
|
| ReleaseReference
|
|
| ArtistReference
|
|
| ComposerReference
|
|
| Settings
|
|
| SanityImageAssetReference
|
|
| SanityFileAssetReference
|
|
| WorkReference
|
|
| Release
|
|
| SanityImageCrop
|
|
| SanityImageHotspot
|
|
| Slug
|
|
| Work
|
|
| Concert
|
|
| Composer
|
|
| Blog
|
|
| Artist
|
|
| MediaTag
|
|
| SanityImagePaletteSwatch
|
|
| SanityImagePalette
|
|
| SanityImageDimensions
|
|
| SanityImageMetadata
|
|
| SanityFileAsset
|
|
| SanityAssetSourceData
|
|
| SanityImageAsset
|
|
| Geopoint;
|
|
|
|
export declare const internalGroqTypeReferenceTo: unique symbol;
|
|
|
|
// Source: app/[slug]/page.tsx
|
|
// Variable: RELEASE_BY_CATALOG_NO_QUERY
|
|
// Query: *[_type == "release" && lower(catalogNo) == $slug][0]{ name, albumArtist, label, catalogNo, albumCover, officialUrl, spotifyUrl, appleMusicUrl, deezerUrl, amazonMusicUrl, tidalUrl, qobuzUrl,}
|
|
export type RELEASE_BY_CATALOG_NO_QUERY_RESULT = {
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
label: "other" | "TRPTK" | null;
|
|
catalogNo: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
officialUrl: string | null;
|
|
spotifyUrl: string | null;
|
|
appleMusicUrl: string | null;
|
|
deezerUrl: string | null;
|
|
amazonMusicUrl: string | null;
|
|
tidalUrl: string | null;
|
|
qobuzUrl: string | null;
|
|
} | null;
|
|
|
|
// Source: app/[slug]/page.tsx
|
|
// Variable: RELEASE_CATALOG_SLUGS_QUERY
|
|
// Query: *[_type == "release" && defined(catalogNo)][]{ "slug": lower(catalogNo) }
|
|
export type RELEASE_CATALOG_SLUGS_QUERY_RESULT = Array<{
|
|
slug: string;
|
|
}>;
|
|
|
|
// Source: app/api/account/downloads/route.ts
|
|
// Variable: RELEASES_BY_CATALOG_NOS_QUERY
|
|
// Query: *[_type == "release" && catalogNo in $catalogNos]{ catalogNo, name, albumArtist, "slug": slug.current, albumCover, releaseDate, genre, instrumentation}
|
|
export type RELEASES_BY_CATALOG_NOS_QUERY_RESULT = Array<{
|
|
catalogNo: string | null;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
releaseDate: string | null;
|
|
genre: Array<
|
|
| "baroque"
|
|
| "classical"
|
|
| "contemporary"
|
|
| "crossover"
|
|
| "earlyMusic"
|
|
| "electronic"
|
|
| "jazz"
|
|
| "minimal"
|
|
| "popRock"
|
|
| "romantic"
|
|
| "worldMusic"
|
|
> | null;
|
|
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
|
|
}>;
|
|
|
|
// Source: app/artist/[slug]/page.tsx
|
|
// Variable: ARTIST_DETAIL_QUERY
|
|
// Query: *[_type == "artist" && slug.current == $slug][0]{ name, role, "slug": slug.current, bio, image, "releases": *[ _type == "release" && references(^._id) ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }, "upcomingConcerts": *[ _type == "concert" && references(^._id) && date >= $today ] | order(date asc, time asc) { _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}, "pastConcerts": *[ _type == "concert" && references(^._id) && date < $today ] | order(date desc, time desc) { _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}}
|
|
export type ARTIST_DETAIL_QUERY_RESULT = {
|
|
name: string | null;
|
|
role: string | null;
|
|
slug: string | null;
|
|
bio: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}> | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
releases: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
slug: string | null;
|
|
releaseDate: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
genre: Array<
|
|
| "baroque"
|
|
| "classical"
|
|
| "contemporary"
|
|
| "crossover"
|
|
| "earlyMusic"
|
|
| "electronic"
|
|
| "jazz"
|
|
| "minimal"
|
|
| "popRock"
|
|
| "romantic"
|
|
| "worldMusic"
|
|
> | null;
|
|
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
|
|
}>;
|
|
upcomingConcerts: Array<{
|
|
_id: string;
|
|
title: string | null;
|
|
subtitle: string | null;
|
|
date: string | null;
|
|
time: string | null;
|
|
locationName: string | null;
|
|
city: string | null;
|
|
country:
|
|
| "AD"
|
|
| "AE"
|
|
| "AF"
|
|
| "AG"
|
|
| "AL"
|
|
| "AM"
|
|
| "AO"
|
|
| "AR"
|
|
| "AT"
|
|
| "AU"
|
|
| "AZ"
|
|
| "BA"
|
|
| "BB"
|
|
| "BD"
|
|
| "BE"
|
|
| "BF"
|
|
| "BG"
|
|
| "BH"
|
|
| "BI"
|
|
| "BJ"
|
|
| "BN"
|
|
| "BO"
|
|
| "BR"
|
|
| "BS"
|
|
| "BT"
|
|
| "BW"
|
|
| "BY"
|
|
| "BZ"
|
|
| "CA"
|
|
| "CD"
|
|
| "CF"
|
|
| "CG"
|
|
| "CH"
|
|
| "CI"
|
|
| "CL"
|
|
| "CM"
|
|
| "CN"
|
|
| "CO"
|
|
| "CR"
|
|
| "CU"
|
|
| "CV"
|
|
| "CY"
|
|
| "CZ"
|
|
| "DE"
|
|
| "DJ"
|
|
| "DK"
|
|
| "DM"
|
|
| "DO"
|
|
| "DZ"
|
|
| "EC"
|
|
| "EE"
|
|
| "EG"
|
|
| "ER"
|
|
| "ES"
|
|
| "ET"
|
|
| "FI"
|
|
| "FJ"
|
|
| "FM"
|
|
| "FR"
|
|
| "GA"
|
|
| "GB"
|
|
| "GD"
|
|
| "GE"
|
|
| "GH"
|
|
| "GM"
|
|
| "GN"
|
|
| "GQ"
|
|
| "GR"
|
|
| "GT"
|
|
| "GW"
|
|
| "GY"
|
|
| "HN"
|
|
| "HR"
|
|
| "HT"
|
|
| "HU"
|
|
| "ID"
|
|
| "IE"
|
|
| "IL"
|
|
| "IN"
|
|
| "IQ"
|
|
| "IR"
|
|
| "IS"
|
|
| "IT"
|
|
| "JM"
|
|
| "JO"
|
|
| "JP"
|
|
| "KE"
|
|
| "KG"
|
|
| "KH"
|
|
| "KI"
|
|
| "KM"
|
|
| "KN"
|
|
| "KP"
|
|
| "KR"
|
|
| "KW"
|
|
| "KZ"
|
|
| "LA"
|
|
| "LB"
|
|
| "LC"
|
|
| "LI"
|
|
| "LK"
|
|
| "LR"
|
|
| "LS"
|
|
| "LT"
|
|
| "LU"
|
|
| "LV"
|
|
| "LY"
|
|
| "MA"
|
|
| "MC"
|
|
| "MD"
|
|
| "ME"
|
|
| "MG"
|
|
| "MH"
|
|
| "MK"
|
|
| "ML"
|
|
| "MM"
|
|
| "MN"
|
|
| "MR"
|
|
| "MT"
|
|
| "MU"
|
|
| "MV"
|
|
| "MW"
|
|
| "MX"
|
|
| "MY"
|
|
| "MZ"
|
|
| "NA"
|
|
| "NE"
|
|
| "NG"
|
|
| "NI"
|
|
| "NL"
|
|
| "NO"
|
|
| "NP"
|
|
| "NR"
|
|
| "NZ"
|
|
| "OM"
|
|
| "PA"
|
|
| "PE"
|
|
| "PG"
|
|
| "PH"
|
|
| "PK"
|
|
| "PL"
|
|
| "PS"
|
|
| "PT"
|
|
| "PW"
|
|
| "PY"
|
|
| "QA"
|
|
| "RO"
|
|
| "RS"
|
|
| "RU"
|
|
| "RW"
|
|
| "SA"
|
|
| "SB"
|
|
| "SC"
|
|
| "SD"
|
|
| "SE"
|
|
| "SG"
|
|
| "SI"
|
|
| "SK"
|
|
| "SL"
|
|
| "SM"
|
|
| "SN"
|
|
| "SO"
|
|
| "SR"
|
|
| "SS"
|
|
| "ST"
|
|
| "SV"
|
|
| "SY"
|
|
| "SZ"
|
|
| "TD"
|
|
| "TG"
|
|
| "TH"
|
|
| "TJ"
|
|
| "TL"
|
|
| "TM"
|
|
| "TN"
|
|
| "TO"
|
|
| "TR"
|
|
| "TT"
|
|
| "TV"
|
|
| "TW"
|
|
| "TZ"
|
|
| "UA"
|
|
| "UG"
|
|
| "US"
|
|
| "UY"
|
|
| "UZ"
|
|
| "VA"
|
|
| "VC"
|
|
| "VE"
|
|
| "VN"
|
|
| "VU"
|
|
| "WS"
|
|
| "XK"
|
|
| "YE"
|
|
| "ZA"
|
|
| "ZM"
|
|
| "ZW"
|
|
| null;
|
|
artists: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
slug: string | null;
|
|
}> | null;
|
|
ticketUrl: string | null;
|
|
}>;
|
|
pastConcerts: Array<{
|
|
_id: string;
|
|
title: string | null;
|
|
subtitle: string | null;
|
|
date: string | null;
|
|
time: string | null;
|
|
locationName: string | null;
|
|
city: string | null;
|
|
country:
|
|
| "AD"
|
|
| "AE"
|
|
| "AF"
|
|
| "AG"
|
|
| "AL"
|
|
| "AM"
|
|
| "AO"
|
|
| "AR"
|
|
| "AT"
|
|
| "AU"
|
|
| "AZ"
|
|
| "BA"
|
|
| "BB"
|
|
| "BD"
|
|
| "BE"
|
|
| "BF"
|
|
| "BG"
|
|
| "BH"
|
|
| "BI"
|
|
| "BJ"
|
|
| "BN"
|
|
| "BO"
|
|
| "BR"
|
|
| "BS"
|
|
| "BT"
|
|
| "BW"
|
|
| "BY"
|
|
| "BZ"
|
|
| "CA"
|
|
| "CD"
|
|
| "CF"
|
|
| "CG"
|
|
| "CH"
|
|
| "CI"
|
|
| "CL"
|
|
| "CM"
|
|
| "CN"
|
|
| "CO"
|
|
| "CR"
|
|
| "CU"
|
|
| "CV"
|
|
| "CY"
|
|
| "CZ"
|
|
| "DE"
|
|
| "DJ"
|
|
| "DK"
|
|
| "DM"
|
|
| "DO"
|
|
| "DZ"
|
|
| "EC"
|
|
| "EE"
|
|
| "EG"
|
|
| "ER"
|
|
| "ES"
|
|
| "ET"
|
|
| "FI"
|
|
| "FJ"
|
|
| "FM"
|
|
| "FR"
|
|
| "GA"
|
|
| "GB"
|
|
| "GD"
|
|
| "GE"
|
|
| "GH"
|
|
| "GM"
|
|
| "GN"
|
|
| "GQ"
|
|
| "GR"
|
|
| "GT"
|
|
| "GW"
|
|
| "GY"
|
|
| "HN"
|
|
| "HR"
|
|
| "HT"
|
|
| "HU"
|
|
| "ID"
|
|
| "IE"
|
|
| "IL"
|
|
| "IN"
|
|
| "IQ"
|
|
| "IR"
|
|
| "IS"
|
|
| "IT"
|
|
| "JM"
|
|
| "JO"
|
|
| "JP"
|
|
| "KE"
|
|
| "KG"
|
|
| "KH"
|
|
| "KI"
|
|
| "KM"
|
|
| "KN"
|
|
| "KP"
|
|
| "KR"
|
|
| "KW"
|
|
| "KZ"
|
|
| "LA"
|
|
| "LB"
|
|
| "LC"
|
|
| "LI"
|
|
| "LK"
|
|
| "LR"
|
|
| "LS"
|
|
| "LT"
|
|
| "LU"
|
|
| "LV"
|
|
| "LY"
|
|
| "MA"
|
|
| "MC"
|
|
| "MD"
|
|
| "ME"
|
|
| "MG"
|
|
| "MH"
|
|
| "MK"
|
|
| "ML"
|
|
| "MM"
|
|
| "MN"
|
|
| "MR"
|
|
| "MT"
|
|
| "MU"
|
|
| "MV"
|
|
| "MW"
|
|
| "MX"
|
|
| "MY"
|
|
| "MZ"
|
|
| "NA"
|
|
| "NE"
|
|
| "NG"
|
|
| "NI"
|
|
| "NL"
|
|
| "NO"
|
|
| "NP"
|
|
| "NR"
|
|
| "NZ"
|
|
| "OM"
|
|
| "PA"
|
|
| "PE"
|
|
| "PG"
|
|
| "PH"
|
|
| "PK"
|
|
| "PL"
|
|
| "PS"
|
|
| "PT"
|
|
| "PW"
|
|
| "PY"
|
|
| "QA"
|
|
| "RO"
|
|
| "RS"
|
|
| "RU"
|
|
| "RW"
|
|
| "SA"
|
|
| "SB"
|
|
| "SC"
|
|
| "SD"
|
|
| "SE"
|
|
| "SG"
|
|
| "SI"
|
|
| "SK"
|
|
| "SL"
|
|
| "SM"
|
|
| "SN"
|
|
| "SO"
|
|
| "SR"
|
|
| "SS"
|
|
| "ST"
|
|
| "SV"
|
|
| "SY"
|
|
| "SZ"
|
|
| "TD"
|
|
| "TG"
|
|
| "TH"
|
|
| "TJ"
|
|
| "TL"
|
|
| "TM"
|
|
| "TN"
|
|
| "TO"
|
|
| "TR"
|
|
| "TT"
|
|
| "TV"
|
|
| "TW"
|
|
| "TZ"
|
|
| "UA"
|
|
| "UG"
|
|
| "US"
|
|
| "UY"
|
|
| "UZ"
|
|
| "VA"
|
|
| "VC"
|
|
| "VE"
|
|
| "VN"
|
|
| "VU"
|
|
| "WS"
|
|
| "XK"
|
|
| "YE"
|
|
| "ZA"
|
|
| "ZM"
|
|
| "ZW"
|
|
| null;
|
|
artists: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
slug: string | null;
|
|
}> | null;
|
|
ticketUrl: string | null;
|
|
}>;
|
|
} | null;
|
|
|
|
// Source: app/artist/[slug]/page.tsx
|
|
// Variable: ARTIST_SLUGS_QUERY
|
|
// Query: *[_type == "artist" && defined(slug.current)]{ "slug": slug.current }
|
|
export type ARTIST_SLUGS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
}>;
|
|
|
|
// Source: app/artists/page.tsx
|
|
// Variable: ARTISTS_BY_NAME_QUERY
|
|
// Query: *[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )]| order(lower(name) asc)[$start...$end]{ _id, name, role, "slug": slug.current, image}
|
|
export type ARTISTS_BY_NAME_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
role: string | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/artists/page.tsx
|
|
// Variable: ARTISTS_BY_SORT_KEY_QUERY
|
|
// Query: *[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )]| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)[$start...$end]{ _id, name, role, "slug": slug.current, image}
|
|
export type ARTISTS_BY_SORT_KEY_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
role: string | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/artists/page.tsx
|
|
// Variable: ARTISTS_COUNT_QUERY
|
|
// Query: count(*[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )])
|
|
export type ARTISTS_COUNT_QUERY_RESULT = number;
|
|
|
|
// Source: app/blog/(archive)/page.tsx
|
|
// Variable: BLOGS_BY_DATE_DESC_QUERY
|
|
// Query: *[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)]| order(coalesce(publishDate, "0000-01-01") desc, lower(title) asc)[$start...$end]{ _id, title, subtitle, author, publishDate, category, "slug": slug.current, featuredImage}
|
|
export type BLOGS_BY_DATE_DESC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
title: string | null;
|
|
subtitle: string | null;
|
|
author: "Brendon Heinst" | "Maya Fridman" | null;
|
|
publishDate: string | null;
|
|
category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null;
|
|
slug: string | null;
|
|
featuredImage: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/blog/(archive)/page.tsx
|
|
// Variable: BLOGS_BY_DATE_ASC_QUERY
|
|
// Query: *[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)]| order(coalesce(publishDate, "9999-12-31") asc, lower(title) asc)[$start...$end]{ _id, title, subtitle, author, publishDate, category, "slug": slug.current, featuredImage}
|
|
export type BLOGS_BY_DATE_ASC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
title: string | null;
|
|
subtitle: string | null;
|
|
author: "Brendon Heinst" | "Maya Fridman" | null;
|
|
publishDate: string | null;
|
|
category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null;
|
|
slug: string | null;
|
|
featuredImage: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/blog/(archive)/page.tsx
|
|
// Variable: BLOGS_COUNT_QUERY
|
|
// Query: count(*[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)])
|
|
export type BLOGS_COUNT_QUERY_RESULT = number;
|
|
|
|
// Source: app/blog/[slug]/page.tsx
|
|
// Variable: BLOG_DETAIL_QUERY
|
|
// Query: *[_type == "blog" && slug.current == $slug][0]{ title, subtitle, "slug": slug.current, author, publishDate, category, featuredImage, content[]{ ..., _type == "image" => { ..., asset-> } }, "releases": releases[]->{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover }, "artists": artists[]->{ _id, name, role, "slug": slug.current, image }, "composers": composers[]->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }}
|
|
export type BLOG_DETAIL_QUERY_RESULT = {
|
|
title: string | null;
|
|
subtitle: string | null;
|
|
slug: string | null;
|
|
author: "Brendon Heinst" | "Maya Fridman" | null;
|
|
publishDate: string | null;
|
|
category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null;
|
|
featuredImage: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
content: Array<
|
|
| {
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}
|
|
| {
|
|
asset: {
|
|
_id: string;
|
|
_type: "sanity.imageAsset";
|
|
_createdAt: string;
|
|
_updatedAt: string;
|
|
_rev: string;
|
|
originalFilename?: string;
|
|
label?: string;
|
|
title?: string;
|
|
description?: string;
|
|
altText?: string;
|
|
sha1hash?: string;
|
|
extension?: string;
|
|
mimeType?: string;
|
|
size?: number;
|
|
assetId?: string;
|
|
uploadId?: string;
|
|
path?: string;
|
|
url?: string;
|
|
metadata?: SanityImageMetadata;
|
|
source?: SanityAssetSourceData;
|
|
} | null;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
alt?: string;
|
|
caption?: string;
|
|
_type: "image";
|
|
_key: string;
|
|
}
|
|
| {
|
|
url?: string;
|
|
_type: "youtube";
|
|
_key: string;
|
|
}
|
|
> | null;
|
|
releases: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
releaseDate: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}> | null;
|
|
artists: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
role: string | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}> | null;
|
|
composers: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
sortKey: string | null;
|
|
slug: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}> | null;
|
|
} | null;
|
|
|
|
// Source: app/blog/[slug]/page.tsx
|
|
// Variable: BLOG_SLUGS_QUERY
|
|
// Query: *[_type == "blog" && defined(slug.current)]{ "slug": slug.current }
|
|
export type BLOG_SLUGS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
}>;
|
|
|
|
// Source: app/composer/[slug]/page.tsx
|
|
// Variable: COMPOSER_DETAIL_QUERY
|
|
// Query: *[_type == "composer" && slug.current == $slug][0]{ name, birthYear, deathYear, "slug": slug.current, bio, image, "releases": *[ _type == "release" && count(tracks[work->composer->slug.current == $slug]) > 0 ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }, "composedWorks": *[ _type == "work" && composer->slug.current == $slug ] | order(title asc, defined(arranger) asc, arranger->name asc) { title, "slug": slug.current, "arrangerName": arranger->name }, "arrangedWorks": *[ _type == "work" && arranger->slug.current == $slug ] | order(coalesce(composer->sortKey, composer->name) asc, title asc) { title, "slug": slug.current, "originalComposerName": composer->name, "originalComposerSortKey": composer->sortKey }}
|
|
export type COMPOSER_DETAIL_QUERY_RESULT = {
|
|
name: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
slug: string | null;
|
|
bio: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}> | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
releases: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
slug: string | null;
|
|
releaseDate: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
genre: Array<
|
|
| "baroque"
|
|
| "classical"
|
|
| "contemporary"
|
|
| "crossover"
|
|
| "earlyMusic"
|
|
| "electronic"
|
|
| "jazz"
|
|
| "minimal"
|
|
| "popRock"
|
|
| "romantic"
|
|
| "worldMusic"
|
|
> | null;
|
|
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
|
|
}>;
|
|
composedWorks: Array<{
|
|
title: string | null;
|
|
slug: string | null;
|
|
arrangerName: string | null;
|
|
}>;
|
|
arrangedWorks: Array<{
|
|
title: string | null;
|
|
slug: string | null;
|
|
originalComposerName: string | null;
|
|
originalComposerSortKey: string | null;
|
|
}>;
|
|
} | null;
|
|
|
|
// Source: app/composer/[slug]/page.tsx
|
|
// Variable: COMPOSER_SLUGS_QUERY
|
|
// Query: *[_type == "composer" && defined(slug.current)]{ "slug": slug.current }
|
|
export type COMPOSER_SLUGS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
}>;
|
|
|
|
// Source: app/composers/page.tsx
|
|
// Variable: COMPOSERS_BY_NAME_QUERY
|
|
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
|
|
export type COMPOSERS_BY_NAME_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/composers/page.tsx
|
|
// Variable: COMPOSERS_BY_SORT_KEY_QUERY
|
|
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
|
|
export type COMPOSERS_BY_SORT_KEY_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/composers/page.tsx
|
|
// Variable: COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY
|
|
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(coalesce(birthYear, 999999) asc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
|
|
export type COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/composers/page.tsx
|
|
// Variable: COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY
|
|
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(coalesce(birthYear, -999999) desc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
|
|
export type COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/composers/page.tsx
|
|
// Variable: COMPOSERS_COUNT_QUERY
|
|
// Query: count(*[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)])
|
|
export type COMPOSERS_COUNT_QUERY_RESULT = number;
|
|
|
|
// Source: app/concerts/page.tsx
|
|
// Variable: UPCOMING_CONCERTS_QUERY
|
|
// Query: *[_type == "concert" && date >= $today]{ _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}| order(date asc, time asc)
|
|
export type UPCOMING_CONCERTS_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
title: string | null;
|
|
subtitle: string | null;
|
|
date: string | null;
|
|
time: string | null;
|
|
locationName: string | null;
|
|
city: string | null;
|
|
country:
|
|
| "AD"
|
|
| "AE"
|
|
| "AF"
|
|
| "AG"
|
|
| "AL"
|
|
| "AM"
|
|
| "AO"
|
|
| "AR"
|
|
| "AT"
|
|
| "AU"
|
|
| "AZ"
|
|
| "BA"
|
|
| "BB"
|
|
| "BD"
|
|
| "BE"
|
|
| "BF"
|
|
| "BG"
|
|
| "BH"
|
|
| "BI"
|
|
| "BJ"
|
|
| "BN"
|
|
| "BO"
|
|
| "BR"
|
|
| "BS"
|
|
| "BT"
|
|
| "BW"
|
|
| "BY"
|
|
| "BZ"
|
|
| "CA"
|
|
| "CD"
|
|
| "CF"
|
|
| "CG"
|
|
| "CH"
|
|
| "CI"
|
|
| "CL"
|
|
| "CM"
|
|
| "CN"
|
|
| "CO"
|
|
| "CR"
|
|
| "CU"
|
|
| "CV"
|
|
| "CY"
|
|
| "CZ"
|
|
| "DE"
|
|
| "DJ"
|
|
| "DK"
|
|
| "DM"
|
|
| "DO"
|
|
| "DZ"
|
|
| "EC"
|
|
| "EE"
|
|
| "EG"
|
|
| "ER"
|
|
| "ES"
|
|
| "ET"
|
|
| "FI"
|
|
| "FJ"
|
|
| "FM"
|
|
| "FR"
|
|
| "GA"
|
|
| "GB"
|
|
| "GD"
|
|
| "GE"
|
|
| "GH"
|
|
| "GM"
|
|
| "GN"
|
|
| "GQ"
|
|
| "GR"
|
|
| "GT"
|
|
| "GW"
|
|
| "GY"
|
|
| "HN"
|
|
| "HR"
|
|
| "HT"
|
|
| "HU"
|
|
| "ID"
|
|
| "IE"
|
|
| "IL"
|
|
| "IN"
|
|
| "IQ"
|
|
| "IR"
|
|
| "IS"
|
|
| "IT"
|
|
| "JM"
|
|
| "JO"
|
|
| "JP"
|
|
| "KE"
|
|
| "KG"
|
|
| "KH"
|
|
| "KI"
|
|
| "KM"
|
|
| "KN"
|
|
| "KP"
|
|
| "KR"
|
|
| "KW"
|
|
| "KZ"
|
|
| "LA"
|
|
| "LB"
|
|
| "LC"
|
|
| "LI"
|
|
| "LK"
|
|
| "LR"
|
|
| "LS"
|
|
| "LT"
|
|
| "LU"
|
|
| "LV"
|
|
| "LY"
|
|
| "MA"
|
|
| "MC"
|
|
| "MD"
|
|
| "ME"
|
|
| "MG"
|
|
| "MH"
|
|
| "MK"
|
|
| "ML"
|
|
| "MM"
|
|
| "MN"
|
|
| "MR"
|
|
| "MT"
|
|
| "MU"
|
|
| "MV"
|
|
| "MW"
|
|
| "MX"
|
|
| "MY"
|
|
| "MZ"
|
|
| "NA"
|
|
| "NE"
|
|
| "NG"
|
|
| "NI"
|
|
| "NL"
|
|
| "NO"
|
|
| "NP"
|
|
| "NR"
|
|
| "NZ"
|
|
| "OM"
|
|
| "PA"
|
|
| "PE"
|
|
| "PG"
|
|
| "PH"
|
|
| "PK"
|
|
| "PL"
|
|
| "PS"
|
|
| "PT"
|
|
| "PW"
|
|
| "PY"
|
|
| "QA"
|
|
| "RO"
|
|
| "RS"
|
|
| "RU"
|
|
| "RW"
|
|
| "SA"
|
|
| "SB"
|
|
| "SC"
|
|
| "SD"
|
|
| "SE"
|
|
| "SG"
|
|
| "SI"
|
|
| "SK"
|
|
| "SL"
|
|
| "SM"
|
|
| "SN"
|
|
| "SO"
|
|
| "SR"
|
|
| "SS"
|
|
| "ST"
|
|
| "SV"
|
|
| "SY"
|
|
| "SZ"
|
|
| "TD"
|
|
| "TG"
|
|
| "TH"
|
|
| "TJ"
|
|
| "TL"
|
|
| "TM"
|
|
| "TN"
|
|
| "TO"
|
|
| "TR"
|
|
| "TT"
|
|
| "TV"
|
|
| "TW"
|
|
| "TZ"
|
|
| "UA"
|
|
| "UG"
|
|
| "US"
|
|
| "UY"
|
|
| "UZ"
|
|
| "VA"
|
|
| "VC"
|
|
| "VE"
|
|
| "VN"
|
|
| "VU"
|
|
| "WS"
|
|
| "XK"
|
|
| "YE"
|
|
| "ZA"
|
|
| "ZM"
|
|
| "ZW"
|
|
| null;
|
|
artists: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
slug: string | null;
|
|
}> | null;
|
|
ticketUrl: string | null;
|
|
}>;
|
|
|
|
// Source: app/concerts/page.tsx
|
|
// Variable: PAST_CONCERTS_QUERY
|
|
// Query: *[_type == "concert" && date < $today]{ _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}| order(date desc, time desc)
|
|
export type PAST_CONCERTS_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
title: string | null;
|
|
subtitle: string | null;
|
|
date: string | null;
|
|
time: string | null;
|
|
locationName: string | null;
|
|
city: string | null;
|
|
country:
|
|
| "AD"
|
|
| "AE"
|
|
| "AF"
|
|
| "AG"
|
|
| "AL"
|
|
| "AM"
|
|
| "AO"
|
|
| "AR"
|
|
| "AT"
|
|
| "AU"
|
|
| "AZ"
|
|
| "BA"
|
|
| "BB"
|
|
| "BD"
|
|
| "BE"
|
|
| "BF"
|
|
| "BG"
|
|
| "BH"
|
|
| "BI"
|
|
| "BJ"
|
|
| "BN"
|
|
| "BO"
|
|
| "BR"
|
|
| "BS"
|
|
| "BT"
|
|
| "BW"
|
|
| "BY"
|
|
| "BZ"
|
|
| "CA"
|
|
| "CD"
|
|
| "CF"
|
|
| "CG"
|
|
| "CH"
|
|
| "CI"
|
|
| "CL"
|
|
| "CM"
|
|
| "CN"
|
|
| "CO"
|
|
| "CR"
|
|
| "CU"
|
|
| "CV"
|
|
| "CY"
|
|
| "CZ"
|
|
| "DE"
|
|
| "DJ"
|
|
| "DK"
|
|
| "DM"
|
|
| "DO"
|
|
| "DZ"
|
|
| "EC"
|
|
| "EE"
|
|
| "EG"
|
|
| "ER"
|
|
| "ES"
|
|
| "ET"
|
|
| "FI"
|
|
| "FJ"
|
|
| "FM"
|
|
| "FR"
|
|
| "GA"
|
|
| "GB"
|
|
| "GD"
|
|
| "GE"
|
|
| "GH"
|
|
| "GM"
|
|
| "GN"
|
|
| "GQ"
|
|
| "GR"
|
|
| "GT"
|
|
| "GW"
|
|
| "GY"
|
|
| "HN"
|
|
| "HR"
|
|
| "HT"
|
|
| "HU"
|
|
| "ID"
|
|
| "IE"
|
|
| "IL"
|
|
| "IN"
|
|
| "IQ"
|
|
| "IR"
|
|
| "IS"
|
|
| "IT"
|
|
| "JM"
|
|
| "JO"
|
|
| "JP"
|
|
| "KE"
|
|
| "KG"
|
|
| "KH"
|
|
| "KI"
|
|
| "KM"
|
|
| "KN"
|
|
| "KP"
|
|
| "KR"
|
|
| "KW"
|
|
| "KZ"
|
|
| "LA"
|
|
| "LB"
|
|
| "LC"
|
|
| "LI"
|
|
| "LK"
|
|
| "LR"
|
|
| "LS"
|
|
| "LT"
|
|
| "LU"
|
|
| "LV"
|
|
| "LY"
|
|
| "MA"
|
|
| "MC"
|
|
| "MD"
|
|
| "ME"
|
|
| "MG"
|
|
| "MH"
|
|
| "MK"
|
|
| "ML"
|
|
| "MM"
|
|
| "MN"
|
|
| "MR"
|
|
| "MT"
|
|
| "MU"
|
|
| "MV"
|
|
| "MW"
|
|
| "MX"
|
|
| "MY"
|
|
| "MZ"
|
|
| "NA"
|
|
| "NE"
|
|
| "NG"
|
|
| "NI"
|
|
| "NL"
|
|
| "NO"
|
|
| "NP"
|
|
| "NR"
|
|
| "NZ"
|
|
| "OM"
|
|
| "PA"
|
|
| "PE"
|
|
| "PG"
|
|
| "PH"
|
|
| "PK"
|
|
| "PL"
|
|
| "PS"
|
|
| "PT"
|
|
| "PW"
|
|
| "PY"
|
|
| "QA"
|
|
| "RO"
|
|
| "RS"
|
|
| "RU"
|
|
| "RW"
|
|
| "SA"
|
|
| "SB"
|
|
| "SC"
|
|
| "SD"
|
|
| "SE"
|
|
| "SG"
|
|
| "SI"
|
|
| "SK"
|
|
| "SL"
|
|
| "SM"
|
|
| "SN"
|
|
| "SO"
|
|
| "SR"
|
|
| "SS"
|
|
| "ST"
|
|
| "SV"
|
|
| "SY"
|
|
| "SZ"
|
|
| "TD"
|
|
| "TG"
|
|
| "TH"
|
|
| "TJ"
|
|
| "TL"
|
|
| "TM"
|
|
| "TN"
|
|
| "TO"
|
|
| "TR"
|
|
| "TT"
|
|
| "TV"
|
|
| "TW"
|
|
| "TZ"
|
|
| "UA"
|
|
| "UG"
|
|
| "US"
|
|
| "UY"
|
|
| "UZ"
|
|
| "VA"
|
|
| "VC"
|
|
| "VE"
|
|
| "VN"
|
|
| "VU"
|
|
| "WS"
|
|
| "XK"
|
|
| "YE"
|
|
| "ZA"
|
|
| "ZM"
|
|
| "ZW"
|
|
| null;
|
|
artists: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
slug: string | null;
|
|
}> | null;
|
|
ticketUrl: string | null;
|
|
}>;
|
|
|
|
// Source: app/release/[slug]/booklet/route.ts
|
|
// Variable: BOOKLET_URL_QUERY
|
|
// Query: *[_type == "release" && slug.current == $slug][0]{ "bookletPdfUrl": bookletPdf.asset->url}
|
|
export type BOOKLET_URL_QUERY_RESULT = {
|
|
bookletPdfUrl: string | null;
|
|
} | null;
|
|
|
|
// Source: app/release/[slug]/page.tsx
|
|
// Variable: RELEASE_DETAIL_QUERY
|
|
// Query: *[_type == "release" && slug.current == $slug][0]{ name, albumArtist, label, catalogNo, upc, "slug": slug.current, releaseDate, shortDescription, description, albumCover, "artists": artists[]->{ _id, name, role, "slug": slug.current, image }, "composers": tracks[].work->composer->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }, "arrangers": tracks[].work->arranger->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }, tracks[]{ "workId": work->_id, "workTitle": work->title, "composerName": work->composer->name, "arrangerName": work->arranger->name, movement, displayTitle, duration, artist, "previewMp3Url": previewMp3.asset->url }, reviews[]{ quote, author }, credits[]{ role, name }, recordingDate, recordingLocation, recordingFormat, masteringFormat, "bookletPdfUrl": bookletPdf.asset->url, equipment[]{ type, name }}
|
|
export type RELEASE_DETAIL_QUERY_RESULT = {
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
label: "other" | "TRPTK" | null;
|
|
catalogNo: string | null;
|
|
upc: string | null;
|
|
slug: string | null;
|
|
releaseDate: string | null;
|
|
shortDescription: string | null;
|
|
description: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}> | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
artists: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
role: string | null;
|
|
slug: string | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}> | null;
|
|
composers: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
sortKey: string | null;
|
|
slug: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
} | null> | null;
|
|
arrangers: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
sortKey: string | null;
|
|
slug: string | null;
|
|
birthYear: number | null;
|
|
deathYear: number | null;
|
|
image: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
} | null> | null;
|
|
tracks: Array<{
|
|
workId: string | null;
|
|
workTitle: string | null;
|
|
composerName: string | null;
|
|
arrangerName: string | null;
|
|
movement: string | null;
|
|
displayTitle: string | null;
|
|
duration: string | null;
|
|
artist: string | null;
|
|
previewMp3Url: string | null;
|
|
}> | null;
|
|
reviews: Array<{
|
|
quote: string | null;
|
|
author: string | null;
|
|
}> | null;
|
|
credits: Array<{
|
|
role: string | null;
|
|
name: string | null;
|
|
}> | null;
|
|
recordingDate: string | null;
|
|
recordingLocation: string | null;
|
|
recordingFormat: "DSD 11.2 MHz 1 bit" | "PCM 352.8 kHz 24 bit" | "PCM 352.8 kHz 32 bit" | null;
|
|
masteringFormat: "DSD 11.2 MHz 1 bit" | "PCM 352.8 kHz 32 bit" | "PCM 352.8 kHz 64 bit" | null;
|
|
bookletPdfUrl: string | null;
|
|
equipment: Array<{
|
|
type: string | null;
|
|
name: string | null;
|
|
}> | null;
|
|
} | null;
|
|
|
|
// Source: app/release/[slug]/page.tsx
|
|
// Variable: RELEASE_SLUGS_QUERY
|
|
// Query: *[_type == "release" && defined(slug.current)]{ "slug": slug.current }
|
|
export type RELEASE_SLUGS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
}>;
|
|
|
|
// Source: app/releases/page.tsx
|
|
// Variable: RELEASES_BY_TITLE_ASC_QUERY
|
|
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
|
|
export type RELEASES_BY_TITLE_ASC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
releaseDate: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/releases/page.tsx
|
|
// Variable: RELEASES_BY_TITLE_DESC_QUERY
|
|
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(name) desc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
|
|
export type RELEASES_BY_TITLE_DESC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
releaseDate: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/releases/page.tsx
|
|
// Variable: RELEASES_BY_CATALOG_NO_ASC_QUERY
|
|
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(catalogNo) asc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
|
|
export type RELEASES_BY_CATALOG_NO_ASC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
releaseDate: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/releases/page.tsx
|
|
// Variable: RELEASES_BY_CATALOG_NO_DESC_QUERY
|
|
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(catalogNo) desc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
|
|
export type RELEASES_BY_CATALOG_NO_DESC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
releaseDate: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/releases/page.tsx
|
|
// Variable: RELEASES_BY_DATE_ASC_QUERY
|
|
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(coalesce(releaseDate, "9999-12-31") asc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
|
|
export type RELEASES_BY_DATE_ASC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
releaseDate: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/releases/page.tsx
|
|
// Variable: RELEASES_BY_DATE_DESC_QUERY
|
|
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(coalesce(releaseDate, "0000-01-01") desc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
|
|
export type RELEASES_BY_DATE_DESC_QUERY_RESULT = Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
releaseDate: string | null;
|
|
slug: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
}>;
|
|
|
|
// Source: app/releases/page.tsx
|
|
// Variable: RELEASES_COUNT_QUERY
|
|
// Query: count(*[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)])
|
|
export type RELEASES_COUNT_QUERY_RESULT = number;
|
|
|
|
// Source: app/sitemap.ts
|
|
// Variable: SITEMAP_ARTISTS_QUERY
|
|
// Query: *[_type == "artist" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
|
|
export type SITEMAP_ARTISTS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
_updatedAt: string;
|
|
}>;
|
|
|
|
// Source: app/sitemap.ts
|
|
// Variable: SITEMAP_RELEASES_QUERY
|
|
// Query: *[_type == "release" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
|
|
export type SITEMAP_RELEASES_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
_updatedAt: string;
|
|
}>;
|
|
|
|
// Source: app/sitemap.ts
|
|
// Variable: SITEMAP_COMPOSERS_QUERY
|
|
// Query: *[_type == "composer" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
|
|
export type SITEMAP_COMPOSERS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
_updatedAt: string;
|
|
}>;
|
|
|
|
// Source: app/sitemap.ts
|
|
// Variable: SITEMAP_WORKS_QUERY
|
|
// Query: *[_type == "work" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
|
|
export type SITEMAP_WORKS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
_updatedAt: string;
|
|
}>;
|
|
|
|
// Source: app/work/[slug]/layout.tsx
|
|
// Variable: WORK_COMPOSER_SLUG_QUERY
|
|
// Query: *[_type == "work" && slug.current == $slug][0]{ "composerSlug": composer->slug.current }
|
|
export type WORK_COMPOSER_SLUG_QUERY_RESULT = {
|
|
composerSlug: string | null;
|
|
} | null;
|
|
|
|
// Source: app/work/[slug]/page.tsx
|
|
// Variable: WORK_DETAIL_QUERY
|
|
// Query: *[_type == "work" && slug.current == $slug][0]{ title, description, "slug": slug.current, "composerName": composer->name, "composerSlug": composer->slug.current, "composerImage": composer->image, "arrangerName": arranger->name, "releases": *[ _type == "release" && count(tracks[work->slug.current == $slug]) > 0 ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }}
|
|
export type WORK_DETAIL_QUERY_RESULT = {
|
|
title: string | null;
|
|
description: Array<{
|
|
children?: Array<{
|
|
marks?: Array<string>;
|
|
text?: string;
|
|
_type: "span";
|
|
_key: string;
|
|
}>;
|
|
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
|
|
listItem?: "bullet" | "number";
|
|
markDefs?: Array<{
|
|
href?: string;
|
|
_type: "link";
|
|
_key: string;
|
|
}>;
|
|
level?: number;
|
|
_type: "block";
|
|
_key: string;
|
|
}> | null;
|
|
slug: string | null;
|
|
composerName: string | null;
|
|
composerSlug: string | null;
|
|
composerImage: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
arrangerName: string | null;
|
|
releases: Array<{
|
|
_id: string;
|
|
name: string | null;
|
|
albumArtist: string | null;
|
|
catalogNo: string | null;
|
|
slug: string | null;
|
|
releaseDate: string | null;
|
|
albumCover: {
|
|
asset?: SanityImageAssetReference;
|
|
media?: unknown;
|
|
hotspot?: SanityImageHotspot;
|
|
crop?: SanityImageCrop;
|
|
_type: "image";
|
|
} | null;
|
|
genre: Array<
|
|
| "baroque"
|
|
| "classical"
|
|
| "contemporary"
|
|
| "crossover"
|
|
| "earlyMusic"
|
|
| "electronic"
|
|
| "jazz"
|
|
| "minimal"
|
|
| "popRock"
|
|
| "romantic"
|
|
| "worldMusic"
|
|
> | null;
|
|
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
|
|
}>;
|
|
} | null;
|
|
|
|
// Source: app/work/[slug]/page.tsx
|
|
// Variable: WORK_SLUGS_QUERY
|
|
// Query: *[_type == "work" && defined(slug.current)]{ "slug": slug.current }
|
|
export type WORK_SLUGS_QUERY_RESULT = Array<{
|
|
slug: string | null;
|
|
}>;
|
|
|
|
// Query TypeMap
|
|
import "@sanity/client";
|
|
declare module "@sanity/client" {
|
|
interface SanityQueries {
|
|
'\n*[_type == "release" && lower(catalogNo) == $slug][0]{\n name,\n albumArtist,\n label,\n catalogNo,\n albumCover,\n officialUrl,\n spotifyUrl,\n appleMusicUrl,\n deezerUrl,\n amazonMusicUrl,\n tidalUrl,\n qobuzUrl,\n}\n': RELEASE_BY_CATALOG_NO_QUERY_RESULT;
|
|
'*[_type == "release" && defined(catalogNo)][]{ "slug": lower(catalogNo) }': RELEASE_CATALOG_SLUGS_QUERY_RESULT;
|
|
'\n*[_type == "release" && catalogNo in $catalogNos]{\n catalogNo,\n name,\n albumArtist,\n "slug": slug.current,\n albumCover,\n releaseDate,\n genre,\n instrumentation\n}\n': RELEASES_BY_CATALOG_NOS_QUERY_RESULT;
|
|
'\n*[_type == "artist" && slug.current == $slug][0]{\n name,\n role,\n "slug": slug.current,\n bio,\n image,\n "releases": *[\n _type == "release" &&\n references(^._id)\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n },\n "upcomingConcerts": *[\n _type == "concert" &&\n references(^._id) &&\n date >= $today\n ] | order(date asc, time asc) {\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n},\n "pastConcerts": *[\n _type == "concert" &&\n references(^._id) &&\n date < $today\n ] | order(date desc, time desc) {\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n}\n': ARTIST_DETAIL_QUERY_RESULT;
|
|
'*[_type == "artist" && defined(slug.current)]{ "slug": slug.current }': ARTIST_SLUGS_QUERY_RESULT;
|
|
'\n*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n}\n': ARTISTS_BY_NAME_QUERY_RESULT;
|
|
'\n*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n]\n| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n}\n': ARTISTS_BY_SORT_KEY_QUERY_RESULT;
|
|
'\ncount(*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n])\n': ARTISTS_COUNT_QUERY_RESULT;
|
|
'\n*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n]\n| order(coalesce(publishDate, "0000-01-01") desc, lower(title) asc)\n[$start...$end]{\n _id,\n title,\n subtitle,\n author,\n publishDate,\n category,\n "slug": slug.current,\n featuredImage\n}\n': BLOGS_BY_DATE_DESC_QUERY_RESULT;
|
|
'\n*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n]\n| order(coalesce(publishDate, "9999-12-31") asc, lower(title) asc)\n[$start...$end]{\n _id,\n title,\n subtitle,\n author,\n publishDate,\n category,\n "slug": slug.current,\n featuredImage\n}\n': BLOGS_BY_DATE_ASC_QUERY_RESULT;
|
|
'\ncount(*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n])\n': BLOGS_COUNT_QUERY_RESULT;
|
|
'\n*[_type == "blog" && slug.current == $slug][0]{\n title,\n subtitle,\n "slug": slug.current,\n author,\n publishDate,\n category,\n featuredImage,\n content[]{\n ...,\n _type == "image" => {\n ...,\n asset->\n }\n },\n "releases": releases[]->{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n },\n "artists": artists[]->{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n },\n "composers": composers[]->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n }\n}\n': BLOG_DETAIL_QUERY_RESULT;
|
|
'*[_type == "blog" && defined(slug.current)]{ "slug": slug.current }': BLOG_SLUGS_QUERY_RESULT;
|
|
'\n*[_type == "composer" && slug.current == $slug][0]{\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n bio,\n image,\n\n "releases": *[\n _type == "release" &&\n count(tracks[work->composer->slug.current == $slug]) > 0\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n },\n\n "composedWorks": *[\n _type == "work" &&\n composer->slug.current == $slug\n ]\n | order(title asc, defined(arranger) asc, arranger->name asc) {\n title,\n "slug": slug.current,\n "arrangerName": arranger->name\n },\n\n "arrangedWorks": *[\n _type == "work" &&\n arranger->slug.current == $slug\n ]\n | order(coalesce(composer->sortKey, composer->name) asc, title asc) {\n title,\n "slug": slug.current,\n "originalComposerName": composer->name,\n "originalComposerSortKey": composer->sortKey\n }\n}\n': COMPOSER_DETAIL_QUERY_RESULT;
|
|
'*[_type == "composer" && defined(slug.current)]{ "slug": slug.current }': COMPOSER_SLUGS_QUERY_RESULT;
|
|
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_NAME_QUERY_RESULT;
|
|
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_SORT_KEY_QUERY_RESULT;
|
|
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(coalesce(birthYear, 999999) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY_RESULT;
|
|
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(coalesce(birthYear, -999999) desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY_RESULT;
|
|
'\ncount(*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n])\n': COMPOSERS_COUNT_QUERY_RESULT;
|
|
'\n*[_type == "concert" && date >= $today]\n{\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n| order(date asc, time asc)\n': UPCOMING_CONCERTS_QUERY_RESULT;
|
|
'\n*[_type == "concert" && date < $today]\n{\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n| order(date desc, time desc)\n': PAST_CONCERTS_QUERY_RESULT;
|
|
'\n*[_type == "release" && slug.current == $slug][0]{\n "bookletPdfUrl": bookletPdf.asset->url\n}\n': BOOKLET_URL_QUERY_RESULT;
|
|
'\n*[_type == "release" && slug.current == $slug][0]{\n name,\n albumArtist,\n label,\n catalogNo,\n upc,\n "slug": slug.current,\n releaseDate,\n shortDescription,\n description,\n albumCover,\n "artists": artists[]->{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n },\n "composers": tracks[].work->composer->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n },\n "arrangers": tracks[].work->arranger->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n },\n tracks[]{\n "workId": work->_id,\n "workTitle": work->title,\n "composerName": work->composer->name,\n "arrangerName": work->arranger->name,\n movement,\n displayTitle,\n duration,\n artist,\n "previewMp3Url": previewMp3.asset->url\n },\n reviews[]{ quote, author },\n credits[]{ role, name },\n recordingDate,\n recordingLocation,\n recordingFormat,\n masteringFormat,\n "bookletPdfUrl": bookletPdf.asset->url,\n equipment[]{ type, name }\n}\n': RELEASE_DETAIL_QUERY_RESULT;
|
|
'*[_type == "release" && defined(slug.current)]{ "slug": slug.current }': RELEASE_SLUGS_QUERY_RESULT;
|
|
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_TITLE_ASC_QUERY_RESULT;
|
|
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(name) desc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_TITLE_DESC_QUERY_RESULT;
|
|
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(catalogNo) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_CATALOG_NO_ASC_QUERY_RESULT;
|
|
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(catalogNo) desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_CATALOG_NO_DESC_QUERY_RESULT;
|
|
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(coalesce(releaseDate, "9999-12-31") asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_DATE_ASC_QUERY_RESULT;
|
|
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(coalesce(releaseDate, "0000-01-01") desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_DATE_DESC_QUERY_RESULT;
|
|
'\ncount(*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n])\n': RELEASES_COUNT_QUERY_RESULT;
|
|
'*[_type == "artist" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_ARTISTS_QUERY_RESULT;
|
|
'*[_type == "release" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_RELEASES_QUERY_RESULT;
|
|
'*[_type == "composer" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_COMPOSERS_QUERY_RESULT;
|
|
'*[_type == "work" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_WORKS_QUERY_RESULT;
|
|
'*[_type == "work" && slug.current == $slug][0]{ "composerSlug": composer->slug.current }': WORK_COMPOSER_SLUG_QUERY_RESULT;
|
|
'\n*[_type == "work" && slug.current == $slug][0]{\n title,\n description,\n "slug": slug.current,\n "composerName": composer->name,\n "composerSlug": composer->slug.current,\n "composerImage": composer->image,\n "arrangerName": arranger->name,\n\n "releases": *[\n _type == "release" &&\n count(tracks[work->slug.current == $slug]) > 0\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n }\n}\n': WORK_DETAIL_QUERY_RESULT;
|
|
'*[_type == "work" && defined(slug.current)]{ "slug": slug.current }': WORK_SLUGS_QUERY_RESULT;
|
|
}
|
|
}
|