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.js 1.9KB

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