You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

actions.ts 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import {
  2. SET_EVERYONE_ENABLED_E2EE,
  3. SET_EVERYONE_SUPPORT_E2EE,
  4. SET_MAX_MODE,
  5. SET_MEDIA_ENCRYPTION_KEY,
  6. TOGGLE_E2EE } from './actionTypes';
  7. /**
  8. * Dispatches an action to enable / disable E2EE.
  9. *
  10. * @param {boolean} enabled - Whether E2EE is to be enabled or not.
  11. * @returns {Object}
  12. */
  13. export function toggleE2EE(enabled: boolean) {
  14. return {
  15. type: TOGGLE_E2EE,
  16. enabled
  17. };
  18. }
  19. /**
  20. * Set new value whether everyone has E2EE enabled.
  21. *
  22. * @param {boolean} everyoneEnabledE2EE - The new value.
  23. * @returns {{
  24. * type: SET_EVERYONE_ENABLED_E2EE,
  25. * everyoneEnabledE2EE: boolean
  26. * }}
  27. */
  28. export function setEveryoneEnabledE2EE(everyoneEnabledE2EE: boolean) {
  29. return {
  30. type: SET_EVERYONE_ENABLED_E2EE,
  31. everyoneEnabledE2EE
  32. };
  33. }
  34. /**
  35. * Set new value whether everyone support E2EE.
  36. *
  37. * @param {boolean} everyoneSupportE2EE - The new value.
  38. * @returns {{
  39. * type: SET_EVERYONE_SUPPORT_E2EE,
  40. * everyoneSupportE2EE: boolean
  41. * }}
  42. */
  43. export function setEveryoneSupportE2EE(everyoneSupportE2EE: boolean) {
  44. return {
  45. type: SET_EVERYONE_SUPPORT_E2EE,
  46. everyoneSupportE2EE
  47. };
  48. }
  49. /**
  50. * Dispatches an action to set E2EE maxMode.
  51. *
  52. * @param {string} maxMode - The new value.
  53. * @returns {Object}
  54. */
  55. export function setE2EEMaxMode(maxMode: string) {
  56. return {
  57. type: SET_MAX_MODE,
  58. maxMode
  59. };
  60. }
  61. /**
  62. * Dispatches an action to set media encryption key.
  63. *
  64. * @param {Object} keyInfo - Json containing key information.
  65. * @param {string} [keyInfo.encryptionKey] - The exported encryption key.
  66. * @param {number} [keyInfo.index] - The index of the encryption key.
  67. * @returns {{
  68. * type: SET_MEDIA_ENCRYPTION_KEY,
  69. * keyInfo: Object
  70. * }}
  71. */
  72. export function setMediaEncryptionKey(keyInfo: Object) {
  73. return {
  74. type: SET_MEDIA_ENCRYPTION_KEY,
  75. keyInfo
  76. };
  77. }