@battle-racing/br-common-lib 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/definitions/RoleDefinitions.d.ts +2 -0
  2. package/dist/definitions/RoleDefinitions.js +25 -0
  3. package/dist/definitions/index.d.ts +1 -0
  4. package/dist/definitions/index.js +17 -0
  5. package/dist/index.d.ts +2 -19
  6. package/dist/index.js +2 -19
  7. package/dist/{damage → types/damage}/Damage.d.ts +2 -1
  8. package/dist/types/index.d.ts +21 -0
  9. package/dist/types/index.js +37 -0
  10. package/dist/types/role/Permission.d.ts +11 -0
  11. package/dist/types/role/Permission.js +12 -0
  12. package/dist/types/role/RoleDefinition.d.ts +7 -0
  13. package/dist/types/role/UserRole.d.ts +6 -0
  14. package/dist/types/role/UserRole.js +7 -0
  15. package/dist/types/role/index.d.ts +3 -0
  16. package/dist/types/role/index.js +19 -0
  17. package/dist/{user → types/user}/User.d.ts +2 -0
  18. package/dist/types/utils/ObjectValues.js +2 -0
  19. package/dist/types/utils/index.d.ts +2 -0
  20. package/dist/types/utils/index.js +18 -0
  21. package/dist/utils/index.d.ts +1 -2
  22. package/dist/utils/index.js +1 -2
  23. package/dist/utils/roles.utils.d.ts +4 -0
  24. package/dist/utils/roles.utils.js +20 -0
  25. package/package.json +3 -2
  26. package/src/definitions/RoleDefinitions.ts +24 -0
  27. package/src/definitions/index.ts +1 -0
  28. package/src/index.ts +3 -0
  29. package/src/types/index.ts +2 -0
  30. package/src/types/role/Permission.ts +16 -0
  31. package/src/types/role/RoleDefinition.ts +8 -0
  32. package/src/types/role/UserRole.ts +8 -0
  33. package/src/types/role/index.ts +3 -0
  34. package/src/types/user/User.ts +2 -0
  35. package/src/utils/index.ts +1 -0
  36. package/src/utils/roles.utils.ts +20 -0
  37. /package/dist/{checkpoint → types/checkpoint}/Checkpoint.d.ts +0 -0
  38. /package/dist/{checkpoint → types/checkpoint}/Checkpoint.js +0 -0
  39. /package/dist/{checkpoint → types/checkpoint}/CheckpointType.d.ts +0 -0
  40. /package/dist/{checkpoint → types/checkpoint}/CheckpointType.js +0 -0
  41. /package/dist/{checkpoint → types/checkpoint}/index.d.ts +0 -0
  42. /package/dist/{checkpoint → types/checkpoint}/index.js +0 -0
  43. /package/dist/{color → types/color}/ColorInfo.d.ts +0 -0
  44. /package/dist/{color → types/color}/ColorInfo.js +0 -0
  45. /package/dist/{color → types/color}/ColorName.d.ts +0 -0
  46. /package/dist/{color → types/color}/ColorName.js +0 -0
  47. /package/dist/{color → types/color}/index.d.ts +0 -0
  48. /package/dist/{color → types/color}/index.js +0 -0
  49. /package/dist/{command → types/command}/CommandConfig.d.ts +0 -0
  50. /package/dist/{command → types/command}/CommandConfig.js +0 -0
  51. /package/dist/{command → types/command}/index.d.ts +0 -0
  52. /package/dist/{command → types/command}/index.js +0 -0
  53. /package/dist/{damage → types/damage}/Damage.js +0 -0
  54. /package/dist/{damage → types/damage}/DamageName.d.ts +0 -0
  55. /package/dist/{damage → types/damage}/DamageName.js +0 -0
  56. /package/dist/{damage → types/damage}/DamageTarget.d.ts +0 -0
  57. /package/dist/{damage → types/damage}/DamageTarget.js +0 -0
  58. /package/dist/{damage → types/damage}/index.d.ts +0 -0
  59. /package/dist/{damage → types/damage}/index.js +0 -0
  60. /package/dist/{flow → types/flow}/Flow.d.ts +0 -0
  61. /package/dist/{flow → types/flow}/Flow.js +0 -0
  62. /package/dist/{flow → types/flow}/index.d.ts +0 -0
  63. /package/dist/{flow → types/flow}/index.js +0 -0
  64. /package/dist/{game → types/game}/Game.d.ts +0 -0
  65. /package/dist/{game → types/game}/Game.js +0 -0
  66. /package/dist/{game → types/game}/GameStatus.d.ts +0 -0
  67. /package/dist/{game → types/game}/GameStatus.js +0 -0
  68. /package/dist/{game → types/game}/GameType.d.ts +0 -0
  69. /package/dist/{game → types/game}/GameType.js +0 -0
  70. /package/dist/{game → types/game}/GameWarningEvent.d.ts +0 -0
  71. /package/dist/{game → types/game}/GameWarningEvent.js +0 -0
  72. /package/dist/{game → types/game}/KartRankingItem.d.ts +0 -0
  73. /package/dist/{game → types/game}/KartRankingItem.js +0 -0
  74. /package/dist/{game → types/game}/battle/Battle.d.ts +0 -0
  75. /package/dist/{game → types/game}/battle/Battle.js +0 -0
  76. /package/dist/{game → types/game}/battle/index.d.ts +0 -0
  77. /package/dist/{game → types/game}/battle/index.js +0 -0
  78. /package/dist/{game → types/game}/index.d.ts +0 -0
  79. /package/dist/{game → types/game}/index.js +0 -0
  80. /package/dist/{game → types/game}/race/KartProgress.d.ts +0 -0
  81. /package/dist/{game → types/game}/race/KartProgress.js +0 -0
  82. /package/dist/{game → types/game}/race/Race.d.ts +0 -0
  83. /package/dist/{game → types/game}/race/Race.js +0 -0
  84. /package/dist/{game → types/game}/race/index.d.ts +0 -0
  85. /package/dist/{game → types/game}/race/index.js +0 -0
  86. /package/dist/{gameTrack → types/gameTrack}/GameTrack.d.ts +0 -0
  87. /package/dist/{gameTrack → types/gameTrack}/GameTrack.js +0 -0
  88. /package/dist/{gameTrack → types/gameTrack}/GameTrackKartsConfig.d.ts +0 -0
  89. /package/dist/{gameTrack → types/gameTrack}/GameTrackKartsConfig.js +0 -0
  90. /package/dist/{gameTrack → types/gameTrack}/index.d.ts +0 -0
  91. /package/dist/{gameTrack → types/gameTrack}/index.js +0 -0
  92. /package/dist/{hardware → types/hardware}/KartEffect.d.ts +0 -0
  93. /package/dist/{hardware → types/hardware}/KartEffect.js +0 -0
  94. /package/dist/{hardware → types/hardware}/ModuleName.d.ts +0 -0
  95. /package/dist/{hardware → types/hardware}/ModuleName.js +0 -0
  96. /package/dist/{hardware → types/hardware}/ModuleStatus.d.ts +0 -0
  97. /package/dist/{hardware → types/hardware}/ModuleStatus.js +0 -0
  98. /package/dist/{hardware → types/hardware}/ballSensor/BallSensorCommand.d.ts +0 -0
  99. /package/dist/{hardware → types/hardware}/ballSensor/BallSensorCommand.js +0 -0
  100. /package/dist/{hardware → types/hardware}/ballSensor/BallSensorDiskThrowerModuleStatus.d.ts +0 -0
  101. /package/dist/{hardware → types/hardware}/ballSensor/BallSensorDiskThrowerModuleStatus.js +0 -0
  102. /package/dist/{hardware → types/hardware}/ballSensor/BallSensorStatus.d.ts +0 -0
  103. /package/dist/{hardware → types/hardware}/ballSensor/BallSensorStatus.js +0 -0
  104. /package/dist/{hardware → types/hardware}/ballSensor/ConfigureBallSensorDiskThrowerModuleOptions.d.ts +0 -0
  105. /package/dist/{hardware → types/hardware}/ballSensor/ConfigureBallSensorDiskThrowerModuleOptions.js +0 -0
  106. /package/dist/{hardware → types/hardware}/ballSensor/index.d.ts +0 -0
  107. /package/dist/{hardware → types/hardware}/ballSensor/index.js +0 -0
  108. /package/dist/{hardware → types/hardware}/ballShooter/BallShooterCommand.d.ts +0 -0
  109. /package/dist/{hardware → types/hardware}/ballShooter/BallShooterCommand.js +0 -0
  110. /package/dist/{hardware → types/hardware}/ballShooter/BallShooterStatus.d.ts +0 -0
  111. /package/dist/{hardware → types/hardware}/ballShooter/BallShooterStatus.js +0 -0
  112. /package/dist/{hardware → types/hardware}/ballShooter/index.d.ts +0 -0
  113. /package/dist/{hardware → types/hardware}/ballShooter/index.js +0 -0
  114. /package/dist/{hardware → types/hardware}/diskSensor/ConfigDiskSensorBallShooterModuleOptions.d.ts +0 -0
  115. /package/dist/{hardware → types/hardware}/diskSensor/ConfigDiskSensorBallShooterModuleOptions.js +0 -0
  116. /package/dist/{hardware → types/hardware}/diskSensor/DiskSensorBallShooterModuleStatus.d.ts +0 -0
  117. /package/dist/{hardware → types/hardware}/diskSensor/DiskSensorBallShooterModuleStatus.js +0 -0
  118. /package/dist/{hardware → types/hardware}/diskSensor/DiskSensorCommand.d.ts +0 -0
  119. /package/dist/{hardware → types/hardware}/diskSensor/DiskSensorCommand.js +0 -0
  120. /package/dist/{hardware → types/hardware}/diskSensor/DiskSensorStatus.d.ts +0 -0
  121. /package/dist/{hardware → types/hardware}/diskSensor/DiskSensorStatus.js +0 -0
  122. /package/dist/{hardware → types/hardware}/diskSensor/index.d.ts +0 -0
  123. /package/dist/{hardware → types/hardware}/diskSensor/index.js +0 -0
  124. /package/dist/{hardware → types/hardware}/diskThrower/DiskThrowerCommand.d.ts +0 -0
  125. /package/dist/{hardware → types/hardware}/diskThrower/DiskThrowerCommand.js +0 -0
  126. /package/dist/{hardware → types/hardware}/diskThrower/DiskThrowerStatus.d.ts +0 -0
  127. /package/dist/{hardware → types/hardware}/diskThrower/DiskThrowerStatus.js +0 -0
  128. /package/dist/{hardware → types/hardware}/diskThrower/index.d.ts +0 -0
  129. /package/dist/{hardware → types/hardware}/diskThrower/index.js +0 -0
  130. /package/dist/{hardware → types/hardware}/emergency/EmergencyActionCommand.d.ts +0 -0
  131. /package/dist/{hardware → types/hardware}/emergency/EmergencyActionCommand.js +0 -0
  132. /package/dist/{hardware → types/hardware}/emergency/EmergencyModuleStatus.d.ts +0 -0
  133. /package/dist/{hardware → types/hardware}/emergency/EmergencyModuleStatus.js +0 -0
  134. /package/dist/{hardware → types/hardware}/emergency/EmergencyStatus.d.ts +0 -0
  135. /package/dist/{hardware → types/hardware}/emergency/EmergencyStatus.js +0 -0
  136. /package/dist/{hardware → types/hardware}/emergency/index.d.ts +0 -0
  137. /package/dist/{hardware → types/hardware}/emergency/index.js +0 -0
  138. /package/dist/{hardware → types/hardware}/flag/FlagActionCommand.d.ts +0 -0
  139. /package/dist/{hardware → types/hardware}/flag/FlagActionCommand.js +0 -0
  140. /package/dist/{hardware → types/hardware}/flag/FlagConfigurationOptions.d.ts +0 -0
  141. /package/dist/{hardware → types/hardware}/flag/FlagConfigurationOptions.js +0 -0
  142. /package/dist/{hardware → types/hardware}/flag/FlagMediaName.d.ts +0 -0
  143. /package/dist/{hardware → types/hardware}/flag/FlagMediaName.js +0 -0
  144. /package/dist/{hardware → types/hardware}/flag/FlagModuleStatus.d.ts +0 -0
  145. /package/dist/{hardware → types/hardware}/flag/FlagModuleStatus.js +0 -0
  146. /package/dist/{hardware → types/hardware}/flag/FlagShowMediaOptions.d.ts +0 -0
  147. /package/dist/{hardware → types/hardware}/flag/FlagShowMediaOptions.js +0 -0
  148. /package/dist/{hardware → types/hardware}/flag/FlagStatus.d.ts +0 -0
  149. /package/dist/{hardware → types/hardware}/flag/FlagStatus.js +0 -0
  150. /package/dist/{hardware → types/hardware}/flag/index.d.ts +0 -0
  151. /package/dist/{hardware → types/hardware}/flag/index.js +0 -0
  152. /package/dist/{hardware → types/hardware}/index.d.ts +0 -0
  153. /package/dist/{hardware → types/hardware}/index.js +0 -0
  154. /package/dist/{hardware → types/hardware}/rgb/RGBActionCommand.d.ts +0 -0
  155. /package/dist/{hardware → types/hardware}/rgb/RGBActionCommand.js +0 -0
  156. /package/dist/{hardware → types/hardware}/rgb/RGBConfigurationOptions.d.ts +0 -0
  157. /package/dist/{hardware → types/hardware}/rgb/RGBConfigurationOptions.js +0 -0
  158. /package/dist/{hardware → types/hardware}/rgb/RGBModuleStatus.d.ts +0 -0
  159. /package/dist/{hardware → types/hardware}/rgb/RGBModuleStatus.js +0 -0
  160. /package/dist/{hardware → types/hardware}/rgb/RGBShowEffectOptions.d.ts +0 -0
  161. /package/dist/{hardware → types/hardware}/rgb/RGBShowEffectOptions.js +0 -0
  162. /package/dist/{hardware → types/hardware}/rgb/RGBStatus.d.ts +0 -0
  163. /package/dist/{hardware → types/hardware}/rgb/RGBStatus.js +0 -0
  164. /package/dist/{hardware → types/hardware}/rgb/index.d.ts +0 -0
  165. /package/dist/{hardware → types/hardware}/rgb/index.js +0 -0
  166. /package/dist/{hardware → types/hardware}/screen/ScreenBattleViewConfig.d.ts +0 -0
  167. /package/dist/{hardware → types/hardware}/screen/ScreenBattleViewConfig.js +0 -0
  168. /package/dist/{hardware → types/hardware}/screen/ScreenCountdownParams.d.ts +0 -0
  169. /package/dist/{hardware → types/hardware}/screen/ScreenCountdownParams.js +0 -0
  170. /package/dist/{hardware → types/hardware}/screen/ScreenFinishViewInput.d.ts +0 -0
  171. /package/dist/{hardware → types/hardware}/screen/ScreenFinishViewInput.js +0 -0
  172. /package/dist/{hardware → types/hardware}/screen/ScreenGameTimeLeft.d.ts +0 -0
  173. /package/dist/{hardware → types/hardware}/screen/ScreenGameTimeLeft.js +0 -0
  174. /package/dist/{hardware → types/hardware}/screen/ScreenKartPosition.d.ts +0 -0
  175. /package/dist/{hardware → types/hardware}/screen/ScreenKartPosition.js +0 -0
  176. /package/dist/{hardware → types/hardware}/screen/ScreenRaceLaps.d.ts +0 -0
  177. /package/dist/{hardware → types/hardware}/screen/ScreenRaceLaps.js +0 -0
  178. /package/dist/{hardware → types/hardware}/screen/ScreenRaceViewConfig.d.ts +0 -0
  179. /package/dist/{hardware → types/hardware}/screen/ScreenRaceViewConfig.js +0 -0
  180. /package/dist/{hardware → types/hardware}/screen/ScreenUpdateGameViewInput.d.ts +0 -0
  181. /package/dist/{hardware → types/hardware}/screen/ScreenUpdateGameViewInput.js +0 -0
  182. /package/dist/{hardware → types/hardware}/screen/ScreenView.d.ts +0 -0
  183. /package/dist/{hardware → types/hardware}/screen/ScreenView.js +0 -0
  184. /package/dist/{hardware → types/hardware}/screen/ScreenViewBaseConfig.d.ts +0 -0
  185. /package/dist/{hardware → types/hardware}/screen/ScreenViewBaseConfig.js +0 -0
  186. /package/dist/{hardware → types/hardware}/screen/index.d.ts +0 -0
  187. /package/dist/{hardware → types/hardware}/screen/index.js +0 -0
  188. /package/dist/{hardware → types/hardware}/sound/PlaySoundOptions.d.ts +0 -0
  189. /package/dist/{hardware → types/hardware}/sound/PlaySoundOptions.js +0 -0
  190. /package/dist/{hardware → types/hardware}/sound/index.d.ts +0 -0
  191. /package/dist/{hardware → types/hardware}/sound/index.js +0 -0
  192. /package/dist/{hardware → types/hardware}/speed/SpeedActionCommand.d.ts +0 -0
  193. /package/dist/{hardware → types/hardware}/speed/SpeedActionCommand.js +0 -0
  194. /package/dist/{hardware → types/hardware}/speed/SpeedChangeOptions.d.ts +0 -0
  195. /package/dist/{hardware → types/hardware}/speed/SpeedChangeOptions.js +0 -0
  196. /package/dist/{hardware → types/hardware}/speed/SpeedConfiguration.d.ts +0 -0
  197. /package/dist/{hardware → types/hardware}/speed/SpeedConfiguration.js +0 -0
  198. /package/dist/{hardware → types/hardware}/speed/SpeedModuleStatus.d.ts +0 -0
  199. /package/dist/{hardware → types/hardware}/speed/SpeedModuleStatus.js +0 -0
  200. /package/dist/{hardware → types/hardware}/speed/SpeedStatus.d.ts +0 -0
  201. /package/dist/{hardware → types/hardware}/speed/SpeedStatus.js +0 -0
  202. /package/dist/{hardware → types/hardware}/speed/index.d.ts +0 -0
  203. /package/dist/{hardware → types/hardware}/speed/index.js +0 -0
  204. /package/dist/{hardware → types/hardware}/star-laser/StarLaserCommand.d.ts +0 -0
  205. /package/dist/{hardware → types/hardware}/star-laser/StarLaserCommand.js +0 -0
  206. /package/dist/{hardware → types/hardware}/star-laser/StarLaserConfigureModuleOptions.d.ts +0 -0
  207. /package/dist/{hardware → types/hardware}/star-laser/StarLaserConfigureModuleOptions.js +0 -0
  208. /package/dist/{hardware → types/hardware}/star-laser/StarLaserModuleStatus.d.ts +0 -0
  209. /package/dist/{hardware → types/hardware}/star-laser/StarLaserModuleStatus.js +0 -0
  210. /package/dist/{hardware → types/hardware}/star-laser/StarLaserSendActionsOptions.d.ts +0 -0
  211. /package/dist/{hardware → types/hardware}/star-laser/StarLaserSendActionsOptions.js +0 -0
  212. /package/dist/{hardware → types/hardware}/star-laser/StarLaserStatus.d.ts +0 -0
  213. /package/dist/{hardware → types/hardware}/star-laser/StarLaserStatus.js +0 -0
  214. /package/dist/{hardware → types/hardware}/star-laser/index.d.ts +0 -0
  215. /package/dist/{hardware → types/hardware}/star-laser/index.js +0 -0
  216. /package/dist/{hardware → types/hardware}/steering-wheel/SteeringWheelModuleStatus.d.ts +0 -0
  217. /package/dist/{hardware → types/hardware}/steering-wheel/SteeringWheelModuleStatus.js +0 -0
  218. /package/dist/{hardware → types/hardware}/steering-wheel/index.d.ts +0 -0
  219. /package/dist/{hardware → types/hardware}/steering-wheel/index.js +0 -0
  220. /package/dist/{kart → types/kart}/Kart.d.ts +0 -0
  221. /package/dist/{kart → types/kart}/Kart.js +0 -0
  222. /package/dist/{kart → types/kart}/KartShield.d.ts +0 -0
  223. /package/dist/{kart → types/kart}/KartShield.js +0 -0
  224. /package/dist/{kart → types/kart}/KartStatus.d.ts +0 -0
  225. /package/dist/{kart → types/kart}/KartStatus.js +0 -0
  226. /package/dist/{kart → types/kart}/index.d.ts +0 -0
  227. /package/dist/{kart → types/kart}/index.js +0 -0
  228. /package/dist/{kartTracking → types/kartTracking}/CheckpointEvent.d.ts +0 -0
  229. /package/dist/{kartTracking → types/kartTracking}/CheckpointEvent.js +0 -0
  230. /package/dist/{kartTracking → types/kartTracking}/KartTracking.d.ts +0 -0
  231. /package/dist/{kartTracking → types/kartTracking}/KartTracking.js +0 -0
  232. /package/dist/{kartTracking → types/kartTracking}/index.d.ts +0 -0
  233. /package/dist/{kartTracking → types/kartTracking}/index.js +0 -0
  234. /package/dist/{powerUp → types/powerUp}/PowerUp.d.ts +0 -0
  235. /package/dist/{powerUp → types/powerUp}/PowerUp.js +0 -0
  236. /package/dist/{powerUp → types/powerUp}/PowerUpName.d.ts +0 -0
  237. /package/dist/{powerUp → types/powerUp}/PowerUpName.js +0 -0
  238. /package/dist/{powerUp → types/powerUp}/PowerUpShield.d.ts +0 -0
  239. /package/dist/{powerUp → types/powerUp}/PowerUpShield.js +0 -0
  240. /package/dist/{powerUp → types/powerUp}/PowerUpTarget.d.ts +0 -0
  241. /package/dist/{powerUp → types/powerUp}/PowerUpTarget.js +0 -0
  242. /package/dist/{powerUp → types/powerUp}/PowerUpType.d.ts +0 -0
  243. /package/dist/{powerUp → types/powerUp}/PowerUpType.js +0 -0
  244. /package/dist/{powerUp → types/powerUp}/index.d.ts +0 -0
  245. /package/dist/{powerUp → types/powerUp}/index.js +0 -0
  246. /package/dist/{response → types/response}/ErrorResponse.d.ts +0 -0
  247. /package/dist/{response → types/response}/ErrorResponse.js +0 -0
  248. /package/dist/{response → types/response}/Response.d.ts +0 -0
  249. /package/dist/{response → types/response}/Response.js +0 -0
  250. /package/dist/{response → types/response}/SuccesResponse.d.ts +0 -0
  251. /package/dist/{response → types/response}/SuccesResponse.js +0 -0
  252. /package/dist/{response → types/response}/index.d.ts +0 -0
  253. /package/dist/{response → types/response}/index.js +0 -0
  254. /package/dist/{socket/SocketHardwareModulesEventsParams.js → types/role/RoleDefinition.js} +0 -0
  255. /package/dist/{socket → types/socket}/SocketHardwareModulesEventsParams.d.ts +0 -0
  256. /package/dist/{socket/SocketHardwareOnDataEventsParams.js → types/socket/SocketHardwareModulesEventsParams.js} +0 -0
  257. /package/dist/{socket → types/socket}/SocketHardwareOnDataEventsParams.d.ts +0 -0
  258. /package/dist/{socket/SocketPowerUpEventsParams.js → types/socket/SocketHardwareOnDataEventsParams.js} +0 -0
  259. /package/dist/{socket → types/socket}/SocketPowerUpEventsParams.d.ts +0 -0
  260. /package/dist/{socket/clientToServer/SocketGameTrackClientToServerEventsParams.js → types/socket/SocketPowerUpEventsParams.js} +0 -0
  261. /package/dist/{socket → types/socket}/clientToServer/SocketGameTrackClientToServerEventsParams.d.ts +0 -0
  262. /package/dist/{socket/clientToServer/SocketKartClientToServerEventsParams.js → types/socket/clientToServer/SocketGameTrackClientToServerEventsParams.js} +0 -0
  263. /package/dist/{socket → types/socket}/clientToServer/SocketKartClientToServerEventsParams.d.ts +0 -0
  264. /package/dist/{socket/clientToServer/SocketWebAppClientToServerEventsParams.js → types/socket/clientToServer/SocketKartClientToServerEventsParams.js} +0 -0
  265. /package/dist/{socket → types/socket}/clientToServer/SocketWebAppClientToServerEventsParams.d.ts +0 -0
  266. /package/dist/{socket/inputs/MacAddressGameTrackConnection.js → types/socket/clientToServer/SocketWebAppClientToServerEventsParams.js} +0 -0
  267. /package/dist/{socket → types/socket}/clientToServer/index.d.ts +0 -0
  268. /package/dist/{socket → types/socket}/clientToServer/index.js +0 -0
  269. /package/dist/{socket → types/socket}/index.d.ts +0 -0
  270. /package/dist/{socket → types/socket}/index.js +0 -0
  271. /package/dist/{socket → types/socket}/inputs/MacAddressGameTrackConnection.d.ts +0 -0
  272. /package/dist/{socket/inputs/SocketInitRaspberryInput.js → types/socket/inputs/MacAddressGameTrackConnection.js} +0 -0
  273. /package/dist/{socket → types/socket}/inputs/SocketInitRaspberryInput.d.ts +0 -0
  274. /package/dist/{socket/inputs/SocketRegisterKartCheckpointInput.js → types/socket/inputs/SocketInitRaspberryInput.js} +0 -0
  275. /package/dist/{socket → types/socket}/inputs/SocketRegisterKartCheckpointInput.d.ts +0 -0
  276. /package/dist/{socket/serverToClient/SocketGameTrackServerToClientEventParams.js → types/socket/inputs/SocketRegisterKartCheckpointInput.js} +0 -0
  277. /package/dist/{socket → types/socket}/inputs/index.d.ts +0 -0
  278. /package/dist/{socket → types/socket}/inputs/index.js +0 -0
  279. /package/dist/{socket → types/socket}/serverToClient/SocketGameTrackServerToClientEventParams.d.ts +0 -0
  280. /package/dist/{socket/serverToClient/SocketKartServerToClientEventsParams.js → types/socket/serverToClient/SocketGameTrackServerToClientEventParams.js} +0 -0
  281. /package/dist/{socket → types/socket}/serverToClient/SocketKartServerToClientEventsParams.d.ts +0 -0
  282. /package/dist/{socket/serverToClient/SocketWebAppServerToClientEventsParams.js → types/socket/serverToClient/SocketKartServerToClientEventsParams.js} +0 -0
  283. /package/dist/{socket → types/socket}/serverToClient/SocketWebAppServerToClientEventsParams.d.ts +0 -0
  284. /package/dist/{socket/utils/SocketParamsToEvents.js → types/socket/serverToClient/SocketWebAppServerToClientEventsParams.js} +0 -0
  285. /package/dist/{socket → types/socket}/serverToClient/index.d.ts +0 -0
  286. /package/dist/{socket → types/socket}/serverToClient/index.js +0 -0
  287. /package/dist/{socket → types/socket}/utils/SocketParamsToEvents.d.ts +0 -0
  288. /package/dist/{sounds/SoundName.js → types/socket/utils/SocketParamsToEvents.js} +0 -0
  289. /package/dist/{socket → types/socket}/utils/index.d.ts +0 -0
  290. /package/dist/{socket → types/socket}/utils/index.js +0 -0
  291. /package/dist/{sounds → types/sounds}/SoundName.d.ts +0 -0
  292. /package/dist/{user/User.js → types/sounds/SoundName.js} +0 -0
  293. /package/dist/{sounds → types/sounds}/index.d.ts +0 -0
  294. /package/dist/{sounds → types/sounds}/index.js +0 -0
  295. /package/dist/{user/UserOrigin.js → types/user/User.js} +0 -0
  296. /package/dist/{user → types/user}/UserOrigin.d.ts +0 -0
  297. /package/dist/{utils/ArithmeticString.js → types/user/UserOrigin.js} +0 -0
  298. /package/dist/{user → types/user}/index.d.ts +0 -0
  299. /package/dist/{user → types/user}/index.js +0 -0
  300. /package/dist/{utils → types/utils}/ArithmeticString.d.ts +0 -0
  301. /package/dist/{utils/ObjectValues.js → types/utils/ArithmeticString.js} +0 -0
  302. /package/dist/{utils → types/utils}/ObjectValues.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ import type { RoleDefinition } from '../types/role/RoleDefinition';
2
+ export declare const ROLE_DEFINITIONS: RoleDefinition[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROLE_DEFINITIONS = void 0;
4
+ const Permission_1 = require("../types/role/Permission");
5
+ const UserRole_1 = require("../types/role/UserRole");
6
+ exports.ROLE_DEFINITIONS = [
7
+ {
8
+ role: UserRole_1.USER_ROLE.SUPER_ADMIN,
9
+ description: 'Complete access to all features and settings',
10
+ permissions: [
11
+ Permission_1.PERMISSIONS.FULL_ACCESS,
12
+ Permission_1.PERMISSIONS.KARTS_HARDWARE_TEST,
13
+ Permission_1.PERMISSIONS.KARTS_POWER_UP_TEST,
14
+ Permission_1.PERMISSIONS.GAME_TRACK_CONFIG_HARDWARE,
15
+ Permission_1.PERMISSIONS.GAME_TRACK_CONFIG_KARTS,
16
+ Permission_1.PERMISSIONS.GAME_TRACK_MANAGE_GAMES,
17
+ Permission_1.PERMISSIONS.KARTS_TRACKING,
18
+ ],
19
+ },
20
+ {
21
+ role: UserRole_1.USER_ROLE.OPERATOR,
22
+ description: 'Game Track Operator',
23
+ permissions: [Permission_1.PERMISSIONS.GAME_TRACK_MANAGE_GAMES],
24
+ },
25
+ ];
@@ -0,0 +1 @@
1
+ export * from './RoleDefinitions';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./RoleDefinitions"), exports);
package/dist/index.d.ts CHANGED
@@ -1,20 +1,3 @@
1
- /**
2
- * This types are shared wihin the 3 Repositories
3
- * Webapp, Backend and Raspberry
4
- */
5
- export * from './checkpoint';
6
- export * from './color';
7
- export * from './command';
8
- export * from './damage';
9
- export * from './flow';
10
- export * from './game';
11
- export * from './gameTrack';
12
- export * from './hardware';
13
- export * from './kart';
14
- export * from './kartTracking';
15
- export * from './powerUp';
16
- export * from './response';
17
- export * from './socket';
18
- export * from './sounds';
19
- export * from './user';
1
+ export * from './definitions';
2
+ export * from './types';
20
3
  export * from './utils';
package/dist/index.js CHANGED
@@ -1,8 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * This types are shared wihin the 3 Repositories
4
- * Webapp, Backend and Raspberry
5
- */
6
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
3
  if (k2 === undefined) k2 = k;
8
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -18,19 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
15
  };
20
16
  Object.defineProperty(exports, "__esModule", { value: true });
21
- __exportStar(require("./checkpoint"), exports);
22
- __exportStar(require("./color"), exports);
23
- __exportStar(require("./command"), exports);
24
- __exportStar(require("./damage"), exports);
25
- __exportStar(require("./flow"), exports);
26
- __exportStar(require("./game"), exports);
27
- __exportStar(require("./gameTrack"), exports);
28
- __exportStar(require("./hardware"), exports);
29
- __exportStar(require("./kart"), exports);
30
- __exportStar(require("./kartTracking"), exports);
31
- __exportStar(require("./powerUp"), exports);
32
- __exportStar(require("./response"), exports);
33
- __exportStar(require("./socket"), exports);
34
- __exportStar(require("./sounds"), exports);
35
- __exportStar(require("./user"), exports);
17
+ __exportStar(require("./definitions"), exports);
18
+ __exportStar(require("./types"), exports);
36
19
  __exportStar(require("./utils"), exports);
@@ -1,4 +1,4 @@
1
- import type { KartEffect } from '../hardware';
1
+ import type { FlagMediaName, KartEffect } from '../hardware';
2
2
  import type { SoundName } from '../sounds';
3
3
  import type { DamageEffectName } from './DamageName';
4
4
  import type { DamageTarget } from './DamageTarget';
@@ -11,4 +11,5 @@ export interface Damage {
11
11
  rgbEffect: KartEffect;
12
12
  /** Quantity of damage will affect the Kart */
13
13
  amount: number;
14
+ flagMediaName: FlagMediaName;
14
15
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This types are shared wihin the 3 Repositories
3
+ * Webapp, Backend and Raspberry
4
+ */
5
+ export * from './checkpoint';
6
+ export * from './color';
7
+ export * from './command';
8
+ export * from './damage';
9
+ export * from './flow';
10
+ export * from './game';
11
+ export * from './gameTrack';
12
+ export * from './hardware';
13
+ export * from './kart';
14
+ export * from './kartTracking';
15
+ export * from './powerUp';
16
+ export * from './response';
17
+ export * from './role';
18
+ export * from './socket';
19
+ export * from './sounds';
20
+ export * from './user';
21
+ export * from './utils';
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * This types are shared wihin the 3 Repositories
4
+ * Webapp, Backend and Raspberry
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ __exportStar(require("./checkpoint"), exports);
22
+ __exportStar(require("./color"), exports);
23
+ __exportStar(require("./command"), exports);
24
+ __exportStar(require("./damage"), exports);
25
+ __exportStar(require("./flow"), exports);
26
+ __exportStar(require("./game"), exports);
27
+ __exportStar(require("./gameTrack"), exports);
28
+ __exportStar(require("./hardware"), exports);
29
+ __exportStar(require("./kart"), exports);
30
+ __exportStar(require("./kartTracking"), exports);
31
+ __exportStar(require("./powerUp"), exports);
32
+ __exportStar(require("./response"), exports);
33
+ __exportStar(require("./role"), exports);
34
+ __exportStar(require("./socket"), exports);
35
+ __exportStar(require("./sounds"), exports);
36
+ __exportStar(require("./user"), exports);
37
+ __exportStar(require("./utils"), exports);
@@ -0,0 +1,11 @@
1
+ import type { ObjectValues } from '../utils';
2
+ export declare const PERMISSIONS: {
3
+ readonly FULL_ACCESS: "FULL_ACCESS";
4
+ readonly KARTS_HARDWARE_TEST: "MANAGE_KARTS";
5
+ readonly KARTS_POWER_UP_TEST: "MANAGE_POWER_UPS";
6
+ readonly GAME_TRACK_MANAGE_GAMES: "MANAGE_GAMES";
7
+ readonly GAME_TRACK_CONFIG_KARTS: "CONFIG_KARTS";
8
+ readonly GAME_TRACK_CONFIG_HARDWARE: "CONFIG_HARDWARE";
9
+ readonly KARTS_TRACKING: "KARTS_TRACKING";
10
+ };
11
+ export type Permission = ObjectValues<typeof PERMISSIONS>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PERMISSIONS = void 0;
4
+ exports.PERMISSIONS = {
5
+ FULL_ACCESS: 'FULL_ACCESS',
6
+ KARTS_HARDWARE_TEST: 'MANAGE_KARTS',
7
+ KARTS_POWER_UP_TEST: 'MANAGE_POWER_UPS',
8
+ GAME_TRACK_MANAGE_GAMES: 'MANAGE_GAMES',
9
+ GAME_TRACK_CONFIG_KARTS: 'CONFIG_KARTS',
10
+ GAME_TRACK_CONFIG_HARDWARE: 'CONFIG_HARDWARE',
11
+ KARTS_TRACKING: 'KARTS_TRACKING',
12
+ };
@@ -0,0 +1,7 @@
1
+ import type { Permission } from './Permission';
2
+ import type { UserRole } from './UserRole';
3
+ export interface RoleDefinition {
4
+ role: UserRole;
5
+ permissions: Permission[];
6
+ description: string;
7
+ }
@@ -0,0 +1,6 @@
1
+ import type { ObjectValues } from '../utils';
2
+ export declare const USER_ROLE: {
3
+ readonly SUPER_ADMIN: "SUPER_ADMIN";
4
+ readonly OPERATOR: "OPERATOR";
5
+ };
6
+ export type UserRole = ObjectValues<typeof USER_ROLE>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_ROLE = void 0;
4
+ exports.USER_ROLE = {
5
+ SUPER_ADMIN: 'SUPER_ADMIN',
6
+ OPERATOR: 'OPERATOR',
7
+ };
@@ -0,0 +1,3 @@
1
+ export * from './Permission';
2
+ export * from './RoleDefinition';
3
+ export * from './UserRole';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Permission"), exports);
18
+ __exportStar(require("./RoleDefinition"), exports);
19
+ __exportStar(require("./UserRole"), exports);
@@ -1,7 +1,9 @@
1
+ import type { UserRole } from '../role/UserRole';
1
2
  import type { UserOrigin } from './UserOrigin';
2
3
  export interface User {
3
4
  id: string;
4
5
  username: string;
5
6
  name: string;
6
7
  origin: UserOrigin;
8
+ role: UserRole;
7
9
  }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from './ObjectValues';
2
+ export * from './ArithmeticString';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ObjectValues"), exports);
18
+ __exportStar(require("./ArithmeticString"), exports);
@@ -1,2 +1 @@
1
- export * from './ObjectValues';
2
- export * from './ArithmeticString';
1
+ export * from './roles.utils';
@@ -14,5 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ObjectValues"), exports);
18
- __exportStar(require("./ArithmeticString"), exports);
17
+ __exportStar(require("./roles.utils"), exports);
@@ -0,0 +1,4 @@
1
+ import { Permission, UserRole } from '../types';
2
+ export declare function hasPermission(userRole: UserRole, requiredPermission: Permission): boolean;
3
+ export declare function hasAnyPermission(userRole: UserRole, requiredPermissions: Permission[]): boolean;
4
+ export declare function hasAllPermissions(userRole: UserRole, requiredPermissions: Permission[]): boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasPermission = hasPermission;
4
+ exports.hasAnyPermission = hasAnyPermission;
5
+ exports.hasAllPermissions = hasAllPermissions;
6
+ const definitions_1 = require("../definitions");
7
+ const types_1 = require("../types");
8
+ function hasPermission(userRole, requiredPermission) {
9
+ if (userRole === types_1.USER_ROLE.SUPER_ADMIN) {
10
+ return true;
11
+ }
12
+ const roleDefinition = definitions_1.ROLE_DEFINITIONS.find((def) => def.role === userRole);
13
+ return roleDefinition ? roleDefinition.permissions.includes(requiredPermission) : false;
14
+ }
15
+ function hasAnyPermission(userRole, requiredPermissions) {
16
+ return requiredPermissions.some((perm) => hasPermission(userRole, perm));
17
+ }
18
+ function hasAllPermissions(userRole, requiredPermissions) {
19
+ return requiredPermissions.every((perm) => hasPermission(userRole, perm));
20
+ }
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@battle-racing/br-common-lib",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Common library for all Battle Racing Repositorios",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
8
- "build": "tsc"
8
+ "build": "tsc",
9
+ "release": "npm run build && npm publish"
9
10
  },
10
11
  "keywords": [
11
12
  "Battle",
@@ -0,0 +1,24 @@
1
+ import { PERMISSIONS } from '../types/role/Permission';
2
+ import type { RoleDefinition } from '../types/role/RoleDefinition';
3
+ import { USER_ROLE } from '../types/role/UserRole';
4
+
5
+ export const ROLE_DEFINITIONS: RoleDefinition[] = [
6
+ {
7
+ role: USER_ROLE.SUPER_ADMIN,
8
+ description: 'Complete access to all features and settings',
9
+ permissions: [
10
+ PERMISSIONS.FULL_ACCESS,
11
+ PERMISSIONS.KARTS_HARDWARE_TEST,
12
+ PERMISSIONS.KARTS_POWER_UP_TEST,
13
+ PERMISSIONS.GAME_TRACK_CONFIG_HARDWARE,
14
+ PERMISSIONS.GAME_TRACK_CONFIG_KARTS,
15
+ PERMISSIONS.GAME_TRACK_MANAGE_GAMES,
16
+ PERMISSIONS.KARTS_TRACKING,
17
+ ],
18
+ },
19
+ {
20
+ role: USER_ROLE.OPERATOR,
21
+ description: 'Game Track Operator',
22
+ permissions: [PERMISSIONS.GAME_TRACK_MANAGE_GAMES],
23
+ },
24
+ ];
@@ -0,0 +1 @@
1
+ export * from './RoleDefinitions';
package/src/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './definitions';
2
+ export * from './types';
3
+ export * from './utils';
@@ -15,7 +15,9 @@ export * from './kart';
15
15
  export * from './kartTracking';
16
16
  export * from './powerUp';
17
17
  export * from './response';
18
+ export * from './role';
18
19
  export * from './socket';
19
20
  export * from './sounds';
20
21
  export * from './user';
21
22
  export * from './utils';
23
+
@@ -0,0 +1,16 @@
1
+ import type { ObjectValues } from '../utils';
2
+
3
+ export const PERMISSIONS = {
4
+ FULL_ACCESS: 'FULL_ACCESS',
5
+
6
+ KARTS_HARDWARE_TEST: 'MANAGE_KARTS',
7
+ KARTS_POWER_UP_TEST: 'MANAGE_POWER_UPS',
8
+
9
+ GAME_TRACK_MANAGE_GAMES: 'MANAGE_GAMES',
10
+ GAME_TRACK_CONFIG_KARTS: 'CONFIG_KARTS',
11
+ GAME_TRACK_CONFIG_HARDWARE: 'CONFIG_HARDWARE',
12
+
13
+ KARTS_TRACKING: 'KARTS_TRACKING',
14
+ } as const;
15
+
16
+ export type Permission = ObjectValues<typeof PERMISSIONS>;
@@ -0,0 +1,8 @@
1
+ import type { Permission } from './Permission';
2
+ import type { UserRole } from './UserRole';
3
+
4
+ export interface RoleDefinition {
5
+ role: UserRole;
6
+ permissions: Permission[];
7
+ description: string;
8
+ }
@@ -0,0 +1,8 @@
1
+ import type { ObjectValues } from '../utils';
2
+
3
+ export const USER_ROLE = {
4
+ SUPER_ADMIN: 'SUPER_ADMIN',
5
+ OPERATOR: 'OPERATOR',
6
+ } as const;
7
+
8
+ export type UserRole = ObjectValues<typeof USER_ROLE>;
@@ -0,0 +1,3 @@
1
+ export * from './Permission';
2
+ export * from './RoleDefinition';
3
+ export * from './UserRole';
@@ -1,3 +1,4 @@
1
+ import type { UserRole } from '../role/UserRole';
1
2
  import type { UserOrigin } from './UserOrigin';
2
3
 
3
4
  export interface User {
@@ -5,4 +6,5 @@ export interface User {
5
6
  username: string;
6
7
  name: string;
7
8
  origin: UserOrigin;
9
+ role: UserRole;
8
10
  }
@@ -0,0 +1 @@
1
+ export * from './roles.utils';
@@ -0,0 +1,20 @@
1
+ import { ROLE_DEFINITIONS } from '../definitions';
2
+ import { Permission, USER_ROLE, UserRole } from '../types';
3
+
4
+ export function hasPermission(userRole: UserRole, requiredPermission: Permission): boolean {
5
+ if (userRole === USER_ROLE.SUPER_ADMIN) {
6
+ return true;
7
+ }
8
+
9
+ const roleDefinition = ROLE_DEFINITIONS.find((def) => def.role === userRole);
10
+
11
+ return roleDefinition ? roleDefinition.permissions.includes(requiredPermission) : false;
12
+ }
13
+
14
+ export function hasAnyPermission(userRole: UserRole, requiredPermissions: Permission[]): boolean {
15
+ return requiredPermissions.some((perm) => hasPermission(userRole, perm));
16
+ }
17
+
18
+ export function hasAllPermissions(userRole: UserRole, requiredPermissions: Permission[]): boolean {
19
+ return requiredPermissions.every((perm) => hasPermission(userRole, perm));
20
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes