# Users ### GET '/users/talent/stats' ### GET '/users/talent/earnings?duration=${duration}', ### GET '/users/talent/fans' ### GET '/users/talent/payout_earnings?payoutDuration=${payoutDuration}', ### GET '/users/talent/validate_bank_account?accountId=${accountId}', ### GET '/users/talent/generate_account_link?accountId=${accountId}', ### GET '/users?email=${email?.toLowerCase()}' ### GET '/users?username=${username?.toLowerCase()}' ### GET '/users?verificationCode=${code}' ### GET '/users/validation/validate_star_code?code=${code}', ### PUT '/users/${signUpData.id}' ### GET '/users/me' ### GET '/users/talent/fetch?username=${name}' ### GET '/users/${id}' ### GET '/users/talent/${username}/share-link' ### GET '/users/talent/blocked' ### POST '/users/talent/add_external_account' { account_id, bank_name, account_number, account_holder_name, routing_number, country, currency, } ### POST '/users/add-to-favourite' { talentId, notifyLive, notifySchedule, } ### POST '/users/remove-from-favourite' { talentId } ### POST '/users/toggle-notifications' { id, notificationsLive, notificationsSchedule, } ### POST '/users/add-to-blocked-list' { referenceId: order?.referenceId, userId: order?.user?.id, comment, } ### POST '/users/remove-from-blocked-list' { talentId } ### PUT '/users/${id}' ### In code twice, once for users and once for talent -- this one is for Users { privateMode } { user_details: { mode: 'TALENT' | 'USER' } { user_details: { intro: null, } { email: values.email, firstName: values.firstName, lastName: values.lastName, displayName: '${values.firstName} ${values.lastName}', username: values.username, user_details: { phone, country, birthDate: birthDate ? moment(birthDate).format('YYYY-MM-DD') : null, }, } { privateMode, } { payment_details: { stripeAccId: bankAccountResponse.payload.bankAccountId, }, } { abnNumber, } // todo Instant User Upadte?? ### PUT '/users/${id}' ### In code twice, once for users and once for talent -- this one is Talent { displayName, username, categories, primaryCategory, sub_categories, user_details: { id: userDetails?.id, shortDescription, bio, sub_categories } } { user_details: { id, Prices: [meetAndGreetShort, meetAndGreet], }, } { user_details: { id: userDetails?.id, Prices: [meetAndGreetShort, meetAndGreet], }, } { user_details: { VisibleVirtualSelfies: [??] // I think that these are "Meetings" objects } } { user_details: { VisibleReviews: [??], // I think that these are "Meetings objects" }, } { email, password, phone } { selectedSocials: [{[socialName]: url}], unusedSocials: [??], playlistUrl: } # Auth ### POST '/auth/local/register' Fan: { displayName: '${name} ${lastName}', firstName: name, lastName, email, password, user_details, payment_details: { stripeCustomerId: customerId, }, } Star: //todo ### POST '/auth/local' { identifier: email, password } ### POST '/auth/mobile/provider' { id, provider: 'facebook', name, email, photoUrl: picture.data.url, token: accessToken, } ### POST '/auth/mobile/provider' { id, provider: 'google', name, email, photoUrl: photo, token: idToken, } ### POST '/auth/mobile/provider' { provider: 'apple', name: '${givenName} ${familyName}', email, appleUsername: user, token: authorizationCode, } ### POST '/auth/token' { refreshToken } ### POST '/auth/forgot-password' { email } ### POST '/auth/create-bank-account' { username, country, email, first_name, last_name, phone, } ### POST '/auth/delete' #### Deletes an account { password } # Payment-Details ### PUT '/payment-details/${id}' #### Deprecated? Unused? //todo # User-Details ### GET '/user-details/blocked-list' ### PUT '/user-details/${id}' { mode: "USER"|"TALENT" } # Home ### GET '/home/favourites?start=${start}&size=${size}', ### GET '/home/trending?start=${start}&size=${size}' ### GET '/home' ### GET '/home/see_all?category=${category}' ### GET '/home?search=${searchValue}' # Orders ### GET '/orders' ### GET '/orders/${orderID}' ### GET '/orders/${data.orderId}' ### GET '/orders/${queryParams.order}' ### GET '/orders/${orderId}' ### GET '/orders/twilio-token?roomName=${roomName}' ### GET '/orders/by-day?date=${date}&talentId=${talentId}', ### GET '/orders/generate/zoom-token?roomName=${roomName}', ### GET '/orders/generate/agora-token?channelId=${channelId}&uid=${uid}', ### GET '/orders?user.id=${userId}&status_in=PENDING&status_in=ACCEPTED&date_gt=${new Date().toISOString()}&_start=${start}&_limit=${size}&_sort=updated_at:DESC'; ### GET '/orders?user.id=${userId}&status_in=PENDING&status_in=ACCEPTED&date_lt=${new Date().toISOString()}&_start=${start}&_limit=${size}&_sort=updated_at:DESC'; ### GET '/orders?user.id=${userId}&status_in=${statuses.join( '&status_in=',)}&_start=${start}&_limit=${size}&_sort=updated_at:DESC' ### GET '/orders?talent.id=${userId}&status_in=PENDING&status_in=ACCEPTED&date_gt=${new Date().toISOString()}&_start=${start}&_limit=${size}&_sort=created_at:DESC'; ### GET '/orders?talent.id=${userId}&status_in=PENDING&status_in=ACCEPTED&date_lt=${new Date().toISOString()}&_start=${start}&_limit=${size}&_sort=created_at:DESC'; ### GET '/orders?talent.id=${userId}&status_in=${statuses.join( '&status_in=',)}&_start=${start}&_limit=${size}&_sort=created_at:DESC' ### GET '/orders/by-day?date=${dayDate}&talentId=${talentId}&_sort=created_at:desc', ### GET '/orders/count?status_in=COMPLETED&status_in=PAID&type=SHOT_OUT&talent=${talentId}', ### GET '/orders/count?status_in=COMPLETED&status_in=PAID&type=MEET_AND_GREET&talent=${talentId}', ### GET '/orders/cancel/${orderId}' ### GET '/orders?talent.id=${id}&date_gt=${date}&_sort=date:asc') ### POST '/orders/generate/agora-token' { recordingConfig: { channelName, uid: uid?.toString(), //userId isStar, } } ### POST '/orders' //todo getState().talentDetailsReducer ### POST '/orders/accept' { id: orderId, } ### POST '/orders/complete' { id: orderId, } ### PUT '/orders/${order.id}' { missedNotificationSent: true } ### PUT '/orders/${id}' { status: 'COMPLETED', } ### PUT '/orders/${orderId}' { description } # Meetings ### POST '/meetings/complete' #### Deprecated? Unused? { id } ### DELETE '/meetings/remove/${orderId}' #### This endpoint is used to remove virtual selfies? { id } ### PUT '/meetings/${meetingId}' ### This endpoint is used to "archive" virtual selfies, what is the difference between an archive and a delete? { status: 'COMPLETED', } # My-Meetings ### GET '/my-meetings' #### Deprecated? Unused? # Reviews ### GET '/reviews?order.talent=${talentId}&archived=false', ### POST '/reviews' { video: videoId, noWatermarkVideo: videoNoWatermarkId, order: orderId, } ### PUT '/reviews/${id}' { archived: true } # My-Shoutouts ### Should be "shoutouts" we should refactor to correct this typo at some point ### GET '/my-shotouts' # Shotouts ### Should be "shoutouts" we should refactor to correct this typo at some point ### DELETE '/shotouts/remove/${orderId}' # Availability Slots ### Is this a real feature? ### GET '/availability-slots/my' #### Deprecated? Unused? ### GET '/availability-slots?user=${id}' #### Deprecated? Unused? ### POST '/availability-slots/' #### Deprecated? Unused? { startDateTime, end, repeatDaily, repeatWeekly, enable10MinMeetAndGreets, } ### DELETE '/availability-slots/${id}' #### Deprecated? Unused? ### PUT '/availability-slots/${id}' #### Deprecated? Unused? { startDateTime, end, repeatDaily, repeatWeekly, enable10MinMeetAndGreets, closedFurtherBookings, } # Settings ### GET '/settings' # Reports ### POST '/reports' { referenceId, userId: order?.user?.id, comment, } # Emails ### Move this logic to a backend service that responds to notifications from the selfie store? ### POST '/emails/virtualSelfie' { orderId, } ### POST '/emails/videoMessage' { orderId, } # Occasions ### GET '/occasions?_sort=id:ASC' #### Deprecated? Unused? # Stripe ### GET '/stripe/payment_intents/${id}' ### GET '/stripe/card-wallet' #### Deprecated? Unused? ### GET '/stripe/capture-payment-intent/${id}' #### Deprecated? Unused? ### POST '/stripe/setup_intents/${setupIntentId}/confirm' #### Deprecated? Unused? { payment_details: paymentDetails, return_url, } ### POST '/stripe/create-capture-intent' #### Deprecated? Unused? ### POST '/stripe/refund/' #### Deprecated? Unused? { id } ### POST '/stripe/apple/verify-receipt' #### Deprecated? Unused? ### POST '/stripe/payment-sheet' { price, currency, }