How to use the network/middleware/rpc.rpc function in network

To help you get started, we’ve selected a few network examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github samuelmaddock / metastream / packages / metastream-app / src / lobby / actions / users.ts View on Github external
}

  if (avatar && validateAvatar(avatar) && avatar !== user.avatar) {
    nextAvatar = getValidAvatar(avatar)
  }

  if (nextName || nextColor || nextAvatar) {
    const nextProfile = cleanObject({ name: nextName, color: nextColor, avatar: nextAvatar })
    dispatch(updateUser({ userId, ...nextProfile }))
  }

  if (nextName) {
    dispatch(multi_userNameChanged(userId, user.name))
  }
}
export const server_updateUser = rpc('updateUser', RpcRealm.Server, requestUpdateUser)
github samuelmaddock / metastream / packages / metastream-app / src / lobby / actions / mediaPlayer.ts View on Github external
'requestDeleteMedia',
  RpcRealm.Server,
  requestDeleteMedia
)

const requestMoveToTop = (mediaId: string): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return
  dispatch(moveToTop(mediaId))
}
export const server_requestMoveToTop = rpc('requestMoveToTop', RpcRealm.Server, requestMoveToTop)

const requestToggleQueueLock = (): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return
  dispatch(lockQueue())
}
export const server_requestToggleQueueLock = rpc(
  'requestToggleQueueLock',
  RpcRealm.Server,
  requestToggleQueueLock
)
github samuelmaddock / metastream / packages / metastream-app / src / lobby / actions / mediaPlayer.ts View on Github external
break
  }
}
export const server_requestPlayPause = rpc('requestPlayPause', RpcRealm.Server, requestPlayPause)

const requestNextMedia = (): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return
  dispatch(nextMedia())
}
export const server_requestNextMedia = rpc('requestNextMedia', RpcRealm.Server, requestNextMedia)

const requestRepeatMedia = (): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return
  dispatch(repeatMedia())
}
export const server_requestRepeatMedia = rpc(
  'requestRepeatMedia',
  RpcRealm.Server,
  requestRepeatMedia
)

const requestSeek = (time: number): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return

  const state = getState()
  const media = getCurrentMedia(state)
  if (!media || !media.duration) return

  time = clamp(time, 0, media.duration)
  if (isNaN(time)) return

  dispatch(seekMedia(time))
github samuelmaddock / metastream / packages / metastream-app / src / lobby / actions / mediaPlayer.ts View on Github external
RpcRealm.Server,
  requestSeekRelative
)

const requestDeleteMedia = (mediaId: string): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return

  const currentId = getCurrentMediaId(getState())
  if (currentId === mediaId) {
    dispatch(nextMedia(true))
    return
  }

  dispatch(deleteMedia(mediaId))
}
export const server_requestDeleteMedia = rpc(
  'requestDeleteMedia',
  RpcRealm.Server,
  requestDeleteMedia
)

const requestMoveToTop = (mediaId: string): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return
  dispatch(moveToTop(mediaId))
}
export const server_requestMoveToTop = rpc('requestMoveToTop', RpcRealm.Server, requestMoveToTop)

const requestToggleQueueLock = (): RpcThunk => (dispatch, getState, context) => {
  if (!hasPlaybackPermissions(getState(), context.client)) return
  dispatch(lockQueue())
}
export const server_requestToggleQueueLock = rpc(