# 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,
}