///
import { WalletAdapter } from '@solana/wallet-adapter-base';
import { z } from 'zod';
import type { ClaimableTokensClient, EntityManagerService, LoggerService, PaymentRouterClient, SolanaClient, SolanaRelayService, StorageService } from '../../services';
import { ImageFile } from '../../types/File';
import { Mood, Genre } from '../generated/default';
import type { CreatePlaylistRequestBody, UpdatePlaylistRequestBody } from '../generated/default';
import type { UploadPlaylistProgressHandler } from '../playlists/types';
export type AlbumsApiServicesConfig = {
storage: StorageService;
entityManager?: EntityManagerService;
solanaRelay: SolanaRelayService;
solanaClient: SolanaClient;
claimableTokensClient: ClaimableTokensClient;
paymentRouterClient: PaymentRouterClient;
logger?: LoggerService;
};
export type CreateAlbumRequestBody = Omit & {
albumName: string;
};
export type UpdateAlbumRequestBody = Omit & {
albumName?: string;
};
export type CreateAlbumRequest = {
userId: string;
albumId?: string;
metadata: CreateAlbumRequestBody;
};
export type CreateAlbumRequestWithFiles = CreateAlbumRequest & {
imageFile?: z.input;
onProgress?: UploadPlaylistProgressHandler;
};
export type UpdateAlbumRequest = {
userId: string;
albumId: string;
metadata: UpdateAlbumRequestBody;
imageFile?: z.input;
onProgress?: UploadPlaylistProgressHandler;
};
export type DeleteAlbumRequest = {
userId: string;
albumId: string;
};
export type FavoriteAlbumRequest = {
userId: string;
albumId: string;
metadata?: {
isSaveOfRepost?: boolean;
};
};
export type UnfavoriteAlbumRequest = {
userId: string;
albumId: string;
};
export type RepostAlbumRequest = {
userId: string;
albumId: string;
metadata?: {
isRepostOfRepost?: boolean;
};
};
export type UnrepostAlbumRequest = {
userId: string;
albumId: string;
};
export declare const getAlbumSchema: z.ZodObject<{
userId: z.ZodOptional>;
albumId: z.ZodEffects;
}, "strip", z.ZodTypeAny, {
albumId: number;
userId?: number | undefined;
}, {
albumId: string;
userId?: string | undefined;
}>;
export type getAlbumRequest = z.input;
export declare const getAlbumsSchema: z.ZodObject<{
userId: z.ZodOptional>;
id: z.ZodArray, "many">;
}, "strip", z.ZodTypeAny, {
id: number[];
userId?: number | undefined;
}, {
id: string[];
userId?: string | undefined;
}>;
export type getAlbumsRequest = z.input;
export declare const getAlbumTracksSchema: z.ZodObject<{
albumId: z.ZodEffects;
}, "strip", z.ZodTypeAny, {
albumId: number;
}, {
albumId: string;
}>;
export type getAlbumTracksRequest = z.input;
export declare const CreateAlbumMetadataSchema: z.ZodObject<{
albumName: z.ZodString;
isPrivate: z.ZodOptional;
description: z.ZodOptional;
license: z.ZodOptional;
releaseDate: z.ZodOptional;
ddexReleaseIds: z.ZodOptional>>;
ddexApp: z.ZodOptional;
upc: z.ZodOptional;
artists: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>;
copyrightLine: z.ZodOptional>>;
producerCopyrightLine: z.ZodOptional>>;
parentalWarningType: z.ZodOptional>;
isStreamGated: z.ZodOptional;
streamConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
isDownloadGated: z.ZodOptional;
downloadConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
isScheduledRelease: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
albumName: string;
isPrivate?: boolean | undefined;
description?: string | undefined;
license?: string | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
upc?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isScheduledRelease?: boolean | undefined;
}, {
albumName: string;
isPrivate?: boolean | undefined;
description?: string | undefined;
license?: string | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
upc?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isScheduledRelease?: boolean | undefined;
}>;
export type CreateAlbumMetadata = z.input;
export declare const CreateAlbumSchema: z.ZodObject<{
albumId: z.ZodOptional>;
userId: z.ZodEffects;
imageFile: z.ZodOptional;
name: z.ZodOptional;
type: z.ZodOptional;
}, "strip", z.ZodTypeAny, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}>, z.ZodType, z.ZodObject<{
uri: z.ZodString;
name: z.ZodNullable;
type: z.ZodNullable;
copyError: z.ZodOptional;
fileCopyUri: z.ZodNullable>;
size: z.ZodNullable>;
}, "strip", z.ZodTypeAny, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>]>, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>>;
metadata: z.ZodObject<{
albumName: z.ZodString;
isPrivate: z.ZodOptional;
description: z.ZodOptional;
license: z.ZodOptional;
releaseDate: z.ZodOptional;
ddexReleaseIds: z.ZodOptional>>;
ddexApp: z.ZodOptional;
upc: z.ZodOptional;
artists: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>;
copyrightLine: z.ZodOptional>>;
producerCopyrightLine: z.ZodOptional>>;
parentalWarningType: z.ZodOptional>;
isStreamGated: z.ZodOptional;
streamConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
isDownloadGated: z.ZodOptional;
downloadConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
isScheduledRelease: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
albumName: string;
isPrivate?: boolean | undefined;
description?: string | undefined;
license?: string | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
upc?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isScheduledRelease?: boolean | undefined;
}, {
albumName: string;
isPrivate?: boolean | undefined;
description?: string | undefined;
license?: string | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
upc?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isScheduledRelease?: boolean | undefined;
}>;
onProgress: z.ZodOptional, z.ZodUnknown>>;
trackIds: z.ZodOptional, "many">>;
}, "strict", z.ZodTypeAny, {
userId: number;
metadata: {
albumName: string;
isPrivate?: boolean | undefined;
description?: string | undefined;
license?: string | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
upc?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isScheduledRelease?: boolean | undefined;
};
albumId?: number | undefined;
imageFile?: File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
} | undefined;
onProgress?: ((...args: unknown[]) => unknown) | undefined;
trackIds?: number[] | undefined;
}, {
userId: string;
metadata: {
albumName: string;
isPrivate?: boolean | undefined;
description?: string | undefined;
license?: string | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
upc?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isScheduledRelease?: boolean | undefined;
};
albumId?: string | undefined;
imageFile?: File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
} | undefined;
onProgress?: ((...args: unknown[]) => unknown) | undefined;
trackIds?: string[] | undefined;
}>;
export type EntityManagerCreateAlbumRequest = z.input;
export declare const UploadAlbumMetadataSchema: z.ZodObject<{
description: z.ZodOptional;
license: z.ZodOptional;
isStreamGated: z.ZodOptional;
streamConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
isDownloadGated: z.ZodOptional;
downloadConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
releaseDate: z.ZodOptional;
ddexReleaseIds: z.ZodOptional>>;
ddexApp: z.ZodOptional;
artists: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>;
copyrightLine: z.ZodOptional>>;
producerCopyrightLine: z.ZodOptional>>;
parentalWarningType: z.ZodOptional>;
isScheduledRelease: z.ZodOptional;
isPrivate: z.ZodOptional;
upc: z.ZodOptional;
albumName: z.ZodString;
genre: z.ZodEnum<[Genre, ...Genre[]]>;
mood: z.ZodOptional>;
tags: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
genre: "Electronic" | "Rock" | "Metal" | "Alternative" | "Hip-Hop/Rap" | "Experimental" | "Punk" | "Folk" | "Pop" | "Ambient" | "Soundtrack" | "World" | "Jazz" | "Acoustic" | "Funk" | "R&B/Soul" | "Devotional" | "Classical" | "Reggae" | "Podcasts" | "Country" | "Spoken Word" | "Comedy" | "Blues" | "Kids" | "Audiobooks" | "Latin" | "Lo-Fi" | "Hyperpop" | "Dancehall" | "Techno" | "Trap" | "House" | "Tech House" | "Deep House" | "Disco" | "Electro" | "Jungle" | "Progressive House" | "Hardstyle" | "Glitch Hop" | "Trance" | "Future Bass" | "Future House" | "Tropical House" | "Downtempo" | "Drum & Bass" | "Dubstep" | "Jersey Club" | "Vaporwave" | "Moombahton";
albumName: string;
description?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
}, {
genre: "Electronic" | "Rock" | "Metal" | "Alternative" | "Hip-Hop/Rap" | "Experimental" | "Punk" | "Folk" | "Pop" | "Ambient" | "Soundtrack" | "World" | "Jazz" | "Acoustic" | "Funk" | "R&B/Soul" | "Devotional" | "Classical" | "Reggae" | "Podcasts" | "Country" | "Spoken Word" | "Comedy" | "Blues" | "Kids" | "Audiobooks" | "Latin" | "Lo-Fi" | "Hyperpop" | "Dancehall" | "Techno" | "Trap" | "House" | "Tech House" | "Deep House" | "Disco" | "Electro" | "Jungle" | "Progressive House" | "Hardstyle" | "Glitch Hop" | "Trance" | "Future Bass" | "Future House" | "Tropical House" | "Downtempo" | "Drum & Bass" | "Dubstep" | "Jersey Club" | "Vaporwave" | "Moombahton";
albumName: string;
description?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
}>;
export type AlbumMetadata = z.input;
export declare const UpdateAlbumMetadataSchema: z.ZodObject<{
description: z.ZodOptional>;
genre: z.ZodOptional>;
mood: z.ZodOptional>>;
tags: z.ZodOptional>;
license: z.ZodOptional>;
isStreamGated: z.ZodOptional>;
streamConditions: z.ZodOptional, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>>;
isDownloadGated: z.ZodOptional>;
downloadConditions: z.ZodOptional, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>>;
releaseDate: z.ZodOptional>;
ddexReleaseIds: z.ZodOptional>>>;
ddexApp: z.ZodOptional>;
artists: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>>;
copyrightLine: z.ZodOptional>>>;
producerCopyrightLine: z.ZodOptional>>>;
parentalWarningType: z.ZodOptional>>;
isScheduledRelease: z.ZodOptional>;
isPrivate: z.ZodOptional>;
upc: z.ZodOptional>;
albumName: z.ZodOptional;
playlistContents: z.ZodOptional;
trackId: z.ZodEffects;
}, "strip", z.ZodTypeAny, {
timestamp: number;
trackId: number;
metadataTimestamp?: number | undefined;
}, {
timestamp: number;
trackId: string;
metadataTimestamp?: number | undefined;
}>, "many">>;
}, "strict", z.ZodTypeAny, {
description?: string | undefined;
genre?: Genre | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
albumName?: string | undefined;
playlistContents?: {
timestamp: number;
trackId: number;
metadataTimestamp?: number | undefined;
}[] | undefined;
}, {
description?: string | undefined;
genre?: Genre | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
albumName?: string | undefined;
playlistContents?: {
timestamp: number;
trackId: string;
metadataTimestamp?: number | undefined;
}[] | undefined;
}>;
export declare const UploadAlbumSchema: z.ZodObject<{
userId: z.ZodEffects;
imageFile: z.ZodEffects;
name: z.ZodOptional;
type: z.ZodOptional;
}, "strip", z.ZodTypeAny, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}>, z.ZodType, z.ZodObject<{
uri: z.ZodString;
name: z.ZodNullable;
type: z.ZodNullable;
copyError: z.ZodOptional;
fileCopyUri: z.ZodNullable>;
size: z.ZodNullable>;
}, "strip", z.ZodTypeAny, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>]>, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>;
metadata: z.ZodObject<{
description: z.ZodOptional;
license: z.ZodOptional;
isStreamGated: z.ZodOptional;
streamConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
isDownloadGated: z.ZodOptional;
downloadConditions: z.ZodNullable, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>;
releaseDate: z.ZodOptional;
ddexReleaseIds: z.ZodOptional>>;
ddexApp: z.ZodOptional;
artists: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>;
copyrightLine: z.ZodOptional>>;
producerCopyrightLine: z.ZodOptional>>;
parentalWarningType: z.ZodOptional>;
isScheduledRelease: z.ZodOptional;
isPrivate: z.ZodOptional;
upc: z.ZodOptional;
albumName: z.ZodString;
genre: z.ZodEnum<[Genre, ...Genre[]]>;
mood: z.ZodOptional>;
tags: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
genre: "Electronic" | "Rock" | "Metal" | "Alternative" | "Hip-Hop/Rap" | "Experimental" | "Punk" | "Folk" | "Pop" | "Ambient" | "Soundtrack" | "World" | "Jazz" | "Acoustic" | "Funk" | "R&B/Soul" | "Devotional" | "Classical" | "Reggae" | "Podcasts" | "Country" | "Spoken Word" | "Comedy" | "Blues" | "Kids" | "Audiobooks" | "Latin" | "Lo-Fi" | "Hyperpop" | "Dancehall" | "Techno" | "Trap" | "House" | "Tech House" | "Deep House" | "Disco" | "Electro" | "Jungle" | "Progressive House" | "Hardstyle" | "Glitch Hop" | "Trance" | "Future Bass" | "Future House" | "Tropical House" | "Downtempo" | "Drum & Bass" | "Dubstep" | "Jersey Club" | "Vaporwave" | "Moombahton";
albumName: string;
description?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
}, {
genre: "Electronic" | "Rock" | "Metal" | "Alternative" | "Hip-Hop/Rap" | "Experimental" | "Punk" | "Folk" | "Pop" | "Ambient" | "Soundtrack" | "World" | "Jazz" | "Acoustic" | "Funk" | "R&B/Soul" | "Devotional" | "Classical" | "Reggae" | "Podcasts" | "Country" | "Spoken Word" | "Comedy" | "Blues" | "Kids" | "Audiobooks" | "Latin" | "Lo-Fi" | "Hyperpop" | "Dancehall" | "Techno" | "Trap" | "House" | "Tech House" | "Deep House" | "Disco" | "Electro" | "Jungle" | "Progressive House" | "Hardstyle" | "Glitch Hop" | "Trance" | "Future Bass" | "Future House" | "Tropical House" | "Downtempo" | "Drum & Bass" | "Dubstep" | "Jersey Club" | "Vaporwave" | "Moombahton";
albumName: string;
description?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
}>;
onProgress: z.ZodOptional, z.ZodUnknown>>;
/**
* Track metadata is populated from the album if fields are missing
*/
trackMetadatas: z.ZodArray>;
trackId: z.ZodOptional>;
placementHosts: z.ZodOptional;
previewStartSeconds: z.ZodOptional;
origFileCid: z.ZodOptional;
origFilename: z.ZodOptional;
bpm: z.ZodOptional>;
musicalKey: z.ZodOptional>;
trackCid: z.ZodOptional;
previewCid: z.ZodOptional;
duration: z.ZodOptional;
genre: z.ZodOptional>;
title: z.ZodString;
ownerId: z.ZodOptional;
aiAttributionUserId: z.ZodOptional>;
fieldVisibility: z.ZodOptional;
tags: z.ZodOptional;
genre: z.ZodOptional;
share: z.ZodOptional;
playCount: z.ZodOptional;
remixes: z.ZodOptional;
}, "strip", z.ZodTypeAny, {
mood?: boolean | undefined;
tags?: boolean | undefined;
genre?: boolean | undefined;
share?: boolean | undefined;
playCount?: boolean | undefined;
remixes?: boolean | undefined;
}, {
mood?: boolean | undefined;
tags?: boolean | undefined;
genre?: boolean | undefined;
share?: boolean | undefined;
playCount?: boolean | undefined;
remixes?: boolean | undefined;
}>>;
mood: z.ZodOptional>>>;
tags: z.ZodOptional>>;
isrc: z.ZodOptional>;
isUnlisted: z.ZodOptional;
iswc: z.ZodOptional>;
license: z.ZodOptional>;
isStreamGated: z.ZodOptional>;
streamConditions: z.ZodOptional, z.ZodObject<{
tipUserId: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
tipUserId: number;
}, {
tipUserId: number;
}>, z.ZodObject<{
usdcPurchase: z.ZodObject<{
price: z.ZodNumber;
splits: z.ZodArray, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>, z.ZodObject<{
tokenGate: z.ZodObject<{
tokenMint: z.ZodString;
tokenAmount: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
tokenMint: string;
tokenAmount: number;
}, {
tokenMint: string;
tokenAmount: number;
}>;
}, "strict", z.ZodTypeAny, {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
}, {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
}>]>>>>;
accessAuthorities: z.ZodOptional>>;
isDownloadGated: z.ZodOptional;
downloadConditions: z.ZodOptional, z.ZodObject<{
tipUserId: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
tipUserId: number;
}, {
tipUserId: number;
}>, z.ZodObject<{
usdcPurchase: z.ZodObject<{
price: z.ZodNumber;
splits: z.ZodArray, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>, z.ZodObject<{
tokenGate: z.ZodObject<{
tokenMint: z.ZodString;
tokenAmount: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
tokenMint: string;
tokenAmount: number;
}, {
tokenMint: string;
tokenAmount: number;
}>;
}, "strict", z.ZodTypeAny, {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
}, {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
}>]>>>>;
releaseDate: z.ZodOptional;
remixOf: z.ZodOptional;
}, "strip", z.ZodTypeAny, {
parentTrackId: number;
}, {
parentTrackId: string;
}>, "many">;
}, "strict", z.ZodTypeAny, {
tracks: {
parentTrackId: number;
}[];
}, {
tracks: {
parentTrackId: string;
}[];
}>>;
stemOf: z.ZodOptional;
parentTrackId: z.ZodEffects;
}, "strict", z.ZodTypeAny, {
category: import("../../types/StemCategory").StemCategory;
parentTrackId: number;
}, {
category: import("../../types/StemCategory").StemCategory;
parentTrackId: string;
}>>;
audioUploadId: z.ZodOptional;
coverArtSizes: z.ZodOptional;
isDownloadable: z.ZodOptional>;
isOriginalAvailable: z.ZodOptional;
ddexReleaseIds: z.ZodOptional>>;
ddexApp: z.ZodNullable>;
artists: z.ZodNullable;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>;
resourceContributors: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>;
indirectResourceContributors: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>;
rightsController: z.ZodOptional;
rights_share_unknown: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
rights_share_unknown?: string | undefined;
}, {
name: string;
roles: string[];
rights_share_unknown?: string | undefined;
}>>>;
copyrightLine: z.ZodOptional>>;
producerCopyrightLine: z.ZodOptional>>;
parentalWarningType: z.ZodOptional>;
isCustomBpm: z.ZodOptional;
isCustomMusicalKey: z.ZodOptional;
audioAnalysisErrorCount: z.ZodOptional;
commentsDisabled: z.ZodOptional;
isScheduledRelease: z.ZodOptional;
}, "strip", z.ZodTypeAny, {
title: string;
description?: string | null | undefined;
trackId?: number | undefined;
placementHosts?: string | undefined;
previewStartSeconds?: number | undefined;
origFileCid?: string | undefined;
origFilename?: string | undefined;
bpm?: number | null | undefined;
musicalKey?: string | null | undefined;
trackCid?: string | undefined;
previewCid?: string | undefined;
duration?: number | undefined;
genre?: Genre | undefined;
ownerId?: number | undefined;
aiAttributionUserId?: number | undefined;
fieldVisibility?: {
mood?: boolean | undefined;
tags?: boolean | undefined;
genre?: boolean | undefined;
share?: boolean | undefined;
playCount?: boolean | undefined;
remixes?: boolean | undefined;
} | undefined;
mood?: Mood | null | undefined;
tags?: string | null | undefined;
isrc?: string | null | undefined;
isUnlisted?: boolean | undefined;
iswc?: string | null | undefined;
license?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
accessAuthorities?: string[] | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
remixOf?: {
tracks: {
parentTrackId: number;
}[];
} | undefined;
stemOf?: {
category: import("../../types/StemCategory").StemCategory;
parentTrackId: number;
} | undefined;
audioUploadId?: string | undefined;
coverArtSizes?: string | undefined;
isDownloadable?: boolean | undefined;
isOriginalAvailable?: boolean | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | null | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
resourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
indirectResourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
rightsController?: {
name: string;
roles: string[];
rights_share_unknown?: string | undefined;
} | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isCustomBpm?: boolean | undefined;
isCustomMusicalKey?: boolean | undefined;
audioAnalysisErrorCount?: number | undefined;
commentsDisabled?: boolean | undefined;
isScheduledRelease?: boolean | undefined;
}, {
title: string;
description?: string | null | undefined;
trackId?: string | undefined;
placementHosts?: string | undefined;
previewStartSeconds?: number | undefined;
origFileCid?: string | undefined;
origFilename?: string | undefined;
bpm?: number | null | undefined;
musicalKey?: string | null | undefined;
trackCid?: string | undefined;
previewCid?: string | undefined;
duration?: number | undefined;
genre?: Genre | undefined;
ownerId?: number | undefined;
aiAttributionUserId?: string | undefined;
fieldVisibility?: {
mood?: boolean | undefined;
tags?: boolean | undefined;
genre?: boolean | undefined;
share?: boolean | undefined;
playCount?: boolean | undefined;
remixes?: boolean | undefined;
} | undefined;
mood?: Mood | null | undefined;
tags?: string | null | undefined;
isrc?: string | null | undefined;
isUnlisted?: boolean | undefined;
iswc?: string | null | undefined;
license?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
accessAuthorities?: string[] | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
remixOf?: {
tracks: {
parentTrackId: string;
}[];
} | undefined;
stemOf?: {
category: import("../../types/StemCategory").StemCategory;
parentTrackId: string;
} | undefined;
audioUploadId?: string | undefined;
coverArtSizes?: string | undefined;
isDownloadable?: boolean | undefined;
isOriginalAvailable?: boolean | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | null | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
resourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
indirectResourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
rightsController?: {
name: string;
roles: string[];
rights_share_unknown?: string | undefined;
} | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isCustomBpm?: boolean | undefined;
isCustomMusicalKey?: boolean | undefined;
audioAnalysisErrorCount?: number | undefined;
commentsDisabled?: boolean | undefined;
isScheduledRelease?: boolean | undefined;
}>, "many">;
audioFiles: z.ZodArray;
name: z.ZodOptional;
type: z.ZodOptional;
}, "strip", z.ZodTypeAny, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}>, z.ZodType, z.ZodObject<{
uri: z.ZodString;
name: z.ZodNullable;
type: z.ZodNullable;
copyError: z.ZodOptional;
fileCopyUri: z.ZodNullable>;
size: z.ZodNullable>;
}, "strip", z.ZodTypeAny, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>]>, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>, "many">;
}, "strict", z.ZodTypeAny, {
userId: number;
metadata: {
genre: "Electronic" | "Rock" | "Metal" | "Alternative" | "Hip-Hop/Rap" | "Experimental" | "Punk" | "Folk" | "Pop" | "Ambient" | "Soundtrack" | "World" | "Jazz" | "Acoustic" | "Funk" | "R&B/Soul" | "Devotional" | "Classical" | "Reggae" | "Podcasts" | "Country" | "Spoken Word" | "Comedy" | "Blues" | "Kids" | "Audiobooks" | "Latin" | "Lo-Fi" | "Hyperpop" | "Dancehall" | "Techno" | "Trap" | "House" | "Tech House" | "Deep House" | "Disco" | "Electro" | "Jungle" | "Progressive House" | "Hardstyle" | "Glitch Hop" | "Trance" | "Future Bass" | "Future House" | "Tropical House" | "Downtempo" | "Drum & Bass" | "Dubstep" | "Jersey Club" | "Vaporwave" | "Moombahton";
albumName: string;
description?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
};
imageFile: (File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}) & (File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
} | undefined);
trackMetadatas: {
title: string;
description?: string | null | undefined;
trackId?: number | undefined;
placementHosts?: string | undefined;
previewStartSeconds?: number | undefined;
origFileCid?: string | undefined;
origFilename?: string | undefined;
bpm?: number | null | undefined;
musicalKey?: string | null | undefined;
trackCid?: string | undefined;
previewCid?: string | undefined;
duration?: number | undefined;
genre?: Genre | undefined;
ownerId?: number | undefined;
aiAttributionUserId?: number | undefined;
fieldVisibility?: {
mood?: boolean | undefined;
tags?: boolean | undefined;
genre?: boolean | undefined;
share?: boolean | undefined;
playCount?: boolean | undefined;
remixes?: boolean | undefined;
} | undefined;
mood?: Mood | null | undefined;
tags?: string | null | undefined;
isrc?: string | null | undefined;
isUnlisted?: boolean | undefined;
iswc?: string | null | undefined;
license?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
accessAuthorities?: string[] | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
remixOf?: {
tracks: {
parentTrackId: number;
}[];
} | undefined;
stemOf?: {
category: import("../../types/StemCategory").StemCategory;
parentTrackId: number;
} | undefined;
audioUploadId?: string | undefined;
coverArtSizes?: string | undefined;
isDownloadable?: boolean | undefined;
isOriginalAvailable?: boolean | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | null | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
resourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
indirectResourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
rightsController?: {
name: string;
roles: string[];
rights_share_unknown?: string | undefined;
} | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isCustomBpm?: boolean | undefined;
isCustomMusicalKey?: boolean | undefined;
audioAnalysisErrorCount?: number | undefined;
commentsDisabled?: boolean | undefined;
isScheduledRelease?: boolean | undefined;
}[];
audioFiles: (File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
})[];
onProgress?: ((...args: unknown[]) => unknown) | undefined;
}, {
userId: string;
metadata: {
genre: "Electronic" | "Rock" | "Metal" | "Alternative" | "Hip-Hop/Rap" | "Experimental" | "Punk" | "Folk" | "Pop" | "Ambient" | "Soundtrack" | "World" | "Jazz" | "Acoustic" | "Funk" | "R&B/Soul" | "Devotional" | "Classical" | "Reggae" | "Podcasts" | "Country" | "Spoken Word" | "Comedy" | "Blues" | "Kids" | "Audiobooks" | "Latin" | "Lo-Fi" | "Hyperpop" | "Dancehall" | "Techno" | "Trap" | "House" | "Tech House" | "Deep House" | "Disco" | "Electro" | "Jungle" | "Progressive House" | "Hardstyle" | "Glitch Hop" | "Trance" | "Future Bass" | "Future House" | "Tropical House" | "Downtempo" | "Drum & Bass" | "Dubstep" | "Jersey Club" | "Vaporwave" | "Moombahton";
albumName: string;
description?: string | undefined;
license?: string | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isScheduledRelease?: boolean | undefined;
isPrivate?: boolean | undefined;
upc?: string | undefined;
mood?: Mood | undefined;
tags?: string | undefined;
};
imageFile: (File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}) & (File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
} | undefined);
trackMetadatas: {
title: string;
description?: string | null | undefined;
trackId?: string | undefined;
placementHosts?: string | undefined;
previewStartSeconds?: number | undefined;
origFileCid?: string | undefined;
origFilename?: string | undefined;
bpm?: number | null | undefined;
musicalKey?: string | null | undefined;
trackCid?: string | undefined;
previewCid?: string | undefined;
duration?: number | undefined;
genre?: Genre | undefined;
ownerId?: number | undefined;
aiAttributionUserId?: string | undefined;
fieldVisibility?: {
mood?: boolean | undefined;
tags?: boolean | undefined;
genre?: boolean | undefined;
share?: boolean | undefined;
playCount?: boolean | undefined;
remixes?: boolean | undefined;
} | undefined;
mood?: Mood | null | undefined;
tags?: string | null | undefined;
isrc?: string | null | undefined;
isUnlisted?: boolean | undefined;
iswc?: string | null | undefined;
license?: string | null | undefined;
isStreamGated?: boolean | undefined;
streamConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
accessAuthorities?: string[] | null | undefined;
isDownloadGated?: boolean | undefined;
downloadConditions?: {
followUserId: number;
} | {
tipUserId: number;
} | {
tokenGate: {
tokenMint: string;
tokenAmount: number;
};
} | {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
} | null | undefined;
releaseDate?: Date | undefined;
remixOf?: {
tracks: {
parentTrackId: string;
}[];
} | undefined;
stemOf?: {
category: import("../../types/StemCategory").StemCategory;
parentTrackId: string;
} | undefined;
audioUploadId?: string | undefined;
coverArtSizes?: string | undefined;
isDownloadable?: boolean | undefined;
isOriginalAvailable?: boolean | undefined;
ddexReleaseIds?: Record | null | undefined;
ddexApp?: string | null | undefined;
artists?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
resourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
indirectResourceContributors?: {
name: string;
roles: string[];
sequence_number?: number | undefined;
}[] | null | undefined;
rightsController?: {
name: string;
roles: string[];
rights_share_unknown?: string | undefined;
} | null | undefined;
copyrightLine?: {
year: string;
text: string;
} | null | undefined;
producerCopyrightLine?: {
year: string;
text: string;
} | null | undefined;
parentalWarningType?: string | null | undefined;
isCustomBpm?: boolean | undefined;
isCustomMusicalKey?: boolean | undefined;
audioAnalysisErrorCount?: number | undefined;
commentsDisabled?: boolean | undefined;
isScheduledRelease?: boolean | undefined;
}[];
audioFiles: (File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
})[];
onProgress?: ((...args: unknown[]) => unknown) | undefined;
}>;
export type UploadAlbumRequest = z.input;
export declare const UpdateAlbumSchema: z.ZodObject<{
userId: z.ZodEffects;
albumId: z.ZodEffects;
imageFile: z.ZodOptional;
name: z.ZodOptional;
type: z.ZodOptional;
}, "strip", z.ZodTypeAny, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}, {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
}>, z.ZodType, z.ZodObject<{
uri: z.ZodString;
name: z.ZodNullable;
type: z.ZodNullable;
copyError: z.ZodOptional;
fileCopyUri: z.ZodNullable>;
size: z.ZodNullable>;
}, "strip", z.ZodTypeAny, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>]>, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}, File | {
buffer: Buffer;
name?: string | undefined;
type?: string | undefined;
} | {
name: string | null;
type: string | null;
uri: string;
copyError?: string | undefined;
fileCopyUri?: string | null | undefined;
size?: number | null | undefined;
}>>;
metadata: z.ZodObject<{
description: z.ZodOptional>;
genre: z.ZodOptional>;
mood: z.ZodOptional>>;
tags: z.ZodOptional>;
license: z.ZodOptional>;
isStreamGated: z.ZodOptional>;
streamConditions: z.ZodOptional, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>>;
isDownloadGated: z.ZodOptional>;
downloadConditions: z.ZodOptional, "many">;
}, "strip", z.ZodTypeAny, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}, {
splits: {
userId: number;
percentage: number;
}[];
price: number;
}>;
}, "strict", z.ZodTypeAny, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}, {
usdcPurchase: {
splits: {
userId: number;
percentage: number;
}[];
price: number;
};
}>>>>;
releaseDate: z.ZodOptional>;
ddexReleaseIds: z.ZodOptional>>>;
ddexApp: z.ZodOptional>;
artists: z.ZodOptional;
sequence_number: z.ZodOptional;
}, "strict", z.ZodTypeAny, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}, {
name: string;
roles: string[];
sequence_number?: number | undefined;
}>, "many">>>>;
copyrightLine: z.ZodOptional>>>;
producerCopyrightLine: z.ZodOptional>>>;
parentalWarningType: z.ZodOptional>>;
isScheduledRelease: z.ZodOptional>;
isPrivate: z.ZodOptional>;
upc: z.ZodOptional>;
albumName: z.ZodOptional;
playlistContents: z.ZodOptional;
trackId: z.ZodEffects