1624434102642-update_roles_and_permissions.ts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. import { MigrationInterface, QueryRunner } from 'typeorm'
  2. export class updateRolesAndPermissions1624434102642 implements MigrationInterface {
  3. public async up(queryRunner: QueryRunner): Promise<void> {
  4. // Prune previous roles and permissions
  5. await queryRunner.query('DELETE FROM `role_permissions` WHERE role_uuid="dee6e144-724b-4450-86d1-cc784770b2e2"')
  6. await queryRunner.query('DELETE FROM `role_permissions` WHERE role_uuid="8047edbb-a10a-4ff8-8d53-c2cae600a8e8"')
  7. await queryRunner.query('DELETE FROM `role_permissions` WHERE role_uuid="8802d6a3-b97c-4b25-968a-8fb21c65c3a1"')
  8. await queryRunner.query('DELETE FROM `permissions` WHERE name="EXTENDED_NOTE_HISTORY"')
  9. await queryRunner.query('DELETE FROM `permissions` WHERE name="UNLIMITED_NOTE_HISTORY"')
  10. await queryRunner.query('DELETE FROM `permissions` WHERE name="SYNC_ITEMS"')
  11. // Add missing Basic User role
  12. await queryRunner.query(
  13. 'INSERT INTO `roles` (uuid, name) VALUES ("bde42e26-628c-44e6-9d76-21b08954b0bf", "BASIC_USER")',
  14. )
  15. // Permissions
  16. await queryRunner.query(
  17. 'INSERT INTO `permissions` (uuid, name) VALUES ("42e11c9b-e99b-43a5-bd32-77600c2e5ece", "theme:midnight")',
  18. )
  19. await queryRunner.query(
  20. 'INSERT INTO `permissions` (uuid, name) VALUES ("6e69b059-5324-4087-ba9d-c6c77ed2483c", "theme:futura")',
  21. )
  22. await queryRunner.query(
  23. 'INSERT INTO `permissions` (uuid, name) VALUES ("6cbde260-5a00-46f5-907d-d9843fa87528", "theme:solarized-dark")',
  24. )
  25. await queryRunner.query(
  26. 'INSERT INTO `permissions` (uuid, name) VALUES ("2fdfe72e-2ec9-4600-97e5-5f19eaba8b6a", "theme:autobiography")',
  27. )
  28. await queryRunner.query(
  29. 'INSERT INTO `permissions` (uuid, name) VALUES ("09d0c788-63d7-4159-bd9f-58ec43ba9adf", "theme:focused")',
  30. )
  31. await queryRunner.query(
  32. 'INSERT INTO `permissions` (uuid, name) VALUES ("9bebbdc1-195b-4cb6-9950-d8c9676f5d4e", "theme:titanium")',
  33. )
  34. await queryRunner.query(
  35. 'INSERT INTO `permissions` (uuid, name) VALUES ("db84ebd6-5273-4af9-8d95-5603c6e3f75f", "editor:bold")',
  36. )
  37. await queryRunner.query(
  38. 'INSERT INTO `permissions` (uuid, name) VALUES ("b9d8488a-59aa-420a-8491-1f12b6484876", "editor:plus")',
  39. )
  40. await queryRunner.query(
  41. 'INSERT INTO `permissions` (uuid, name) VALUES ("e1a3c091-3479-4d8d-b4df-66ec6c9f13c2", "editor:markdown-basic")',
  42. )
  43. await queryRunner.query(
  44. 'INSERT INTO `permissions` (uuid, name) VALUES ("6ce3732f-f6bf-46e8-99be-6044903253b2", "editor:markdown-pro")',
  45. )
  46. await queryRunner.query(
  47. 'INSERT INTO `permissions` (uuid, name) VALUES ("39ebab56-00be-4495-8f59-ba25d5127f06", "editor:markdown-minimist")',
  48. )
  49. await queryRunner.query(
  50. 'INSERT INTO `permissions` (uuid, name) VALUES ("b04a7670-934e-4ab1-b8a3-0f27ff159511", "server:two-factor-auth")',
  51. )
  52. await queryRunner.query(
  53. 'INSERT INTO `permissions` (uuid, name) VALUES ("c1039ab1-0d77-49e8-919a-90d190333421", "server:note-history-unlimited")',
  54. )
  55. await queryRunner.query(
  56. 'INSERT INTO `permissions` (uuid, name) VALUES ("a6cb635c-b5ae-4196-90f3-3de269eb33f9", "server:note-history-365-days")',
  57. )
  58. await queryRunner.query(
  59. 'INSERT INTO `permissions` (uuid, name) VALUES ("90cde39c-f4ea-417a-ae25-15db8ef1d828", "server:note-history-30-days")',
  60. )
  61. await queryRunner.query(
  62. 'INSERT INTO `permissions` (uuid, name) VALUES ("3f7044d6-c74d-48c2-8b5d-ef69e8b3d922", "app:tag-nesting")',
  63. )
  64. await queryRunner.query(
  65. 'INSERT INTO `permissions` (uuid, name) VALUES ("baf6d127-70ef-45f1-834c-c9969b3a321f", "editor:task-editor")',
  66. )
  67. await queryRunner.query(
  68. 'INSERT INTO `permissions` (uuid, name) VALUES ("cd250253-82c2-40a5-8f9a-731f8bde7550", "editor:code-editor")',
  69. )
  70. await queryRunner.query(
  71. 'INSERT INTO `permissions` (uuid, name) VALUES ("897551c3-8ba8-48f0-8fb9-5c861b104fcf", "editor:token-vault")',
  72. )
  73. await queryRunner.query(
  74. 'INSERT INTO `permissions` (uuid, name) VALUES ("2ce06684-1f3d-45ee-87c1-df7b4447801b", "editor:sheets")',
  75. )
  76. await queryRunner.query(
  77. 'INSERT INTO `permissions` (uuid, name) VALUES ("82da5111-0066-44a9-acf6-cb15207a93c1", "component:cloud-link")',
  78. )
  79. await queryRunner.query(
  80. 'INSERT INTO `permissions` (uuid, name) VALUES ("1c6295d7-ffab-4881-bdf9-7c80df3885e9", "component:2fa-manager")',
  81. )
  82. await queryRunner.query(
  83. 'INSERT INTO `permissions` (uuid, name) VALUES ("94fec0a8-7581-4690-a482-9eadc9304c35", "app:files")',
  84. )
  85. await queryRunner.query(
  86. 'INSERT INTO `permissions` (uuid, name) VALUES ("eb0575a2-6e26-49e3-9501-f2e75d7dbda3", "server:daily-email-backup")',
  87. )
  88. await queryRunner.query(
  89. 'INSERT INTO `permissions` (uuid, name) VALUES ("c7453402-e16b-4f14-8621-0660a0dc65db", "server:daily-dropbox-backup")',
  90. )
  91. await queryRunner.query(
  92. 'INSERT INTO `permissions` (uuid, name) VALUES ("9c77734a-ba0b-4f7a-8b6b-3e6e1811945b", "server:daily-gdrive-backup")',
  93. )
  94. await queryRunner.query(
  95. 'INSERT INTO `permissions` (uuid, name) VALUES ("a31c94ca-a352-4aab-98d4-92ebb1103e1f", "server:daily-onedrive-backup")',
  96. )
  97. await queryRunner.query(
  98. 'INSERT INTO `permissions` (uuid, name) VALUES ("8650f269-6248-4d63-92cd-da4a29e87363", "listed:custom-domain")',
  99. )
  100. await queryRunner.query(
  101. 'INSERT INTO `permissions` (uuid, name) VALUES ("6b195abd-fa3e-4743-ba10-8d50733d377c", "server:files-25-gb")',
  102. )
  103. await queryRunner.query(
  104. 'INSERT INTO `permissions` (uuid, name) VALUES ("466da066-993a-4d34-b77c-786395fa285a", "server:files-5-gb")',
  105. )
  106. // Pro User Permissions
  107. await queryRunner.query(
  108. 'INSERT INTO `role_permissions` (role_uuid, permission_uuid) VALUES \
  109. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "42e11c9b-e99b-43a5-bd32-77600c2e5ece"), \
  110. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "6e69b059-5324-4087-ba9d-c6c77ed2483c"), \
  111. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "6cbde260-5a00-46f5-907d-d9843fa87528"), \
  112. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "2fdfe72e-2ec9-4600-97e5-5f19eaba8b6a"), \
  113. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "09d0c788-63d7-4159-bd9f-58ec43ba9adf"), \
  114. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "9bebbdc1-195b-4cb6-9950-d8c9676f5d4e"), \
  115. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "db84ebd6-5273-4af9-8d95-5603c6e3f75f"), \
  116. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "b9d8488a-59aa-420a-8491-1f12b6484876"), \
  117. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "e1a3c091-3479-4d8d-b4df-66ec6c9f13c2"), \
  118. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "6ce3732f-f6bf-46e8-99be-6044903253b2"), \
  119. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "39ebab56-00be-4495-8f59-ba25d5127f06"), \
  120. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "b04a7670-934e-4ab1-b8a3-0f27ff159511"), \
  121. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "c1039ab1-0d77-49e8-919a-90d190333421"), \
  122. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "3f7044d6-c74d-48c2-8b5d-ef69e8b3d922"), \
  123. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "baf6d127-70ef-45f1-834c-c9969b3a321f"), \
  124. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "cd250253-82c2-40a5-8f9a-731f8bde7550"), \
  125. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "897551c3-8ba8-48f0-8fb9-5c861b104fcf"), \
  126. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "2ce06684-1f3d-45ee-87c1-df7b4447801b"), \
  127. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "82da5111-0066-44a9-acf6-cb15207a93c1"), \
  128. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "1c6295d7-ffab-4881-bdf9-7c80df3885e9"), \
  129. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "94fec0a8-7581-4690-a482-9eadc9304c35"), \
  130. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "eb0575a2-6e26-49e3-9501-f2e75d7dbda3"), \
  131. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "c7453402-e16b-4f14-8621-0660a0dc65db"), \
  132. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "9c77734a-ba0b-4f7a-8b6b-3e6e1811945b"), \
  133. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "a31c94ca-a352-4aab-98d4-92ebb1103e1f"), \
  134. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "8650f269-6248-4d63-92cd-da4a29e87363"), \
  135. ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "6b195abd-fa3e-4743-ba10-8d50733d377c") \
  136. ',
  137. )
  138. // Plus User Permissions
  139. await queryRunner.query(
  140. 'INSERT INTO `role_permissions` (role_uuid, permission_uuid) VALUES \
  141. ("dee6e144-724b-4450-86d1-cc784770b2e2", "42e11c9b-e99b-43a5-bd32-77600c2e5ece"), \
  142. ("dee6e144-724b-4450-86d1-cc784770b2e2", "6e69b059-5324-4087-ba9d-c6c77ed2483c"), \
  143. ("dee6e144-724b-4450-86d1-cc784770b2e2", "6cbde260-5a00-46f5-907d-d9843fa87528"), \
  144. ("dee6e144-724b-4450-86d1-cc784770b2e2", "09d0c788-63d7-4159-bd9f-58ec43ba9adf"), \
  145. ("dee6e144-724b-4450-86d1-cc784770b2e2", "9bebbdc1-195b-4cb6-9950-d8c9676f5d4e"), \
  146. ("dee6e144-724b-4450-86d1-cc784770b2e2", "db84ebd6-5273-4af9-8d95-5603c6e3f75f"), \
  147. ("dee6e144-724b-4450-86d1-cc784770b2e2", "b9d8488a-59aa-420a-8491-1f12b6484876"), \
  148. ("dee6e144-724b-4450-86d1-cc784770b2e2", "e1a3c091-3479-4d8d-b4df-66ec6c9f13c2"), \
  149. ("dee6e144-724b-4450-86d1-cc784770b2e2", "6ce3732f-f6bf-46e8-99be-6044903253b2"), \
  150. ("dee6e144-724b-4450-86d1-cc784770b2e2", "39ebab56-00be-4495-8f59-ba25d5127f06"), \
  151. ("dee6e144-724b-4450-86d1-cc784770b2e2", "b04a7670-934e-4ab1-b8a3-0f27ff159511"), \
  152. ("dee6e144-724b-4450-86d1-cc784770b2e2", "a6cb635c-b5ae-4196-90f3-3de269eb33f9"), \
  153. ("dee6e144-724b-4450-86d1-cc784770b2e2", "3f7044d6-c74d-48c2-8b5d-ef69e8b3d922"), \
  154. ("dee6e144-724b-4450-86d1-cc784770b2e2", "baf6d127-70ef-45f1-834c-c9969b3a321f"), \
  155. ("dee6e144-724b-4450-86d1-cc784770b2e2", "cd250253-82c2-40a5-8f9a-731f8bde7550"), \
  156. ("dee6e144-724b-4450-86d1-cc784770b2e2", "2ce06684-1f3d-45ee-87c1-df7b4447801b"), \
  157. ("dee6e144-724b-4450-86d1-cc784770b2e2", "82da5111-0066-44a9-acf6-cb15207a93c1"), \
  158. ("dee6e144-724b-4450-86d1-cc784770b2e2", "1c6295d7-ffab-4881-bdf9-7c80df3885e9"), \
  159. ("dee6e144-724b-4450-86d1-cc784770b2e2", "94fec0a8-7581-4690-a482-9eadc9304c35"), \
  160. ("dee6e144-724b-4450-86d1-cc784770b2e2", "eb0575a2-6e26-49e3-9501-f2e75d7dbda3"), \
  161. ("dee6e144-724b-4450-86d1-cc784770b2e2", "c7453402-e16b-4f14-8621-0660a0dc65db"), \
  162. ("dee6e144-724b-4450-86d1-cc784770b2e2", "9c77734a-ba0b-4f7a-8b6b-3e6e1811945b"), \
  163. ("dee6e144-724b-4450-86d1-cc784770b2e2", "a31c94ca-a352-4aab-98d4-92ebb1103e1f"), \
  164. ("dee6e144-724b-4450-86d1-cc784770b2e2", "8650f269-6248-4d63-92cd-da4a29e87363"), \
  165. ("dee6e144-724b-4450-86d1-cc784770b2e2", "466da066-993a-4d34-b77c-786395fa285a") \
  166. ',
  167. )
  168. // Basic User Permissions
  169. await queryRunner.query(
  170. 'INSERT INTO `role_permissions` (role_uuid, permission_uuid) VALUES \
  171. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "42e11c9b-e99b-43a5-bd32-77600c2e5ece"), \
  172. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "6e69b059-5324-4087-ba9d-c6c77ed2483c"), \
  173. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "6cbde260-5a00-46f5-907d-d9843fa87528"), \
  174. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "db84ebd6-5273-4af9-8d95-5603c6e3f75f"), \
  175. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "b9d8488a-59aa-420a-8491-1f12b6484876"), \
  176. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "e1a3c091-3479-4d8d-b4df-66ec6c9f13c2"), \
  177. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "6ce3732f-f6bf-46e8-99be-6044903253b2"), \
  178. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "39ebab56-00be-4495-8f59-ba25d5127f06"), \
  179. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "1c6295d7-ffab-4881-bdf9-7c80df3885e9"), \
  180. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "b04a7670-934e-4ab1-b8a3-0f27ff159511"), \
  181. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "90cde39c-f4ea-417a-ae25-15db8ef1d828"), \
  182. ("bde42e26-628c-44e6-9d76-21b08954b0bf", "3f7044d6-c74d-48c2-8b5d-ef69e8b3d922") \
  183. ',
  184. )
  185. }
  186. public async down(_queryRunner: QueryRunner): Promise<void> {
  187. return
  188. }
  189. }