/* tslint:disable */ /* eslint-disable */ // @ts-nocheck /** * Audius API * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists, mapValues } from '../runtime'; import type { UpdateUserRequestBodyEvents } from './UpdateUserRequestBodyEvents'; import { UpdateUserRequestBodyEventsFromJSON, UpdateUserRequestBodyEventsFromJSONTyped, UpdateUserRequestBodyEventsToJSON, } from './UpdateUserRequestBodyEvents'; import type { UserPlaylistLibrary } from './UserPlaylistLibrary'; import { UserPlaylistLibraryFromJSON, UserPlaylistLibraryFromJSONTyped, UserPlaylistLibraryToJSON, } from './UserPlaylistLibrary'; /** * Request body for updating user profile. All fields are optional. * @export * @interface UpdateUserRequestBody */ export interface UpdateUserRequestBody { /** * User handle. Can only be set if the user does not already have a handle. * @type {string} * @memberof UpdateUserRequestBody */ handle?: string; /** * Display name * @type {string} * @memberof UpdateUserRequestBody */ name?: string; /** * User bio * @type {string} * @memberof UpdateUserRequestBody */ bio?: string; /** * User location * @type {string} * @memberof UpdateUserRequestBody */ location?: string; /** * Website URL * @type {string} * @memberof UpdateUserRequestBody */ website?: string; /** * Donation link * @type {string} * @memberof UpdateUserRequestBody */ donation?: string; /** * Twitter handle (without @) * @type {string} * @memberof UpdateUserRequestBody */ twitterHandle?: string; /** * Instagram handle (without @) * @type {string} * @memberof UpdateUserRequestBody */ instagramHandle?: string; /** * TikTok handle (without @) * @type {string} * @memberof UpdateUserRequestBody */ tiktokHandle?: string; /** * Profile picture CID or URL * @type {string} * @memberof UpdateUserRequestBody */ profilePicture?: string; /** * Profile picture sizes metadata * @type {string} * @memberof UpdateUserRequestBody */ profilePictureSizes?: string; /** * Cover photo CID or URL * @type {string} * @memberof UpdateUserRequestBody */ coverPhoto?: string; /** * Cover photo sizes metadata * @type {string} * @memberof UpdateUserRequestBody */ coverPhotoSizes?: string; /** * Type of profile (e.g., 'label' for record labels) * @type {string} * @memberof UpdateUserRequestBody */ profileType?: UpdateUserRequestBodyProfileTypeEnum; /** * Whether the user is deactivated * @type {boolean} * @memberof UpdateUserRequestBody */ isDeactivated?: boolean; /** * Track hash ID to feature as artist pick * @type {string} * @memberof UpdateUserRequestBody */ artistPickTrackId?: string; /** * Whether to allow AI attribution * @type {boolean} * @memberof UpdateUserRequestBody */ allowAiAttribution?: boolean; /** * Solana USDC payout wallet address * @type {string} * @memberof UpdateUserRequestBody */ splUsdcPayoutWallet?: string; /** * Coin flair mint address * @type {string} * @memberof UpdateUserRequestBody */ coinFlairMint?: string; /** * * @type {UserPlaylistLibrary} * @memberof UpdateUserRequestBody */ playlistLibrary?: UserPlaylistLibrary; /** * * @type {UpdateUserRequestBodyEvents} * @memberof UpdateUserRequestBody */ events?: UpdateUserRequestBodyEvents; } /** * @export */ export const UpdateUserRequestBodyProfileTypeEnum = { Label: 'label' } as const; export type UpdateUserRequestBodyProfileTypeEnum = typeof UpdateUserRequestBodyProfileTypeEnum[keyof typeof UpdateUserRequestBodyProfileTypeEnum]; /** * Check if a given object implements the UpdateUserRequestBody interface. */ export function instanceOfUpdateUserRequestBody(value: object): value is UpdateUserRequestBody { let isInstance = true; return isInstance; } export function UpdateUserRequestBodyFromJSON(json: any): UpdateUserRequestBody { return UpdateUserRequestBodyFromJSONTyped(json, false); } export function UpdateUserRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserRequestBody { if ((json === undefined) || (json === null)) { return json; } return { 'handle': !exists(json, 'handle') ? undefined : json['handle'], 'name': !exists(json, 'name') ? undefined : json['name'], 'bio': !exists(json, 'bio') ? undefined : json['bio'], 'location': !exists(json, 'location') ? undefined : json['location'], 'website': !exists(json, 'website') ? undefined : json['website'], 'donation': !exists(json, 'donation') ? undefined : json['donation'], 'twitterHandle': !exists(json, 'twitter_handle') ? undefined : json['twitter_handle'], 'instagramHandle': !exists(json, 'instagram_handle') ? undefined : json['instagram_handle'], 'tiktokHandle': !exists(json, 'tiktok_handle') ? undefined : json['tiktok_handle'], 'profilePicture': !exists(json, 'profile_picture') ? undefined : json['profile_picture'], 'profilePictureSizes': !exists(json, 'profile_picture_sizes') ? undefined : json['profile_picture_sizes'], 'coverPhoto': !exists(json, 'cover_photo') ? undefined : json['cover_photo'], 'coverPhotoSizes': !exists(json, 'cover_photo_sizes') ? undefined : json['cover_photo_sizes'], 'profileType': !exists(json, 'profile_type') ? undefined : json['profile_type'], 'isDeactivated': !exists(json, 'is_deactivated') ? undefined : json['is_deactivated'], 'artistPickTrackId': !exists(json, 'artist_pick_track_id') ? undefined : json['artist_pick_track_id'], 'allowAiAttribution': !exists(json, 'allow_ai_attribution') ? undefined : json['allow_ai_attribution'], 'splUsdcPayoutWallet': !exists(json, 'spl_usdc_payout_wallet') ? undefined : json['spl_usdc_payout_wallet'], 'coinFlairMint': !exists(json, 'coin_flair_mint') ? undefined : json['coin_flair_mint'], 'playlistLibrary': !exists(json, 'playlist_library') ? undefined : UserPlaylistLibraryFromJSON(json['playlist_library']), 'events': !exists(json, 'events') ? undefined : UpdateUserRequestBodyEventsFromJSON(json['events']), }; } export function UpdateUserRequestBodyToJSON(value?: UpdateUserRequestBody | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'handle': value.handle, 'name': value.name, 'bio': value.bio, 'location': value.location, 'website': value.website, 'donation': value.donation, 'twitter_handle': value.twitterHandle, 'instagram_handle': value.instagramHandle, 'tiktok_handle': value.tiktokHandle, 'profile_picture': value.profilePicture, 'profile_picture_sizes': value.profilePictureSizes, 'cover_photo': value.coverPhoto, 'cover_photo_sizes': value.coverPhotoSizes, 'profile_type': value.profileType, 'is_deactivated': value.isDeactivated, 'artist_pick_track_id': value.artistPickTrackId, 'allow_ai_attribution': value.allowAiAttribution, 'spl_usdc_payout_wallet': value.splUsdcPayoutWallet, 'coin_flair_mint': value.coinFlairMint, 'playlist_library': UserPlaylistLibraryToJSON(value.playlistLibrary), 'events': UpdateUserRequestBodyEventsToJSON(value.events), }; }