@sideline/domain 0.3.0 → 0.5.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 (210) hide show
  1. package/dist/cjs/api/AgeThresholdApi.js +20 -20
  2. package/dist/cjs/api/AgeThresholdApi.js.map +1 -1
  3. package/dist/cjs/api/Auth.js +16 -15
  4. package/dist/cjs/api/Auth.js.map +1 -1
  5. package/dist/cjs/api/GroupApi.js +205 -0
  6. package/dist/cjs/api/GroupApi.js.map +1 -0
  7. package/dist/cjs/api/NotificationApi.js +6 -2
  8. package/dist/cjs/api/NotificationApi.js.map +1 -1
  9. package/dist/cjs/api/Roster.js +1 -5
  10. package/dist/cjs/api/Roster.js.map +1 -1
  11. package/dist/cjs/api/TrainingTypeApi.js +84 -0
  12. package/dist/cjs/api/TrainingTypeApi.js.map +1 -0
  13. package/dist/cjs/index.js +33 -7
  14. package/dist/cjs/models/AgeThresholdRule.js +2 -2
  15. package/dist/cjs/models/AgeThresholdRule.js.map +1 -1
  16. package/dist/cjs/models/ChannelSyncEvent.js +28 -0
  17. package/dist/cjs/models/ChannelSyncEvent.js.map +1 -0
  18. package/dist/cjs/models/Discord.js +9 -0
  19. package/dist/cjs/models/Discord.js.map +1 -0
  20. package/dist/cjs/models/DiscordChannelMapping.js +21 -0
  21. package/dist/cjs/models/DiscordChannelMapping.js.map +1 -0
  22. package/dist/cjs/models/GroupModel.js +20 -0
  23. package/dist/cjs/models/GroupModel.js.map +1 -0
  24. package/dist/cjs/models/Notification.js +1 -1
  25. package/dist/cjs/models/Notification.js.map +1 -1
  26. package/dist/cjs/models/Role.js +2 -2
  27. package/dist/cjs/models/Role.js.map +1 -1
  28. package/dist/cjs/models/RoleGroup.js +15 -0
  29. package/dist/cjs/models/RoleGroup.js.map +1 -0
  30. package/dist/cjs/models/Team.js +2 -0
  31. package/dist/cjs/models/Team.js.map +1 -1
  32. package/dist/cjs/models/TeamMember.js +1 -0
  33. package/dist/cjs/models/TeamMember.js.map +1 -1
  34. package/dist/cjs/models/TrainingType.js +20 -0
  35. package/dist/cjs/models/TrainingType.js.map +1 -0
  36. package/dist/cjs/models/User.js +1 -6
  37. package/dist/cjs/models/User.js.map +1 -1
  38. package/dist/cjs/rpc/SyncRpcs.js +13 -0
  39. package/dist/cjs/rpc/SyncRpcs.js.map +1 -0
  40. package/dist/cjs/rpc/channel/ChannelRpcEvents.js +44 -0
  41. package/dist/cjs/rpc/channel/ChannelRpcEvents.js.map +1 -0
  42. package/dist/cjs/rpc/channel/ChannelRpcGroup.js +45 -0
  43. package/dist/cjs/rpc/channel/ChannelRpcGroup.js.map +1 -0
  44. package/dist/cjs/rpc/channel/ChannelRpcModels.js +17 -0
  45. package/dist/cjs/rpc/channel/ChannelRpcModels.js.map +1 -0
  46. package/dist/cjs/rpc/guild/GuildRpcGroup.js +35 -0
  47. package/dist/cjs/rpc/guild/GuildRpcGroup.js.map +1 -0
  48. package/dist/cjs/rpc/role/RoleRpcEvents.js +44 -0
  49. package/dist/cjs/rpc/role/RoleRpcEvents.js.map +1 -0
  50. package/dist/cjs/rpc/role/RoleRpcGroup.js +44 -0
  51. package/dist/cjs/rpc/role/RoleRpcGroup.js.map +1 -0
  52. package/dist/cjs/rpc/role/RoleRpcModels.js +16 -0
  53. package/dist/cjs/rpc/role/RoleRpcModels.js.map +1 -0
  54. package/dist/dts/api/AgeThresholdApi.d.ts +43 -43
  55. package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -1
  56. package/dist/dts/api/Auth.d.ts +33 -44
  57. package/dist/dts/api/Auth.d.ts.map +1 -1
  58. package/dist/dts/api/GroupApi.d.ts +254 -0
  59. package/dist/dts/api/GroupApi.d.ts.map +1 -0
  60. package/dist/dts/api/NotificationApi.d.ts +9 -5
  61. package/dist/dts/api/NotificationApi.d.ts.map +1 -1
  62. package/dist/dts/api/RoleApi.d.ts +10 -10
  63. package/dist/dts/api/Roster.d.ts +7 -23
  64. package/dist/dts/api/Roster.d.ts.map +1 -1
  65. package/dist/dts/api/TrainingTypeApi.d.ts +116 -0
  66. package/dist/dts/api/TrainingTypeApi.d.ts.map +1 -0
  67. package/dist/dts/index.d.ts +16 -3
  68. package/dist/dts/index.d.ts.map +1 -1
  69. package/dist/dts/models/AgeThresholdRule.d.ts +13 -13
  70. package/dist/dts/models/ChannelSyncEvent.d.ts +164 -0
  71. package/dist/dts/models/ChannelSyncEvent.d.ts.map +1 -0
  72. package/dist/dts/models/Discord.d.ts +4 -0
  73. package/dist/dts/models/Discord.d.ts.map +1 -0
  74. package/dist/dts/models/DiscordChannelMapping.d.ts +97 -0
  75. package/dist/dts/models/DiscordChannelMapping.d.ts.map +1 -0
  76. package/dist/dts/models/GroupModel.d.ts +97 -0
  77. package/dist/dts/models/GroupModel.d.ts.map +1 -0
  78. package/dist/dts/models/Notification.d.ts +12 -12
  79. package/dist/dts/models/Notification.d.ts.map +1 -1
  80. package/dist/dts/models/Role.d.ts +4 -4
  81. package/dist/dts/models/Role.d.ts.map +1 -1
  82. package/dist/dts/models/RoleGroup.d.ts +16 -0
  83. package/dist/dts/models/RoleGroup.d.ts.map +1 -0
  84. package/dist/dts/models/RoleSyncEvent.d.ts +8 -8
  85. package/dist/dts/models/Team.d.ts +13 -0
  86. package/dist/dts/models/Team.d.ts.map +1 -1
  87. package/dist/dts/models/TeamMember.d.ts +30 -0
  88. package/dist/dts/models/TeamMember.d.ts.map +1 -1
  89. package/dist/dts/models/{SubgroupModel.d.ts → TrainingType.d.ts} +26 -13
  90. package/dist/dts/models/TrainingType.d.ts.map +1 -0
  91. package/dist/dts/models/User.d.ts +0 -43
  92. package/dist/dts/models/User.d.ts.map +1 -1
  93. package/dist/dts/rpc/SyncRpcs.d.ts +56 -0
  94. package/dist/dts/rpc/SyncRpcs.d.ts.map +1 -0
  95. package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts +51 -0
  96. package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts.map +1 -0
  97. package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts +23 -0
  98. package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts.map +1 -0
  99. package/dist/dts/rpc/channel/ChannelRpcModels.d.ts +28 -0
  100. package/dist/dts/rpc/channel/ChannelRpcModels.d.ts.map +1 -0
  101. package/dist/dts/rpc/guild/GuildRpcGroup.d.ts +19 -0
  102. package/dist/dts/rpc/guild/GuildRpcGroup.d.ts.map +1 -0
  103. package/dist/dts/rpc/role/RoleRpcEvents.d.ts +51 -0
  104. package/dist/dts/rpc/role/RoleRpcEvents.d.ts.map +1 -0
  105. package/dist/dts/rpc/role/RoleRpcGroup.d.ts +22 -0
  106. package/dist/dts/rpc/role/RoleRpcGroup.d.ts.map +1 -0
  107. package/dist/dts/rpc/role/RoleRpcModels.d.ts +24 -0
  108. package/dist/dts/rpc/role/RoleRpcModels.d.ts.map +1 -0
  109. package/dist/esm/api/AgeThresholdApi.js +17 -17
  110. package/dist/esm/api/AgeThresholdApi.js.map +1 -1
  111. package/dist/esm/api/Auth.js +15 -15
  112. package/dist/esm/api/Auth.js.map +1 -1
  113. package/dist/esm/api/GroupApi.js +185 -0
  114. package/dist/esm/api/GroupApi.js.map +1 -0
  115. package/dist/esm/api/NotificationApi.js +6 -2
  116. package/dist/esm/api/NotificationApi.js.map +1 -1
  117. package/dist/esm/api/Roster.js +2 -6
  118. package/dist/esm/api/Roster.js.map +1 -1
  119. package/dist/esm/api/TrainingTypeApi.js +70 -0
  120. package/dist/esm/api/TrainingTypeApi.js.map +1 -0
  121. package/dist/esm/index.js +16 -3
  122. package/dist/esm/index.js.map +1 -1
  123. package/dist/esm/models/AgeThresholdRule.js +2 -2
  124. package/dist/esm/models/AgeThresholdRule.js.map +1 -1
  125. package/dist/esm/models/ChannelSyncEvent.js +21 -0
  126. package/dist/esm/models/ChannelSyncEvent.js.map +1 -0
  127. package/dist/esm/models/Discord.js +3 -0
  128. package/dist/esm/models/Discord.js.map +1 -0
  129. package/dist/esm/models/DiscordChannelMapping.js +14 -0
  130. package/dist/esm/models/DiscordChannelMapping.js.map +1 -0
  131. package/dist/esm/models/GroupModel.js +13 -0
  132. package/dist/esm/models/GroupModel.js.map +1 -0
  133. package/dist/esm/models/Notification.js +1 -1
  134. package/dist/esm/models/Notification.js.map +1 -1
  135. package/dist/esm/models/Role.js +2 -2
  136. package/dist/esm/models/Role.js.map +1 -1
  137. package/dist/esm/models/RoleGroup.js +8 -0
  138. package/dist/esm/models/RoleGroup.js.map +1 -0
  139. package/dist/esm/models/Team.js +2 -0
  140. package/dist/esm/models/Team.js.map +1 -1
  141. package/dist/esm/models/TeamMember.js +1 -0
  142. package/dist/esm/models/TeamMember.js.map +1 -1
  143. package/dist/esm/models/TrainingType.js +13 -0
  144. package/dist/esm/models/TrainingType.js.map +1 -0
  145. package/dist/esm/models/User.js +0 -5
  146. package/dist/esm/models/User.js.map +1 -1
  147. package/dist/esm/rpc/SyncRpcs.js +6 -0
  148. package/dist/esm/rpc/SyncRpcs.js.map +1 -0
  149. package/dist/esm/rpc/channel/ChannelRpcEvents.js +34 -0
  150. package/dist/esm/rpc/channel/ChannelRpcEvents.js.map +1 -0
  151. package/dist/esm/rpc/channel/ChannelRpcGroup.js +39 -0
  152. package/dist/esm/rpc/channel/ChannelRpcGroup.js.map +1 -0
  153. package/dist/esm/rpc/channel/ChannelRpcModels.js +10 -0
  154. package/dist/esm/rpc/channel/ChannelRpcModels.js.map +1 -0
  155. package/dist/esm/rpc/guild/GuildRpcGroup.js +29 -0
  156. package/dist/esm/rpc/guild/GuildRpcGroup.js.map +1 -0
  157. package/dist/esm/rpc/role/RoleRpcEvents.js +34 -0
  158. package/dist/esm/rpc/role/RoleRpcEvents.js.map +1 -0
  159. package/dist/esm/rpc/role/RoleRpcGroup.js +38 -0
  160. package/dist/esm/rpc/role/RoleRpcGroup.js.map +1 -0
  161. package/dist/esm/rpc/role/RoleRpcModels.js +9 -0
  162. package/dist/esm/rpc/role/RoleRpcModels.js.map +1 -0
  163. package/package.json +1 -1
  164. package/src/api/AgeThresholdApi.ts +18 -18
  165. package/src/api/Auth.ts +17 -12
  166. package/src/api/GroupApi.ts +229 -0
  167. package/src/api/NotificationApi.ts +10 -0
  168. package/src/api/Roster.ts +1 -5
  169. package/src/api/TrainingTypeApi.ts +96 -0
  170. package/src/index.ts +23 -5
  171. package/src/models/AgeThresholdRule.ts +2 -2
  172. package/src/models/ChannelSyncEvent.ts +30 -0
  173. package/src/models/Discord.ts +4 -0
  174. package/src/models/DiscordChannelMapping.ts +18 -0
  175. package/src/models/GroupModel.ts +15 -0
  176. package/src/models/Notification.ts +2 -2
  177. package/src/models/Role.ts +4 -0
  178. package/src/models/RoleGroup.ts +8 -0
  179. package/src/models/Team.ts +2 -0
  180. package/src/models/TeamMember.ts +1 -0
  181. package/src/models/TrainingType.ts +15 -0
  182. package/src/models/User.ts +0 -9
  183. package/src/rpc/SyncRpcs.ts +6 -0
  184. package/src/rpc/channel/ChannelRpcEvents.ts +57 -0
  185. package/src/rpc/channel/ChannelRpcGroup.ts +33 -0
  186. package/src/rpc/channel/ChannelRpcModels.ts +10 -0
  187. package/src/rpc/guild/GuildRpcGroup.ts +29 -0
  188. package/src/rpc/role/RoleRpcEvents.ts +48 -0
  189. package/src/rpc/role/RoleRpcGroup.ts +33 -0
  190. package/src/rpc/role/RoleRpcModels.ts +9 -0
  191. package/dist/cjs/api/SubgroupApi.js +0 -122
  192. package/dist/cjs/api/SubgroupApi.js.map +0 -1
  193. package/dist/cjs/models/SubgroupModel.js +0 -18
  194. package/dist/cjs/models/SubgroupModel.js.map +0 -1
  195. package/dist/cjs/rpc/RoleSyncRpc.js +0 -66
  196. package/dist/cjs/rpc/RoleSyncRpc.js.map +0 -1
  197. package/dist/dts/api/SubgroupApi.d.ts +0 -140
  198. package/dist/dts/api/SubgroupApi.d.ts.map +0 -1
  199. package/dist/dts/models/SubgroupModel.d.ts.map +0 -1
  200. package/dist/dts/rpc/RoleSyncRpc.d.ts +0 -82
  201. package/dist/dts/rpc/RoleSyncRpc.d.ts.map +0 -1
  202. package/dist/esm/api/SubgroupApi.js +0 -106
  203. package/dist/esm/api/SubgroupApi.js.map +0 -1
  204. package/dist/esm/models/SubgroupModel.js +0 -11
  205. package/dist/esm/models/SubgroupModel.js.map +0 -1
  206. package/dist/esm/rpc/RoleSyncRpc.js +0 -57
  207. package/dist/esm/rpc/RoleSyncRpc.js.map +0 -1
  208. package/src/api/SubgroupApi.ts +0 -146
  209. package/src/models/SubgroupModel.ts +0 -13
  210. package/src/rpc/RoleSyncRpc.ts +0 -59
@@ -0,0 +1,21 @@
1
+ import { Model } from '@effect/sql';
2
+ import { Schema } from 'effect';
3
+ import { GroupId } from '../models/GroupModel.js';
4
+ import { TeamId } from '../models/Team.js';
5
+ import { TeamMemberId } from '../models/TeamMember.js';
6
+ export const ChannelSyncEventId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('ChannelSyncEventId'));
7
+ export const ChannelSyncEventType = /*#__PURE__*/Schema.Literal('channel_created', 'channel_deleted', 'member_added', 'member_removed');
8
+ export class ChannelSyncEvent extends /*#__PURE__*/Model.Class('ChannelSyncEvent')({
9
+ id: /*#__PURE__*/Model.Generated(ChannelSyncEventId),
10
+ team_id: TeamId,
11
+ guild_id: Schema.String,
12
+ event_type: ChannelSyncEventType,
13
+ group_id: GroupId,
14
+ group_name: /*#__PURE__*/Schema.NullOr(Schema.String),
15
+ team_member_id: /*#__PURE__*/Schema.NullOr(TeamMemberId),
16
+ discord_user_id: /*#__PURE__*/Schema.NullOr(Schema.String),
17
+ processed_at: /*#__PURE__*/Schema.NullOr(Schema.String),
18
+ error: /*#__PURE__*/Schema.NullOr(Schema.String),
19
+ created_at: Model.DateTimeInsertFromDate
20
+ }) {}
21
+ //# sourceMappingURL=ChannelSyncEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelSyncEvent.js","names":["Model","Schema","GroupId","TeamId","TeamMemberId","ChannelSyncEventId","String","pipe","brand","ChannelSyncEventType","Literal","ChannelSyncEvent","Class","id","Generated","team_id","guild_id","event_type","group_id","group_name","NullOr","team_member_id","discord_user_id","processed_at","error","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/ChannelSyncEvent.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,YAAY,QAAQ,yBAAyB;AAEtD,OAAO,MAAMC,kBAAkB,gBAAGJ,MAAM,CAACK,MAAM,CAACC,IAAI,cAACN,MAAM,CAACO,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAGxF,OAAO,MAAMC,oBAAoB,gBAAGR,MAAM,CAACS,OAAO,CAChD,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,CACjB;AAGD,OAAM,MAAOC,gBAAiB,sBAAQX,KAAK,CAACY,KAAK,CAAmB,kBAAkB,CAAC,CAAC;EACtFC,EAAE,eAAEb,KAAK,CAACc,SAAS,CAACT,kBAAkB,CAAC;EACvCU,OAAO,EAAEZ,MAAM;EACfa,QAAQ,EAAEf,MAAM,CAACK,MAAM;EACvBW,UAAU,EAAER,oBAAoB;EAChCS,QAAQ,EAAEhB,OAAO;EACjBiB,UAAU,eAAElB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EACxCe,cAAc,eAAEpB,MAAM,CAACmB,MAAM,CAAChB,YAAY,CAAC;EAC3CkB,eAAe,eAAErB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EAC7CiB,YAAY,eAAEtB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EAC1CkB,KAAK,eAAEvB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EACnCmB,UAAU,EAAEzB,KAAK,CAAC0B;CACnB,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { Schema } from 'effect';
2
+ export const Snowflake = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('Snowflake'));
3
+ //# sourceMappingURL=Discord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Discord.js","names":["Schema","Snowflake","String","pipe","brand"],"sources":["../../../src/models/Discord.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,SAAS,gBAAGD,MAAM,CAACE,MAAM,CAACC,IAAI,cAACH,MAAM,CAACI,KAAK,CAAC,WAAW,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { Model } from '@effect/sql';
2
+ import { Schema } from 'effect';
3
+ import { GroupId } from '../models/GroupModel.js';
4
+ import { TeamId } from '../models/Team.js';
5
+ export const DiscordChannelMappingId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('DiscordChannelMappingId'));
6
+ export class DiscordChannelMapping extends /*#__PURE__*/Model.Class('DiscordChannelMapping')({
7
+ id: /*#__PURE__*/Model.Generated(DiscordChannelMappingId),
8
+ team_id: TeamId,
9
+ group_id: GroupId,
10
+ discord_channel_id: Schema.String,
11
+ discord_role_id: /*#__PURE__*/Schema.OptionFromNullOr(Schema.String),
12
+ created_at: Model.DateTimeInsertFromDate
13
+ }) {}
14
+ //# sourceMappingURL=DiscordChannelMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscordChannelMapping.js","names":["Model","Schema","GroupId","TeamId","DiscordChannelMappingId","String","pipe","brand","DiscordChannelMapping","Class","id","Generated","team_id","group_id","discord_channel_id","discord_role_id","OptionFromNullOr","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/DiscordChannelMapping.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,uBAAuB,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAGlG,OAAM,MAAOC,qBAAsB,sBAAQR,KAAK,CAACS,KAAK,CACpD,uBAAuB,CACxB,CAAC;EACAC,EAAE,eAAEV,KAAK,CAACW,SAAS,CAACP,uBAAuB,CAAC;EAC5CQ,OAAO,EAAET,MAAM;EACfU,QAAQ,EAAEX,OAAO;EACjBY,kBAAkB,EAAEb,MAAM,CAACI,MAAM;EACjCU,eAAe,eAAEd,MAAM,CAACe,gBAAgB,CAACf,MAAM,CAACI,MAAM,CAAC;EACvDY,UAAU,EAAEjB,KAAK,CAACkB;CACnB,CAAC","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { Model } from '@effect/sql';
2
+ import { Schema } from 'effect';
3
+ import { TeamId } from '../models/Team.js';
4
+ export const GroupId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('GroupId'));
5
+ export class Group extends /*#__PURE__*/Model.Class('Group')({
6
+ id: /*#__PURE__*/Model.Generated(GroupId),
7
+ team_id: TeamId,
8
+ parent_id: /*#__PURE__*/Schema.NullOr(GroupId),
9
+ name: Schema.String,
10
+ emoji: /*#__PURE__*/Schema.NullOr(Schema.String),
11
+ created_at: Model.DateTimeInsertFromDate
12
+ }) {}
13
+ //# sourceMappingURL=GroupModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupModel.js","names":["Model","Schema","TeamId","GroupId","String","pipe","brand","Group","Class","id","Generated","team_id","parent_id","NullOr","name","emoji","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/GroupModel.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,OAAO,gBAAGF,MAAM,CAACG,MAAM,CAACC,IAAI,cAACJ,MAAM,CAACK,KAAK,CAAC,SAAS,CAAC,CAAC;AAGlE,OAAM,MAAOC,KAAM,sBAAQP,KAAK,CAACQ,KAAK,CAAQ,OAAO,CAAC,CAAC;EACrDC,EAAE,eAAET,KAAK,CAACU,SAAS,CAACP,OAAO,CAAC;EAC5BQ,OAAO,EAAET,MAAM;EACfU,SAAS,eAAEX,MAAM,CAACY,MAAM,CAACV,OAAO,CAAC;EACjCW,IAAI,EAAEb,MAAM,CAACG,MAAM;EACnBW,KAAK,eAAEd,MAAM,CAACY,MAAM,CAACZ,MAAM,CAACG,MAAM,CAAC;EACnCY,UAAU,EAAEhB,KAAK,CAACiB;CACnB,CAAC","ignoreList":[]}
@@ -3,7 +3,7 @@ import { Schema } from 'effect';
3
3
  import { TeamId } from '../models/Team.js';
4
4
  import { UserId } from '../models/User.js';
5
5
  export const NotificationId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('NotificationId'));
6
- export const NotificationType = /*#__PURE__*/Schema.Literal('age_role_assigned', 'age_role_removed', 'role_assigned', 'role_removed');
6
+ export const NotificationType = /*#__PURE__*/Schema.Literal('age_group_added', 'age_group_removed', 'role_assigned', 'role_removed');
7
7
  export class Notification extends /*#__PURE__*/Model.Class('Notification')({
8
8
  id: /*#__PURE__*/Model.Generated(NotificationId),
9
9
  team_id: TeamId,
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.js","names":["Model","Schema","TeamId","UserId","NotificationId","String","pipe","brand","NotificationType","Literal","Notification","Class","id","Generated","team_id","user_id","type","title","body","is_read","Boolean","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/Notification.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,cAAc,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAGhF,OAAO,MAAMC,gBAAgB,gBAAGP,MAAM,CAACQ,OAAO,CAC5C,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,cAAc,CACf;AAGD,OAAM,MAAOC,YAAa,sBAAQV,KAAK,CAACW,KAAK,CAAe,cAAc,CAAC,CAAC;EAC1EC,EAAE,eAAEZ,KAAK,CAACa,SAAS,CAACT,cAAc,CAAC;EACnCU,OAAO,EAAEZ,MAAM;EACfa,OAAO,EAAEZ,MAAM;EACfa,IAAI,EAAER,gBAAgB;EACtBS,KAAK,EAAEhB,MAAM,CAACI,MAAM;EACpBa,IAAI,EAAEjB,MAAM,CAACI,MAAM;EACnBc,OAAO,EAAElB,MAAM,CAACmB,OAAO;EACvBC,UAAU,EAAErB,KAAK,CAACsB;CACnB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Notification.js","names":["Model","Schema","TeamId","UserId","NotificationId","String","pipe","brand","NotificationType","Literal","Notification","Class","id","Generated","team_id","user_id","type","title","body","is_read","Boolean","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/Notification.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,cAAc,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAGhF,OAAO,MAAMC,gBAAgB,gBAAGP,MAAM,CAACQ,OAAO,CAC5C,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,cAAc,CACf;AAGD,OAAM,MAAOC,YAAa,sBAAQV,KAAK,CAACW,KAAK,CAAe,cAAc,CAAC,CAAC;EAC1EC,EAAE,eAAEZ,KAAK,CAACa,SAAS,CAACT,cAAc,CAAC;EACnCU,OAAO,EAAEZ,MAAM;EACfa,OAAO,EAAEZ,MAAM;EACfa,IAAI,EAAER,gBAAgB;EACtBS,KAAK,EAAEhB,MAAM,CAACI,MAAM;EACpBa,IAAI,EAAEjB,MAAM,CAACI,MAAM;EACnBc,OAAO,EAAElB,MAAM,CAACmB,OAAO;EACvBC,UAAU,EAAErB,KAAK,CAACsB;CACnB,CAAC","ignoreList":[]}
@@ -2,10 +2,10 @@ import { Model } from '@effect/sql';
2
2
  import { Schema } from 'effect';
3
3
  import { TeamId } from '../models/Team.js';
4
4
  export const RoleId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('RoleId'));
5
- export const Permission = /*#__PURE__*/Schema.Literal('team:manage', 'team:invite', 'roster:view', 'roster:manage', 'member:view', 'member:edit', 'member:remove', 'role:view', 'role:manage');
5
+ export const Permission = /*#__PURE__*/Schema.Literal('team:manage', 'team:invite', 'roster:view', 'roster:manage', 'member:view', 'member:edit', 'member:remove', 'role:view', 'role:manage', 'training-type:create', 'training-type:delete');
6
6
  export const allPermissions = Permission.literals;
7
7
  export const defaultPermissions = {
8
- Admin: ['team:manage', 'team:invite', 'roster:view', 'roster:manage', 'member:view', 'member:edit', 'member:remove', 'role:view', 'role:manage'],
8
+ Admin: ['team:manage', 'team:invite', 'roster:view', 'roster:manage', 'member:view', 'member:edit', 'member:remove', 'role:view', 'role:manage', 'training-type:create', 'training-type:delete'],
9
9
  Captain: ['roster:view', 'roster:manage', 'member:view', 'member:edit', 'role:view'],
10
10
  Player: ['roster:view', 'member:view']
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Role.js","names":["Model","Schema","TeamId","RoleId","String","pipe","brand","Permission","Literal","allPermissions","literals","defaultPermissions","Admin","Captain","Player","builtInRoleNames","Role","Class","id","Generated","team_id","name","is_built_in","Boolean","created_at","DateTimeInsertFromDate","RolePermission","role_id","permission"],"sources":["../../../src/models/Role.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,MAAM,gBAAGF,MAAM,CAACG,MAAM,CAACC,IAAI,cAACJ,MAAM,CAACK,KAAK,CAAC,QAAQ,CAAC,CAAC;AAGhE,OAAO,MAAMC,UAAU,gBAAGN,MAAM,CAACO,OAAO,CACtC,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,CACd;AAGD,OAAO,MAAMC,cAAc,GACzBF,UAAU,CAACG,QAAqC;AAElD,OAAO,MAAMC,kBAAkB,GAA8C;EAC3EC,KAAK,EAAE,CACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,CACd;EACDC,OAAO,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC;EACpFC,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa;CACtC;AAED,OAAO,MAAMC,gBAAgB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAU;AAEvE,OAAM,MAAOC,IAAK,sBAAQhB,KAAK,CAACiB,KAAK,CAAO,MAAM,CAAC,CAAC;EAClDC,EAAE,eAAElB,KAAK,CAACmB,SAAS,CAAChB,MAAM,CAAC;EAC3BiB,OAAO,EAAElB,MAAM;EACfmB,IAAI,EAAEpB,MAAM,CAACG,MAAM;EACnBkB,WAAW,EAAErB,MAAM,CAACsB,OAAO;EAC3BC,UAAU,EAAExB,KAAK,CAACyB;CACnB,CAAC;AAEF,OAAM,MAAOC,cAAe,sBAAQzB,MAAM,CAACgB,KAAK,CAAiB,gBAAgB,CAAC,CAAC;EACjFU,OAAO,EAAExB,MAAM;EACfyB,UAAU,EAAErB;CACb,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Role.js","names":["Model","Schema","TeamId","RoleId","String","pipe","brand","Permission","Literal","allPermissions","literals","defaultPermissions","Admin","Captain","Player","builtInRoleNames","Role","Class","id","Generated","team_id","name","is_built_in","Boolean","created_at","DateTimeInsertFromDate","RolePermission","role_id","permission"],"sources":["../../../src/models/Role.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,MAAM,gBAAGF,MAAM,CAACG,MAAM,CAACC,IAAI,cAACJ,MAAM,CAACK,KAAK,CAAC,QAAQ,CAAC,CAAC;AAGhE,OAAO,MAAMC,UAAU,gBAAGN,MAAM,CAACO,OAAO,CACtC,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,CACvB;AAGD,OAAO,MAAMC,cAAc,GACzBF,UAAU,CAACG,QAAqC;AAElD,OAAO,MAAMC,kBAAkB,GAA8C;EAC3EC,KAAK,EAAE,CACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,CACvB;EACDC,OAAO,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC;EACpFC,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa;CACtC;AAED,OAAO,MAAMC,gBAAgB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAU;AAEvE,OAAM,MAAOC,IAAK,sBAAQhB,KAAK,CAACiB,KAAK,CAAO,MAAM,CAAC,CAAC;EAClDC,EAAE,eAAElB,KAAK,CAACmB,SAAS,CAAChB,MAAM,CAAC;EAC3BiB,OAAO,EAAElB,MAAM;EACfmB,IAAI,EAAEpB,MAAM,CAACG,MAAM;EACnBkB,WAAW,EAAErB,MAAM,CAACsB,OAAO;EAC3BC,UAAU,EAAExB,KAAK,CAACyB;CACnB,CAAC;AAEF,OAAM,MAAOC,cAAe,sBAAQzB,MAAM,CAACgB,KAAK,CAAiB,gBAAgB,CAAC,CAAC;EACjFU,OAAO,EAAExB,MAAM;EACfyB,UAAU,EAAErB;CACb,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { Schema } from 'effect';
2
+ import { GroupId } from '../models/GroupModel.js';
3
+ import { RoleId } from '../models/Role.js';
4
+ export class RoleGroup extends /*#__PURE__*/Schema.Class('RoleGroup')({
5
+ role_id: RoleId,
6
+ group_id: GroupId
7
+ }) {}
8
+ //# sourceMappingURL=RoleGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleGroup.js","names":["Schema","GroupId","RoleId","RoleGroup","Class","role_id","group_id"],"sources":["../../../src/models/RoleGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAM,MAAOC,SAAU,sBAAQH,MAAM,CAACI,KAAK,CAAY,WAAW,CAAC,CAAC;EAClEC,OAAO,EAAEH,MAAM;EACfI,QAAQ,EAAEL;CACX,CAAC","ignoreList":[]}
@@ -1,10 +1,12 @@
1
1
  import { Model } from '@effect/sql';
2
2
  import { Schema } from 'effect';
3
+ import { Snowflake } from '../models/Discord.js';
3
4
  import { UserId } from '../models/User.js';
4
5
  export const TeamId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('TeamId'));
5
6
  export class Team extends /*#__PURE__*/Model.Class('Team')({
6
7
  id: /*#__PURE__*/Model.Generated(TeamId),
7
8
  name: Schema.String,
9
+ guild_id: Snowflake,
8
10
  created_by: UserId,
9
11
  created_at: Model.DateTimeInsertFromDate,
10
12
  updated_at: Model.DateTimeUpdateFromDate
@@ -1 +1 @@
1
- {"version":3,"file":"Team.js","names":["Model","Schema","UserId","TeamId","String","pipe","brand","Team","Class","id","Generated","name","created_by","created_at","DateTimeInsertFromDate","updated_at","DateTimeUpdateFromDate"],"sources":["../../../src/models/Team.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,MAAM,gBAAGF,MAAM,CAACG,MAAM,CAACC,IAAI,cAACJ,MAAM,CAACK,KAAK,CAAC,QAAQ,CAAC,CAAC;AAGhE,OAAM,MAAOC,IAAK,sBAAQP,KAAK,CAACQ,KAAK,CAAO,MAAM,CAAC,CAAC;EAClDC,EAAE,eAAET,KAAK,CAACU,SAAS,CAACP,MAAM,CAAC;EAC3BQ,IAAI,EAAEV,MAAM,CAACG,MAAM;EACnBQ,UAAU,EAAEV,MAAM;EAClBW,UAAU,EAAEb,KAAK,CAACc,sBAAsB;EACxCC,UAAU,EAAEf,KAAK,CAACgB;CACnB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Team.js","names":["Model","Schema","Snowflake","UserId","TeamId","String","pipe","brand","Team","Class","id","Generated","name","guild_id","created_by","created_at","DateTimeInsertFromDate","updated_at","DateTimeUpdateFromDate"],"sources":["../../../src/models/Team.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,SAAS,QAAQ,sBAAsB;AAChD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,MAAM,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,QAAQ,CAAC,CAAC;AAGhE,OAAM,MAAOC,IAAK,sBAAQR,KAAK,CAACS,KAAK,CAAO,MAAM,CAAC,CAAC;EAClDC,EAAE,eAAEV,KAAK,CAACW,SAAS,CAACP,MAAM,CAAC;EAC3BQ,IAAI,EAAEX,MAAM,CAACI,MAAM;EACnBQ,QAAQ,EAAEX,SAAS;EACnBY,UAAU,EAAEX,MAAM;EAClBY,UAAU,EAAEf,KAAK,CAACgB,sBAAsB;EACxCC,UAAU,EAAEjB,KAAK,CAACkB;CACnB,CAAC","ignoreList":[]}
@@ -8,6 +8,7 @@ export class TeamMember extends /*#__PURE__*/Model.Class('TeamMember')({
8
8
  team_id: TeamId,
9
9
  user_id: UserId,
10
10
  active: Schema.Boolean,
11
+ jersey_number: /*#__PURE__*/Model.FieldExcept('insert')(/*#__PURE__*/Schema.NullOr(Schema.Number)),
11
12
  joined_at: Model.DateTimeInsertFromDate
12
13
  }) {}
13
14
  //# sourceMappingURL=TeamMember.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TeamMember.js","names":["Model","Schema","TeamId","UserId","TeamMemberId","String","pipe","brand","TeamMember","Class","id","Generated","team_id","user_id","active","Boolean","joined_at","DateTimeInsertFromDate"],"sources":["../../../src/models/TeamMember.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,YAAY,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,cAAc,CAAC,CAAC;AAG5E,OAAM,MAAOC,UAAW,sBAAQR,KAAK,CAACS,KAAK,CAAa,YAAY,CAAC,CAAC;EACpEC,EAAE,eAAEV,KAAK,CAACW,SAAS,CAACP,YAAY,CAAC;EACjCQ,OAAO,EAAEV,MAAM;EACfW,OAAO,EAAEV,MAAM;EACfW,MAAM,EAAEb,MAAM,CAACc,OAAO;EACtBC,SAAS,EAAEhB,KAAK,CAACiB;CAClB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"TeamMember.js","names":["Model","Schema","TeamId","UserId","TeamMemberId","String","pipe","brand","TeamMember","Class","id","Generated","team_id","user_id","active","Boolean","jersey_number","FieldExcept","NullOr","Number","joined_at","DateTimeInsertFromDate"],"sources":["../../../src/models/TeamMember.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,YAAY,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,cAAc,CAAC,CAAC;AAG5E,OAAM,MAAOC,UAAW,sBAAQR,KAAK,CAACS,KAAK,CAAa,YAAY,CAAC,CAAC;EACpEC,EAAE,eAAEV,KAAK,CAACW,SAAS,CAACP,YAAY,CAAC;EACjCQ,OAAO,EAAEV,MAAM;EACfW,OAAO,EAAEV,MAAM;EACfW,MAAM,EAAEb,MAAM,CAACc,OAAO;EACtBC,aAAa,eAAEhB,KAAK,CAACiB,WAAW,CAAC,QAAQ,CAAC,cAAChB,MAAM,CAACiB,MAAM,CAACjB,MAAM,CAACkB,MAAM,CAAC,CAAC;EACxEC,SAAS,EAAEpB,KAAK,CAACqB;CAClB,CAAC","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { Model } from '@effect/sql';
2
+ import { Schema } from 'effect';
3
+ import { GroupId } from '../models/GroupModel.js';
4
+ import { TeamId } from '../models/Team.js';
5
+ export const TrainingTypeId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('TrainingTypeId'));
6
+ export class TrainingType extends /*#__PURE__*/Model.Class('TrainingType')({
7
+ id: /*#__PURE__*/Model.Generated(TrainingTypeId),
8
+ team_id: TeamId,
9
+ name: Schema.String,
10
+ group_id: /*#__PURE__*/Schema.NullOr(GroupId),
11
+ created_at: Model.DateTimeInsertFromDate
12
+ }) {}
13
+ //# sourceMappingURL=TrainingType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrainingType.js","names":["Model","Schema","GroupId","TeamId","TrainingTypeId","String","pipe","brand","TrainingType","Class","id","Generated","team_id","name","group_id","NullOr","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/TrainingType.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,cAAc,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAGhF,OAAM,MAAOC,YAAa,sBAAQR,KAAK,CAACS,KAAK,CAAe,cAAc,CAAC,CAAC;EAC1EC,EAAE,eAAEV,KAAK,CAACW,SAAS,CAACP,cAAc,CAAC;EACnCQ,OAAO,EAAET,MAAM;EACfU,IAAI,EAAEZ,MAAM,CAACI,MAAM;EACnBS,QAAQ,eAAEb,MAAM,CAACc,MAAM,CAACb,OAAO,CAAC;EAChCc,UAAU,EAAEhB,KAAK,CAACiB;CACnB,CAAC","ignoreList":[]}
@@ -2,8 +2,6 @@ import { Model } from '@effect/sql';
2
2
  import { Schema } from 'effect';
3
3
  export const UserId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('UserId'));
4
4
  export const Gender = /*#__PURE__*/Schema.Literal('male', 'female', 'other');
5
- export const Position = /*#__PURE__*/Schema.Literal('goalkeeper', 'defender', 'midfielder', 'forward');
6
- export const Proficiency = /*#__PURE__*/Schema.Literal('beginner', 'intermediate', 'advanced', 'pro');
7
5
  export const Locale = /*#__PURE__*/Schema.Literal('en', 'cs');
8
6
  export class User extends /*#__PURE__*/Model.Class('User')({
9
7
  id: /*#__PURE__*/Model.Generated(UserId),
@@ -15,9 +13,6 @@ export class User extends /*#__PURE__*/Model.Class('User')({
15
13
  name: /*#__PURE__*/Schema.NullOr(Schema.String),
16
14
  birth_year: /*#__PURE__*/Schema.NullOr(Schema.Number),
17
15
  gender: /*#__PURE__*/Schema.NullOr(Gender),
18
- jersey_number: /*#__PURE__*/Schema.NullOr(Schema.Number),
19
- position: /*#__PURE__*/Schema.NullOr(Position),
20
- proficiency: /*#__PURE__*/Schema.NullOr(Proficiency),
21
16
  locale: Locale,
22
17
  created_at: Model.DateTimeInsertFromDate,
23
18
  is_profile_complete: Schema.Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","names":["Model","Schema","UserId","String","pipe","brand","Gender","Literal","Position","Proficiency","Locale","User","Class","id","Generated","discord_id","discord_username","discord_avatar","NullOr","discord_access_token","Sensitive","discord_refresh_token","name","birth_year","Number","gender","jersey_number","position","proficiency","locale","created_at","DateTimeInsertFromDate","is_profile_complete","Boolean","updated_at","DateTimeUpdateFromDate"],"sources":["../../../src/models/User.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,MAAM,gBAAGD,MAAM,CAACE,MAAM,CAACC,IAAI,cAACH,MAAM,CAACI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAGhE,OAAO,MAAMC,MAAM,gBAAGL,MAAM,CAACM,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AAG/D,OAAO,MAAMC,QAAQ,gBAAGP,MAAM,CAACM,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;AAGzF,OAAO,MAAME,WAAW,gBAAGR,MAAM,CAACM,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC;AAGxF,OAAO,MAAMG,MAAM,gBAAGT,MAAM,CAACM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAGhD,OAAM,MAAOI,IAAK,sBAAQX,KAAK,CAACY,KAAK,CAAO,MAAM,CAAC,CAAC;EAClDC,EAAE,eAAEb,KAAK,CAACc,SAAS,CAACZ,MAAM,CAAC;EAC3Ba,UAAU,EAAEd,MAAM,CAACE,MAAM;EACzBa,gBAAgB,EAAEf,MAAM,CAACE,MAAM;EAC/Bc,cAAc,eAAEhB,MAAM,CAACiB,MAAM,CAACjB,MAAM,CAACE,MAAM,CAAC;EAC5CgB,oBAAoB,eAAEnB,KAAK,CAACoB,SAAS,CAACnB,MAAM,CAACE,MAAM,CAAC;EACpDkB,qBAAqB,eAAErB,KAAK,CAACoB,SAAS,cAACnB,MAAM,CAACiB,MAAM,CAACjB,MAAM,CAACE,MAAM,CAAC,CAAC;EACpEmB,IAAI,eAAErB,MAAM,CAACiB,MAAM,CAACjB,MAAM,CAACE,MAAM,CAAC;EAClCoB,UAAU,eAAEtB,MAAM,CAACiB,MAAM,CAACjB,MAAM,CAACuB,MAAM,CAAC;EACxCC,MAAM,eAAExB,MAAM,CAACiB,MAAM,CAACZ,MAAM,CAAC;EAC7BoB,aAAa,eAAEzB,MAAM,CAACiB,MAAM,CAACjB,MAAM,CAACuB,MAAM,CAAC;EAC3CG,QAAQ,eAAE1B,MAAM,CAACiB,MAAM,CAACV,QAAQ,CAAC;EACjCoB,WAAW,eAAE3B,MAAM,CAACiB,MAAM,CAACT,WAAW,CAAC;EACvCoB,MAAM,EAAEnB,MAAM;EACdoB,UAAU,EAAE9B,KAAK,CAAC+B,sBAAsB;EACxCC,mBAAmB,EAAE/B,MAAM,CAACgC,OAAO;EACnCC,UAAU,EAAElC,KAAK,CAACmC;CACnB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"User.js","names":["Model","Schema","UserId","String","pipe","brand","Gender","Literal","Locale","User","Class","id","Generated","discord_id","discord_username","discord_avatar","NullOr","discord_access_token","Sensitive","discord_refresh_token","name","birth_year","Number","gender","locale","created_at","DateTimeInsertFromDate","is_profile_complete","Boolean","updated_at","DateTimeUpdateFromDate"],"sources":["../../../src/models/User.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,MAAM,gBAAGD,MAAM,CAACE,MAAM,CAACC,IAAI,cAACH,MAAM,CAACI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAGhE,OAAO,MAAMC,MAAM,gBAAGL,MAAM,CAACM,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AAG/D,OAAO,MAAMC,MAAM,gBAAGP,MAAM,CAACM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAGhD,OAAM,MAAOE,IAAK,sBAAQT,KAAK,CAACU,KAAK,CAAO,MAAM,CAAC,CAAC;EAClDC,EAAE,eAAEX,KAAK,CAACY,SAAS,CAACV,MAAM,CAAC;EAC3BW,UAAU,EAAEZ,MAAM,CAACE,MAAM;EACzBW,gBAAgB,EAAEb,MAAM,CAACE,MAAM;EAC/BY,cAAc,eAAEd,MAAM,CAACe,MAAM,CAACf,MAAM,CAACE,MAAM,CAAC;EAC5Cc,oBAAoB,eAAEjB,KAAK,CAACkB,SAAS,CAACjB,MAAM,CAACE,MAAM,CAAC;EACpDgB,qBAAqB,eAAEnB,KAAK,CAACkB,SAAS,cAACjB,MAAM,CAACe,MAAM,CAACf,MAAM,CAACE,MAAM,CAAC,CAAC;EACpEiB,IAAI,eAAEnB,MAAM,CAACe,MAAM,CAACf,MAAM,CAACE,MAAM,CAAC;EAClCkB,UAAU,eAAEpB,MAAM,CAACe,MAAM,CAACf,MAAM,CAACqB,MAAM,CAAC;EACxCC,MAAM,eAAEtB,MAAM,CAACe,MAAM,CAACV,MAAM,CAAC;EAC7BkB,MAAM,EAAEhB,MAAM;EACdiB,UAAU,EAAEzB,KAAK,CAAC0B,sBAAsB;EACxCC,mBAAmB,EAAE1B,MAAM,CAAC2B,OAAO;EACnCC,UAAU,EAAE7B,KAAK,CAAC8B;CACnB,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { RpcGroup } from '@effect/rpc';
2
+ import { ChannelRpcGroup } from './channel/ChannelRpcGroup.js';
3
+ import { GuildRpcGroup } from './guild/GuildRpcGroup.js';
4
+ import { RoleRpcGroup } from './role/RoleRpcGroup.js';
5
+ export class SyncRpcs extends /*#__PURE__*/RpcGroup.make().merge(RoleRpcGroup, ChannelRpcGroup, GuildRpcGroup) {}
6
+ //# sourceMappingURL=SyncRpcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncRpcs.js","names":["RpcGroup","ChannelRpcGroup","GuildRpcGroup","RoleRpcGroup","SyncRpcs","make","merge"],"sources":["../../../src/rpc/SyncRpcs.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAa;AACtC,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,YAAY,QAAQ,wBAAwB;AAErD,OAAM,MAAOC,QAAS,sBAAQJ,QAAQ,CAACK,IAAI,EAAE,CAACC,KAAK,CAACH,YAAY,EAAEF,eAAe,EAAEC,aAAa,CAAC","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import { Schema } from 'effect';
2
+ import { ChannelSyncEvent, Discord, GroupModel, Team, TeamMember } from '../../index.js';
3
+ export class ChannelCreatedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_created', {
4
+ id: ChannelSyncEvent.ChannelSyncEventId,
5
+ team_id: Team.TeamId,
6
+ guild_id: Discord.Snowflake,
7
+ group_id: GroupModel.GroupId,
8
+ group_name: Schema.String
9
+ }) {}
10
+ export class ChannelDeletedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_deleted', {
11
+ id: ChannelSyncEvent.ChannelSyncEventId,
12
+ team_id: Team.TeamId,
13
+ guild_id: Discord.Snowflake,
14
+ group_id: GroupModel.GroupId
15
+ }) {}
16
+ export class ChannelMemberAddedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_member_added', {
17
+ id: ChannelSyncEvent.ChannelSyncEventId,
18
+ team_id: Team.TeamId,
19
+ guild_id: Discord.Snowflake,
20
+ group_id: GroupModel.GroupId,
21
+ group_name: Schema.String,
22
+ team_member_id: TeamMember.TeamMemberId,
23
+ discord_user_id: Discord.Snowflake
24
+ }) {}
25
+ export class ChannelMemberRemovedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_member_removed', {
26
+ id: ChannelSyncEvent.ChannelSyncEventId,
27
+ team_id: Team.TeamId,
28
+ guild_id: Discord.Snowflake,
29
+ group_id: GroupModel.GroupId,
30
+ team_member_id: TeamMember.TeamMemberId,
31
+ discord_user_id: Discord.Snowflake
32
+ }) {}
33
+ export const UnprocessedChannelEvent = /*#__PURE__*/Schema.Union(ChannelCreatedEvent, ChannelDeletedEvent, ChannelMemberAddedEvent, ChannelMemberRemovedEvent);
34
+ //# sourceMappingURL=ChannelRpcEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelRpcEvents.js","names":["Schema","ChannelSyncEvent","Discord","GroupModel","Team","TeamMember","ChannelCreatedEvent","TaggedClass","id","ChannelSyncEventId","team_id","TeamId","guild_id","Snowflake","group_id","GroupId","group_name","String","ChannelDeletedEvent","ChannelMemberAddedEvent","team_member_id","TeamMemberId","discord_user_id","ChannelMemberRemovedEvent","UnprocessedChannelEvent","Union"],"sources":["../../../../src/rpc/channel/ChannelRpcEvents.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,OAAO,EAAEC,UAAU,EAAEC,IAAI,EAAEC,UAAU,QAAQ,gBAAa;AAErF,OAAM,MAAOC,mBAAoB,sBAAQN,MAAM,CAACO,WAAW,EAAuB,CAChF,iBAAiB,EACjB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,QAAQ,EAAEX,UAAU,CAACY,OAAO;EAC5BC,UAAU,EAAEhB,MAAM,CAACiB;CACpB,CACF;AAED,OAAM,MAAOC,mBAAoB,sBAAQlB,MAAM,CAACO,WAAW,EAAuB,CAChF,iBAAiB,EACjB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,QAAQ,EAAEX,UAAU,CAACY;CACtB,CACF;AAED,OAAM,MAAOI,uBAAwB,sBAAQnB,MAAM,CAACO,WAAW,EAA2B,CACxF,sBAAsB,EACtB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,QAAQ,EAAEX,UAAU,CAACY,OAAO;EAC5BC,UAAU,EAAEhB,MAAM,CAACiB,MAAM;EACzBG,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAEpB,OAAO,CAACW;CAC1B,CACF;AAED,OAAM,MAAOU,yBAA0B,sBAAQvB,MAAM,CAACO,WAAW,EAA6B,CAC5F,wBAAwB,EACxB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,QAAQ,EAAEX,UAAU,CAACY,OAAO;EAC5BK,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAEpB,OAAO,CAACW;CAC1B,CACF;AAED,OAAO,MAAMW,uBAAuB,gBAAGxB,MAAM,CAACyB,KAAK,CACjDnB,mBAAmB,EACnBY,mBAAmB,EACnBC,uBAAuB,EACvBI,yBAAyB,CAC1B","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ import { Rpc, RpcGroup } from '@effect/rpc';
2
+ import { Schema } from 'effect';
3
+ import { ChannelSyncEvent, Discord, GroupModel, Team } from '../../index.js';
4
+ import { UnprocessedChannelEvent } from './ChannelRpcEvents.js';
5
+ import { ChannelMapping } from './ChannelRpcModels.js';
6
+ export const ChannelRpcGroup = /*#__PURE__*/RpcGroup.make(Rpc.make('GetUnprocessedEvents', {
7
+ payload: {
8
+ limit: Schema.Number
9
+ },
10
+ success: Schema.Array(UnprocessedChannelEvent)
11
+ }), Rpc.make('MarkEventProcessed', {
12
+ payload: {
13
+ id: ChannelSyncEvent.ChannelSyncEventId
14
+ }
15
+ }), Rpc.make('MarkEventFailed', {
16
+ payload: {
17
+ id: ChannelSyncEvent.ChannelSyncEventId,
18
+ error: Schema.String
19
+ }
20
+ }), Rpc.make('GetMapping', {
21
+ payload: {
22
+ team_id: Team.TeamId,
23
+ group_id: GroupModel.GroupId
24
+ },
25
+ success: Schema.OptionFromNullOr(ChannelMapping)
26
+ }), Rpc.make('UpsertMapping', {
27
+ payload: {
28
+ team_id: Team.TeamId,
29
+ group_id: GroupModel.GroupId,
30
+ discord_channel_id: Discord.Snowflake,
31
+ discord_role_id: Discord.Snowflake
32
+ }
33
+ }), Rpc.make('DeleteMapping', {
34
+ payload: {
35
+ team_id: Team.TeamId,
36
+ group_id: GroupModel.GroupId
37
+ }
38
+ })).prefix('Channel/');
39
+ //# sourceMappingURL=ChannelRpcGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelRpcGroup.js","names":["Rpc","RpcGroup","Schema","ChannelSyncEvent","Discord","GroupModel","Team","UnprocessedChannelEvent","ChannelMapping","ChannelRpcGroup","make","payload","limit","Number","success","Array","id","ChannelSyncEventId","error","String","team_id","TeamId","group_id","GroupId","OptionFromNullOr","discord_channel_id","Snowflake","discord_role_id","prefix"],"sources":["../../../../src/rpc/channel/ChannelRpcGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,aAAa;AAC3C,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,OAAO,EAAEC,UAAU,EAAEC,IAAI,QAAQ,gBAAa;AACzE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAO,MAAMC,eAAe,gBAAGR,QAAQ,CAACS,IAAI,CAC1CV,GAAG,CAACU,IAAI,CAAC,sBAAsB,EAAE;EAC/BC,OAAO,EAAE;IAAEC,KAAK,EAAEV,MAAM,CAACW;EAAM,CAAE;EACjCC,OAAO,EAAEZ,MAAM,CAACa,KAAK,CAACR,uBAAuB;CAC9C,CAAC,EACFP,GAAG,CAACU,IAAI,CAAC,oBAAoB,EAAE;EAC7BC,OAAO,EAAE;IAAEK,EAAE,EAAEb,gBAAgB,CAACc;EAAkB;CACnD,CAAC,EACFjB,GAAG,CAACU,IAAI,CAAC,iBAAiB,EAAE;EAC1BC,OAAO,EAAE;IAAEK,EAAE,EAAEb,gBAAgB,CAACc,kBAAkB;IAAEC,KAAK,EAAEhB,MAAM,CAACiB;EAAM;CACzE,CAAC,EACFnB,GAAG,CAACU,IAAI,CAAC,YAAY,EAAE;EACrBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,QAAQ,EAAEjB,UAAU,CAACkB;EAAO,CAAE;EAC/DT,OAAO,EAAEZ,MAAM,CAACsB,gBAAgB,CAAChB,cAAc;CAChD,CAAC,EACFR,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IACPS,OAAO,EAAEd,IAAI,CAACe,MAAM;IACpBC,QAAQ,EAAEjB,UAAU,CAACkB,OAAO;IAC5BE,kBAAkB,EAAErB,OAAO,CAACsB,SAAS;IACrCC,eAAe,EAAEvB,OAAO,CAACsB;;CAE5B,CAAC,EACF1B,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,QAAQ,EAAEjB,UAAU,CAACkB;EAAO;CAC9D,CAAC,CACH,CAACK,MAAM,CAAC,UAAU,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { Schema } from 'effect';
2
+ import { Discord, DiscordChannelMapping, GroupModel, Team } from '../../index.js';
3
+ export class ChannelMapping extends /*#__PURE__*/Schema.Class('ChannelMapping')({
4
+ id: DiscordChannelMapping.DiscordChannelMappingId,
5
+ team_id: Team.TeamId,
6
+ group_id: GroupModel.GroupId,
7
+ discord_channel_id: Discord.Snowflake,
8
+ discord_role_id: /*#__PURE__*/Schema.OptionFromNullOr(Discord.Snowflake)
9
+ }) {}
10
+ //# sourceMappingURL=ChannelRpcModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelRpcModels.js","names":["Schema","Discord","DiscordChannelMapping","GroupModel","Team","ChannelMapping","Class","id","DiscordChannelMappingId","team_id","TeamId","group_id","GroupId","discord_channel_id","Snowflake","discord_role_id","OptionFromNullOr"],"sources":["../../../../src/rpc/channel/ChannelRpcModels.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,qBAAqB,EAAEC,UAAU,EAAEC,IAAI,QAAQ,gBAAa;AAE9E,OAAM,MAAOC,cAAe,sBAAQL,MAAM,CAACM,KAAK,CAAiB,gBAAgB,CAAC,CAAC;EACjFC,EAAE,EAAEL,qBAAqB,CAACM,uBAAuB;EACjDC,OAAO,EAAEL,IAAI,CAACM,MAAM;EACpBC,QAAQ,EAAER,UAAU,CAACS,OAAO;EAC5BC,kBAAkB,EAAEZ,OAAO,CAACa,SAAS;EACrCC,eAAe,eAAEf,MAAM,CAACgB,gBAAgB,CAACf,OAAO,CAACa,SAAS;CAC3D,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import { Rpc, RpcGroup } from '@effect/rpc';
2
+ import { Schema } from 'effect';
3
+ import { Discord } from '../../index.js';
4
+ export const GuildRpcGroup = /*#__PURE__*/RpcGroup.make(Rpc.make('RegisterGuild', {
5
+ payload: {
6
+ guild_id: Discord.Snowflake,
7
+ guild_name: Schema.String
8
+ }
9
+ }), Rpc.make('UnregisterGuild', {
10
+ payload: {
11
+ guild_id: Discord.Snowflake
12
+ }
13
+ }), Rpc.make('IsGuildRegistered', {
14
+ payload: {
15
+ guild_id: Discord.Snowflake
16
+ },
17
+ success: Schema.Boolean
18
+ }), Rpc.make('SyncGuildChannels', {
19
+ payload: {
20
+ guild_id: Discord.Snowflake,
21
+ channels: Schema.Array(Schema.Struct({
22
+ channel_id: Discord.Snowflake,
23
+ name: Schema.String,
24
+ type: Schema.Number,
25
+ parent_id: Schema.NullOr(Discord.Snowflake)
26
+ }))
27
+ }
28
+ })).prefix('Guild/');
29
+ //# sourceMappingURL=GuildRpcGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GuildRpcGroup.js","names":["Rpc","RpcGroup","Schema","Discord","GuildRpcGroup","make","payload","guild_id","Snowflake","guild_name","String","success","Boolean","channels","Array","Struct","channel_id","name","type","Number","parent_id","NullOr","prefix"],"sources":["../../../../src/rpc/guild/GuildRpcGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,aAAa;AAC3C,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,QAAQ,gBAAa;AAErC,OAAO,MAAMC,aAAa,gBAAGH,QAAQ,CAACI,IAAI,CACxCL,GAAG,CAACK,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IAAEC,QAAQ,EAAEJ,OAAO,CAACK,SAAS;IAAEC,UAAU,EAAEP,MAAM,CAACQ;EAAM;CAClE,CAAC,EACFV,GAAG,CAACK,IAAI,CAAC,iBAAiB,EAAE;EAC1BC,OAAO,EAAE;IAAEC,QAAQ,EAAEJ,OAAO,CAACK;EAAS;CACvC,CAAC,EACFR,GAAG,CAACK,IAAI,CAAC,mBAAmB,EAAE;EAC5BC,OAAO,EAAE;IAAEC,QAAQ,EAAEJ,OAAO,CAACK;EAAS,CAAE;EACxCG,OAAO,EAAET,MAAM,CAACU;CACjB,CAAC,EACFZ,GAAG,CAACK,IAAI,CAAC,mBAAmB,EAAE;EAC5BC,OAAO,EAAE;IACPC,QAAQ,EAAEJ,OAAO,CAACK,SAAS;IAC3BK,QAAQ,EAAEX,MAAM,CAACY,KAAK,CACpBZ,MAAM,CAACa,MAAM,CAAC;MACZC,UAAU,EAAEb,OAAO,CAACK,SAAS;MAC7BS,IAAI,EAAEf,MAAM,CAACQ,MAAM;MACnBQ,IAAI,EAAEhB,MAAM,CAACiB,MAAM;MACnBC,SAAS,EAAElB,MAAM,CAACmB,MAAM,CAAClB,OAAO,CAACK,SAAS;KAC3C,CAAC;;CAGP,CAAC,CACH,CAACc,MAAM,CAAC,QAAQ,CAAC","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import { Schema } from 'effect';
2
+ import { Discord, Role, RoleSyncEvent, Team, TeamMember } from '../../index.js';
3
+ export class RoleCreatedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_created', {
4
+ id: RoleSyncEvent.RoleSyncEventId,
5
+ team_id: Team.TeamId,
6
+ guild_id: Discord.Snowflake,
7
+ role_id: Role.RoleId,
8
+ role_name: Schema.String
9
+ }) {}
10
+ export class RoleDeletedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_deleted', {
11
+ id: RoleSyncEvent.RoleSyncEventId,
12
+ team_id: Team.TeamId,
13
+ guild_id: Discord.Snowflake,
14
+ role_id: Role.RoleId
15
+ }) {}
16
+ export class RoleAssignedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_assigned', {
17
+ id: RoleSyncEvent.RoleSyncEventId,
18
+ team_id: Team.TeamId,
19
+ guild_id: Discord.Snowflake,
20
+ role_id: Role.RoleId,
21
+ role_name: Schema.String,
22
+ team_member_id: TeamMember.TeamMemberId,
23
+ discord_user_id: Discord.Snowflake
24
+ }) {}
25
+ export class RoleUnassignedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_unassigned', {
26
+ id: RoleSyncEvent.RoleSyncEventId,
27
+ team_id: Team.TeamId,
28
+ guild_id: Discord.Snowflake,
29
+ role_id: Role.RoleId,
30
+ team_member_id: TeamMember.TeamMemberId,
31
+ discord_user_id: Discord.Snowflake
32
+ }) {}
33
+ export const UnprocessedRoleEvent = /*#__PURE__*/Schema.Union(RoleCreatedEvent, RoleDeletedEvent, RoleAssignedEvent, RoleUnassignedEvent);
34
+ //# sourceMappingURL=RoleRpcEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleRpcEvents.js","names":["Schema","Discord","Role","RoleSyncEvent","Team","TeamMember","RoleCreatedEvent","TaggedClass","id","RoleSyncEventId","team_id","TeamId","guild_id","Snowflake","role_id","RoleId","role_name","String","RoleDeletedEvent","RoleAssignedEvent","team_member_id","TeamMemberId","discord_user_id","RoleUnassignedEvent","UnprocessedRoleEvent","Union"],"sources":["../../../../src/rpc/role/RoleRpcEvents.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,IAAI,EAAEC,aAAa,EAAEC,IAAI,EAAEC,UAAU,QAAQ,gBAAa;AAE5E,OAAM,MAAOC,gBAAiB,sBAAQN,MAAM,CAACO,WAAW,EAAoB,CAAC,cAAc,EAAE;EAC3FC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa,MAAM;EACpBC,SAAS,EAAEhB,MAAM,CAACiB;CACnB,CAAC;AAEF,OAAM,MAAOC,gBAAiB,sBAAQlB,MAAM,CAACO,WAAW,EAAoB,CAAC,cAAc,EAAE;EAC3FC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa;CACf,CAAC;AAEF,OAAM,MAAOI,iBAAkB,sBAAQnB,MAAM,CAACO,WAAW,EAAqB,CAAC,eAAe,EAAE;EAC9FC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa,MAAM;EACpBC,SAAS,EAAEhB,MAAM,CAACiB,MAAM;EACxBG,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAErB,OAAO,CAACY;CAC1B,CAAC;AAEF,OAAM,MAAOU,mBAAoB,sBAAQvB,MAAM,CAACO,WAAW,EAAuB,CAChF,iBAAiB,EACjB;EACEC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa,MAAM;EACpBK,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAErB,OAAO,CAACY;CAC1B,CACF;AAED,OAAO,MAAMW,oBAAoB,gBAAGxB,MAAM,CAACyB,KAAK,CAC9CnB,gBAAgB,EAChBY,gBAAgB,EAChBC,iBAAiB,EACjBI,mBAAmB,CACpB","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ import { Rpc, RpcGroup } from '@effect/rpc';
2
+ import { Schema } from 'effect';
3
+ import { Discord, Role, RoleSyncEvent, Team } from '../../index.js';
4
+ import { UnprocessedRoleEvent } from './RoleRpcEvents.js';
5
+ import { RoleMapping } from './RoleRpcModels.js';
6
+ export const RoleRpcGroup = /*#__PURE__*/RpcGroup.make(Rpc.make('GetUnprocessedEvents', {
7
+ payload: {
8
+ limit: Schema.Number
9
+ },
10
+ success: Schema.Array(UnprocessedRoleEvent)
11
+ }), Rpc.make('MarkEventProcessed', {
12
+ payload: {
13
+ id: RoleSyncEvent.RoleSyncEventId
14
+ }
15
+ }), Rpc.make('MarkEventFailed', {
16
+ payload: {
17
+ id: RoleSyncEvent.RoleSyncEventId,
18
+ error: Schema.String
19
+ }
20
+ }), Rpc.make('GetMapping', {
21
+ payload: {
22
+ team_id: Team.TeamId,
23
+ role_id: Role.RoleId
24
+ },
25
+ success: Schema.OptionFromNullOr(RoleMapping)
26
+ }), Rpc.make('UpsertMapping', {
27
+ payload: {
28
+ team_id: Team.TeamId,
29
+ role_id: Role.RoleId,
30
+ discord_role_id: Discord.Snowflake
31
+ }
32
+ }), Rpc.make('DeleteMapping', {
33
+ payload: {
34
+ team_id: Team.TeamId,
35
+ role_id: Role.RoleId
36
+ }
37
+ })).prefix('Role/');
38
+ //# sourceMappingURL=RoleRpcGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleRpcGroup.js","names":["Rpc","RpcGroup","Schema","Discord","Role","RoleSyncEvent","Team","UnprocessedRoleEvent","RoleMapping","RoleRpcGroup","make","payload","limit","Number","success","Array","id","RoleSyncEventId","error","String","team_id","TeamId","role_id","RoleId","OptionFromNullOr","discord_role_id","Snowflake","prefix"],"sources":["../../../../src/rpc/role/RoleRpcGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,aAAa;AAC3C,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,IAAI,EAAEC,aAAa,EAAEC,IAAI,QAAQ,gBAAa;AAChE,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,OAAO,MAAMC,YAAY,gBAAGR,QAAQ,CAACS,IAAI,CACvCV,GAAG,CAACU,IAAI,CAAC,sBAAsB,EAAE;EAC/BC,OAAO,EAAE;IAAEC,KAAK,EAAEV,MAAM,CAACW;EAAM,CAAE;EACjCC,OAAO,EAAEZ,MAAM,CAACa,KAAK,CAACR,oBAAoB;CAC3C,CAAC,EACFP,GAAG,CAACU,IAAI,CAAC,oBAAoB,EAAE;EAC7BC,OAAO,EAAE;IAAEK,EAAE,EAAEX,aAAa,CAACY;EAAe;CAC7C,CAAC,EACFjB,GAAG,CAACU,IAAI,CAAC,iBAAiB,EAAE;EAC1BC,OAAO,EAAE;IAAEK,EAAE,EAAEX,aAAa,CAACY,eAAe;IAAEC,KAAK,EAAEhB,MAAM,CAACiB;EAAM;CACnE,CAAC,EACFnB,GAAG,CAACU,IAAI,CAAC,YAAY,EAAE;EACrBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,OAAO,EAAElB,IAAI,CAACmB;EAAM,CAAE;EACvDT,OAAO,EAAEZ,MAAM,CAACsB,gBAAgB,CAAChB,WAAW;CAC7C,CAAC,EACFR,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IACPS,OAAO,EAAEd,IAAI,CAACe,MAAM;IACpBC,OAAO,EAAElB,IAAI,CAACmB,MAAM;IACpBE,eAAe,EAAEtB,OAAO,CAACuB;;CAE5B,CAAC,EAEF1B,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,OAAO,EAAElB,IAAI,CAACmB;EAAM;CACtD,CAAC,CACH,CAACI,MAAM,CAAC,OAAO,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { Schema } from 'effect';
2
+ import { Discord, DiscordRoleMapping, Role, Team } from '../../index.js';
3
+ export class RoleMapping extends /*#__PURE__*/Schema.Class('RoleMapping')({
4
+ id: DiscordRoleMapping.DiscordRoleMappingId,
5
+ team_id: Team.TeamId,
6
+ role_id: Role.RoleId,
7
+ discord_role_id: Discord.Snowflake
8
+ }) {}
9
+ //# sourceMappingURL=RoleRpcModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleRpcModels.js","names":["Schema","Discord","DiscordRoleMapping","Role","Team","RoleMapping","Class","id","DiscordRoleMappingId","team_id","TeamId","role_id","RoleId","discord_role_id","Snowflake"],"sources":["../../../../src/rpc/role/RoleRpcModels.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,kBAAkB,EAAEC,IAAI,EAAEC,IAAI,QAAQ,gBAAa;AAErE,OAAM,MAAOC,WAAY,sBAAQL,MAAM,CAACM,KAAK,CAAc,aAAa,CAAC,CAAC;EACxEC,EAAE,EAAEL,kBAAkB,CAACM,oBAAoB;EAC3CC,OAAO,EAAEL,IAAI,CAACM,MAAM;EACpBC,OAAO,EAAER,IAAI,CAACS,MAAM;EACpBC,eAAe,EAAEZ,OAAO,CAACa;CAC1B,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sideline/domain",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "The domain template",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -2,40 +2,40 @@ import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
2
2
  import { Schema } from 'effect';
3
3
  import { AuthMiddleware } from '~/api/Auth.js';
4
4
  import { AgeThresholdRuleId } from '~/models/AgeThresholdRule.js';
5
- import { RoleId } from '~/models/Role.js';
5
+ import { GroupId } from '~/models/GroupModel.js';
6
6
  import { TeamId } from '~/models/Team.js';
7
7
  import { TeamMemberId } from '~/models/TeamMember.js';
8
8
 
9
9
  export class AgeThresholdInfo extends Schema.Class<AgeThresholdInfo>('AgeThresholdInfo')({
10
10
  ruleId: AgeThresholdRuleId,
11
11
  teamId: TeamId,
12
- roleId: RoleId,
13
- roleName: Schema.String,
14
- minAge: Schema.NullOr(Schema.Number),
15
- maxAge: Schema.NullOr(Schema.Number),
12
+ groupId: GroupId,
13
+ groupName: Schema.String,
14
+ minAge: Schema.OptionFromNullOr(Schema.Number),
15
+ maxAge: Schema.OptionFromNullOr(Schema.Number),
16
16
  }) {}
17
17
 
18
- export class AgeRoleChange extends Schema.Class<AgeRoleChange>('AgeRoleChange')({
18
+ export class AgeGroupChange extends Schema.Class<AgeGroupChange>('AgeGroupChange')({
19
19
  memberId: TeamMemberId,
20
20
  memberName: Schema.String,
21
- roleId: RoleId,
22
- roleName: Schema.String,
23
- action: Schema.Literal('assigned', 'removed'),
21
+ groupId: GroupId,
22
+ groupName: Schema.String,
23
+ action: Schema.Literal('added', 'removed'),
24
24
  }) {}
25
25
 
26
26
  export class CreateAgeThresholdRequest extends Schema.Class<CreateAgeThresholdRequest>(
27
27
  'CreateAgeThresholdRequest',
28
28
  )({
29
- roleId: RoleId,
30
- minAge: Schema.NullOr(Schema.Number),
31
- maxAge: Schema.NullOr(Schema.Number),
29
+ groupId: GroupId,
30
+ minAge: Schema.OptionFromNullOr(Schema.Number),
31
+ maxAge: Schema.OptionFromNullOr(Schema.Number),
32
32
  }) {}
33
33
 
34
34
  export class UpdateAgeThresholdRequest extends Schema.Class<UpdateAgeThresholdRequest>(
35
35
  'UpdateAgeThresholdRequest',
36
36
  )({
37
- minAge: Schema.NullOr(Schema.Number),
38
- maxAge: Schema.NullOr(Schema.Number),
37
+ minAge: Schema.OptionFromNullOr(Schema.Number),
38
+ maxAge: Schema.OptionFromNullOr(Schema.Number),
39
39
  }) {}
40
40
 
41
41
  export class Forbidden extends Schema.TaggedError<Forbidden>()(
@@ -50,8 +50,8 @@ export class RuleNotFound extends Schema.TaggedError<RuleNotFound>()(
50
50
  HttpApiSchema.annotations({ status: 404 }),
51
51
  ) {}
52
52
 
53
- export class RoleNotFound extends Schema.TaggedError<RoleNotFound>()(
54
- 'AgeThresholdRoleNotFound',
53
+ export class GroupNotFound extends Schema.TaggedError<GroupNotFound>()(
54
+ 'AgeThresholdGroupNotFound',
55
55
  {},
56
56
  HttpApiSchema.annotations({ status: 404 }),
57
57
  ) {}
@@ -68,7 +68,7 @@ export class AgeThresholdApiGroup extends HttpApiGroup.make('ageThreshold')
68
68
  HttpApiEndpoint.post('createAgeThreshold', '/teams/:teamId/age-thresholds')
69
69
  .addSuccess(AgeThresholdInfo, { status: 201 })
70
70
  .addError(Forbidden, { status: 403 })
71
- .addError(RoleNotFound, { status: 404 })
71
+ .addError(GroupNotFound, { status: 404 })
72
72
  .setPath(Schema.Struct({ teamId: TeamId }))
73
73
  .setPayload(CreateAgeThresholdRequest)
74
74
  .middleware(AuthMiddleware),
@@ -92,7 +92,7 @@ export class AgeThresholdApiGroup extends HttpApiGroup.make('ageThreshold')
92
92
  )
93
93
  .add(
94
94
  HttpApiEndpoint.post('evaluateAgeThresholds', '/teams/:teamId/age-thresholds/evaluate')
95
- .addSuccess(Schema.Array(AgeRoleChange))
95
+ .addSuccess(Schema.Array(AgeGroupChange))
96
96
  .addError(Forbidden, { status: 403 })
97
97
  .setPath(Schema.Struct({ teamId: TeamId }))
98
98
  .middleware(AuthMiddleware),