@sideline/domain 0.4.0 → 0.6.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 (254) hide show
  1. package/dist/cjs/api/AgeThresholdApi.js +14 -14
  2. package/dist/cjs/api/AgeThresholdApi.js.map +1 -1
  3. package/dist/cjs/api/Auth.js +31 -7
  4. package/dist/cjs/api/Auth.js.map +1 -1
  5. package/dist/cjs/api/EventApi.js +141 -0
  6. package/dist/cjs/api/EventApi.js.map +1 -0
  7. package/dist/cjs/api/EventRsvpApi.js +66 -0
  8. package/dist/cjs/api/EventRsvpApi.js.map +1 -0
  9. package/dist/cjs/api/EventSeriesApi.js +139 -0
  10. package/dist/cjs/api/EventSeriesApi.js.map +1 -0
  11. package/dist/cjs/api/GroupApi.js +205 -0
  12. package/dist/cjs/api/GroupApi.js.map +1 -0
  13. package/dist/cjs/api/NotificationApi.js +6 -2
  14. package/dist/cjs/api/NotificationApi.js.map +1 -1
  15. package/dist/cjs/api/Roster.js +3 -2
  16. package/dist/cjs/api/Roster.js.map +1 -1
  17. package/dist/cjs/api/TeamSettingsApi.js +55 -0
  18. package/dist/cjs/api/TeamSettingsApi.js.map +1 -0
  19. package/dist/cjs/api/TrainingTypeApi.js +15 -41
  20. package/dist/cjs/api/TrainingTypeApi.js.map +1 -1
  21. package/dist/cjs/index.js +31 -5
  22. package/dist/cjs/models/AgeThresholdRule.js +2 -2
  23. package/dist/cjs/models/AgeThresholdRule.js.map +1 -1
  24. package/dist/cjs/models/ChannelSyncEvent.js +3 -3
  25. package/dist/cjs/models/ChannelSyncEvent.js.map +1 -1
  26. package/dist/cjs/models/DiscordChannelMapping.js +2 -2
  27. package/dist/cjs/models/DiscordChannelMapping.js.map +1 -1
  28. package/dist/cjs/models/Event.js +36 -0
  29. package/dist/cjs/models/Event.js.map +1 -0
  30. package/dist/cjs/models/EventRsvp.js +23 -0
  31. package/dist/cjs/models/EventRsvp.js.map +1 -0
  32. package/dist/cjs/models/EventSeries.js +35 -0
  33. package/dist/cjs/models/EventSeries.js.map +1 -0
  34. package/dist/cjs/models/GroupModel.js +20 -0
  35. package/dist/cjs/models/GroupModel.js.map +1 -0
  36. package/dist/cjs/models/Notification.js +1 -1
  37. package/dist/cjs/models/Notification.js.map +1 -1
  38. package/dist/cjs/models/Role.js +3 -3
  39. package/dist/cjs/models/Role.js.map +1 -1
  40. package/dist/cjs/models/RoleGroup.js +15 -0
  41. package/dist/cjs/models/RoleGroup.js.map +1 -0
  42. package/dist/cjs/models/Session.js +3 -5
  43. package/dist/cjs/models/Session.js.map +1 -1
  44. package/dist/cjs/models/Team.js +2 -0
  45. package/dist/cjs/models/Team.js.map +1 -1
  46. package/dist/cjs/models/TeamInvite.js +3 -5
  47. package/dist/cjs/models/TeamInvite.js.map +1 -1
  48. package/dist/cjs/models/TeamSettings.js +17 -0
  49. package/dist/cjs/models/TeamSettings.js.map +1 -0
  50. package/dist/cjs/models/TrainingType.js +2 -0
  51. package/dist/cjs/models/TrainingType.js.map +1 -1
  52. package/dist/cjs/models/User.js +3 -1
  53. package/dist/cjs/models/User.js.map +1 -1
  54. package/dist/cjs/rpc/SyncRpcs.js +3 -1
  55. package/dist/cjs/rpc/SyncRpcs.js.map +1 -1
  56. package/dist/cjs/rpc/channel/ChannelRpcEvents.js +6 -6
  57. package/dist/cjs/rpc/channel/ChannelRpcEvents.js.map +1 -1
  58. package/dist/cjs/rpc/channel/ChannelRpcGroup.js +3 -3
  59. package/dist/cjs/rpc/channel/ChannelRpcGroup.js.map +1 -1
  60. package/dist/cjs/rpc/channel/ChannelRpcModels.js +1 -1
  61. package/dist/cjs/rpc/channel/ChannelRpcModels.js.map +1 -1
  62. package/dist/cjs/rpc/event/EventRpcEvents.js +45 -0
  63. package/dist/cjs/rpc/event/EventRpcEvents.js.map +1 -0
  64. package/dist/cjs/rpc/event/EventRpcGroup.js +65 -0
  65. package/dist/cjs/rpc/event/EventRpcGroup.js.map +1 -0
  66. package/dist/cjs/rpc/event/EventRpcModels.js +47 -0
  67. package/dist/cjs/rpc/event/EventRpcModels.js.map +1 -0
  68. package/dist/cjs/rpc/guild/GuildRpcGroup.js +35 -0
  69. package/dist/cjs/rpc/guild/GuildRpcGroup.js.map +1 -0
  70. package/dist/dts/api/AgeThresholdApi.d.ts +25 -25
  71. package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -1
  72. package/dist/dts/api/Auth.d.ts +42 -13
  73. package/dist/dts/api/Auth.d.ts.map +1 -1
  74. package/dist/dts/api/EventApi.d.ts +273 -0
  75. package/dist/dts/api/EventApi.d.ts.map +1 -0
  76. package/dist/dts/api/EventRsvpApi.d.ts +96 -0
  77. package/dist/dts/api/EventRsvpApi.d.ts.map +1 -0
  78. package/dist/dts/api/EventSeriesApi.d.ts +284 -0
  79. package/dist/dts/api/EventSeriesApi.d.ts.map +1 -0
  80. package/dist/dts/api/GroupApi.d.ts +254 -0
  81. package/dist/dts/api/GroupApi.d.ts.map +1 -0
  82. package/dist/dts/api/NotificationApi.d.ts +10 -6
  83. package/dist/dts/api/NotificationApi.d.ts.map +1 -1
  84. package/dist/dts/api/RoleApi.d.ts +10 -10
  85. package/dist/dts/api/Roster.d.ts +15 -11
  86. package/dist/dts/api/Roster.d.ts.map +1 -1
  87. package/dist/dts/api/TeamSettingsApi.d.ts +107 -0
  88. package/dist/dts/api/TeamSettingsApi.d.ts.map +1 -0
  89. package/dist/dts/api/TrainingTypeApi.d.ts +33 -42
  90. package/dist/dts/api/TrainingTypeApi.d.ts.map +1 -1
  91. package/dist/dts/index.d.ts +15 -2
  92. package/dist/dts/index.d.ts.map +1 -1
  93. package/dist/dts/models/AgeThresholdRule.d.ts +13 -13
  94. package/dist/dts/models/ChannelSyncEvent.d.ts +32 -32
  95. package/dist/dts/models/DiscordChannelMapping.d.ts +11 -11
  96. package/dist/dts/models/Event.d.ts +233 -0
  97. package/dist/dts/models/Event.d.ts.map +1 -0
  98. package/dist/dts/models/EventRsvp.d.ts +110 -0
  99. package/dist/dts/models/EventRsvp.d.ts.map +1 -0
  100. package/dist/dts/models/EventSeries.d.ts +248 -0
  101. package/dist/dts/models/EventSeries.d.ts.map +1 -0
  102. package/dist/dts/models/GroupModel.d.ts +97 -0
  103. package/dist/dts/models/GroupModel.d.ts.map +1 -0
  104. package/dist/dts/models/Notification.d.ts +14 -14
  105. package/dist/dts/models/Notification.d.ts.map +1 -1
  106. package/dist/dts/models/Role.d.ts +4 -4
  107. package/dist/dts/models/Role.d.ts.map +1 -1
  108. package/dist/dts/models/RoleGroup.d.ts +16 -0
  109. package/dist/dts/models/RoleGroup.d.ts.map +1 -0
  110. package/dist/dts/models/RoleSyncEvent.d.ts +8 -8
  111. package/dist/dts/models/Session.d.ts +6 -6
  112. package/dist/dts/models/Session.d.ts.map +1 -1
  113. package/dist/dts/models/Team.d.ts +13 -0
  114. package/dist/dts/models/Team.d.ts.map +1 -1
  115. package/dist/dts/models/TeamInvite.d.ts +6 -6
  116. package/dist/dts/models/TeamInvite.d.ts.map +1 -1
  117. package/dist/dts/models/{SubgroupModel.d.ts → TeamSettings.d.ts} +27 -28
  118. package/dist/dts/models/TeamSettings.d.ts.map +1 -0
  119. package/dist/dts/models/TrainingType.d.ts +13 -0
  120. package/dist/dts/models/TrainingType.d.ts.map +1 -1
  121. package/dist/dts/models/User.d.ts +11 -11
  122. package/dist/dts/models/User.d.ts.map +1 -1
  123. package/dist/dts/rpc/SyncRpcs.d.ts +45 -3
  124. package/dist/dts/rpc/SyncRpcs.d.ts.map +1 -1
  125. package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts +6 -6
  126. package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts +3 -3
  127. package/dist/dts/rpc/channel/ChannelRpcModels.d.ts +3 -3
  128. package/dist/dts/rpc/event/EventRpcEvents.d.ts +49 -0
  129. package/dist/dts/rpc/event/EventRpcEvents.d.ts.map +1 -0
  130. package/dist/dts/rpc/event/EventRpcGroup.d.ts +32 -0
  131. package/dist/dts/rpc/event/EventRpcGroup.d.ts.map +1 -0
  132. package/dist/dts/rpc/event/EventRpcModels.d.ts +115 -0
  133. package/dist/dts/rpc/event/EventRpcModels.d.ts.map +1 -0
  134. package/dist/dts/rpc/guild/GuildRpcGroup.d.ts +19 -0
  135. package/dist/dts/rpc/guild/GuildRpcGroup.d.ts.map +1 -0
  136. package/dist/esm/api/AgeThresholdApi.js +11 -11
  137. package/dist/esm/api/AgeThresholdApi.js.map +1 -1
  138. package/dist/esm/api/Auth.js +29 -6
  139. package/dist/esm/api/Auth.js.map +1 -1
  140. package/dist/esm/api/EventApi.js +126 -0
  141. package/dist/esm/api/EventApi.js.map +1 -0
  142. package/dist/esm/api/EventRsvpApi.js +53 -0
  143. package/dist/esm/api/EventRsvpApi.js.map +1 -0
  144. package/dist/esm/api/EventSeriesApi.js +126 -0
  145. package/dist/esm/api/EventSeriesApi.js.map +1 -0
  146. package/dist/esm/api/GroupApi.js +185 -0
  147. package/dist/esm/api/GroupApi.js.map +1 -0
  148. package/dist/esm/api/NotificationApi.js +6 -2
  149. package/dist/esm/api/NotificationApi.js.map +1 -1
  150. package/dist/esm/api/Roster.js +3 -2
  151. package/dist/esm/api/Roster.js.map +1 -1
  152. package/dist/esm/api/TeamSettingsApi.js +46 -0
  153. package/dist/esm/api/TeamSettingsApi.js.map +1 -0
  154. package/dist/esm/api/TrainingTypeApi.js +14 -38
  155. package/dist/esm/api/TrainingTypeApi.js.map +1 -1
  156. package/dist/esm/index.js +15 -2
  157. package/dist/esm/index.js.map +1 -1
  158. package/dist/esm/models/AgeThresholdRule.js +2 -2
  159. package/dist/esm/models/AgeThresholdRule.js.map +1 -1
  160. package/dist/esm/models/ChannelSyncEvent.js +3 -3
  161. package/dist/esm/models/ChannelSyncEvent.js.map +1 -1
  162. package/dist/esm/models/DiscordChannelMapping.js +2 -2
  163. package/dist/esm/models/DiscordChannelMapping.js.map +1 -1
  164. package/dist/esm/models/Event.js +28 -0
  165. package/dist/esm/models/Event.js.map +1 -0
  166. package/dist/esm/models/EventRsvp.js +16 -0
  167. package/dist/esm/models/EventRsvp.js.map +1 -0
  168. package/dist/esm/models/EventSeries.js +28 -0
  169. package/dist/esm/models/EventSeries.js.map +1 -0
  170. package/dist/esm/models/GroupModel.js +13 -0
  171. package/dist/esm/models/GroupModel.js.map +1 -0
  172. package/dist/esm/models/Notification.js +1 -1
  173. package/dist/esm/models/Notification.js.map +1 -1
  174. package/dist/esm/models/Role.js +3 -3
  175. package/dist/esm/models/Role.js.map +1 -1
  176. package/dist/esm/models/RoleGroup.js +8 -0
  177. package/dist/esm/models/RoleGroup.js.map +1 -0
  178. package/dist/esm/models/Session.js +3 -6
  179. package/dist/esm/models/Session.js.map +1 -1
  180. package/dist/esm/models/Team.js +2 -0
  181. package/dist/esm/models/Team.js.map +1 -1
  182. package/dist/esm/models/TeamInvite.js +3 -6
  183. package/dist/esm/models/TeamInvite.js.map +1 -1
  184. package/dist/esm/models/TeamSettings.js +10 -0
  185. package/dist/esm/models/TeamSettings.js.map +1 -0
  186. package/dist/esm/models/TrainingType.js +2 -0
  187. package/dist/esm/models/TrainingType.js.map +1 -1
  188. package/dist/esm/models/User.js +2 -1
  189. package/dist/esm/models/User.js.map +1 -1
  190. package/dist/esm/rpc/SyncRpcs.js +3 -1
  191. package/dist/esm/rpc/SyncRpcs.js.map +1 -1
  192. package/dist/esm/rpc/channel/ChannelRpcEvents.js +7 -7
  193. package/dist/esm/rpc/channel/ChannelRpcEvents.js.map +1 -1
  194. package/dist/esm/rpc/channel/ChannelRpcGroup.js +4 -4
  195. package/dist/esm/rpc/channel/ChannelRpcGroup.js.map +1 -1
  196. package/dist/esm/rpc/channel/ChannelRpcModels.js +2 -2
  197. package/dist/esm/rpc/channel/ChannelRpcModels.js.map +1 -1
  198. package/dist/esm/rpc/event/EventRpcEvents.js +36 -0
  199. package/dist/esm/rpc/event/EventRpcEvents.js.map +1 -0
  200. package/dist/esm/rpc/event/EventRpcGroup.js +59 -0
  201. package/dist/esm/rpc/event/EventRpcGroup.js.map +1 -0
  202. package/dist/esm/rpc/event/EventRpcModels.js +33 -0
  203. package/dist/esm/rpc/event/EventRpcModels.js.map +1 -0
  204. package/dist/esm/rpc/guild/GuildRpcGroup.js +29 -0
  205. package/dist/esm/rpc/guild/GuildRpcGroup.js.map +1 -0
  206. package/package.json +3 -2
  207. package/src/api/AgeThresholdApi.ts +12 -12
  208. package/src/api/Auth.ts +36 -12
  209. package/src/api/EventApi.ts +129 -0
  210. package/src/api/EventRsvpApi.ts +67 -0
  211. package/src/api/EventSeriesApi.ts +134 -0
  212. package/src/api/GroupApi.ts +229 -0
  213. package/src/api/NotificationApi.ts +10 -0
  214. package/src/api/Roster.ts +3 -2
  215. package/src/api/TeamSettingsApi.ts +57 -0
  216. package/src/api/TrainingTypeApi.ts +8 -52
  217. package/src/index.ts +25 -3
  218. package/src/models/AgeThresholdRule.ts +2 -2
  219. package/src/models/ChannelSyncEvent.ts +3 -3
  220. package/src/models/DiscordChannelMapping.ts +2 -2
  221. package/src/models/Event.ts +41 -0
  222. package/src/models/EventRsvp.ts +20 -0
  223. package/src/models/EventSeries.ts +36 -0
  224. package/src/models/GroupModel.ts +15 -0
  225. package/src/models/Notification.ts +2 -2
  226. package/src/models/Role.ts +20 -1
  227. package/src/models/RoleGroup.ts +8 -0
  228. package/src/models/Session.ts +3 -7
  229. package/src/models/Team.ts +2 -0
  230. package/src/models/TeamInvite.ts +3 -9
  231. package/src/models/TeamSettings.ts +10 -0
  232. package/src/models/TrainingType.ts +2 -0
  233. package/src/models/User.ts +2 -1
  234. package/src/rpc/SyncRpcs.ts +8 -1
  235. package/src/rpc/channel/ChannelRpcEvents.ts +7 -7
  236. package/src/rpc/channel/ChannelRpcGroup.ts +4 -4
  237. package/src/rpc/channel/ChannelRpcModels.ts +2 -2
  238. package/src/rpc/event/EventRpcEvents.ts +48 -0
  239. package/src/rpc/event/EventRpcGroup.ts +60 -0
  240. package/src/rpc/event/EventRpcModels.ts +49 -0
  241. package/src/rpc/guild/GuildRpcGroup.ts +29 -0
  242. package/dist/cjs/api/SubgroupApi.js +0 -122
  243. package/dist/cjs/api/SubgroupApi.js.map +0 -1
  244. package/dist/cjs/models/SubgroupModel.js +0 -18
  245. package/dist/cjs/models/SubgroupModel.js.map +0 -1
  246. package/dist/dts/api/SubgroupApi.d.ts +0 -140
  247. package/dist/dts/api/SubgroupApi.d.ts.map +0 -1
  248. package/dist/dts/models/SubgroupModel.d.ts.map +0 -1
  249. package/dist/esm/api/SubgroupApi.js +0 -106
  250. package/dist/esm/api/SubgroupApi.js.map +0 -1
  251. package/dist/esm/models/SubgroupModel.js +0 -11
  252. package/dist/esm/models/SubgroupModel.js.map +0 -1
  253. package/src/api/SubgroupApi.ts +0 -146
  254. package/src/models/SubgroupModel.ts +0 -13
@@ -7,8 +7,8 @@ export const NotificationId = Schema.String.pipe(Schema.brand('NotificationId'))
7
7
  export type NotificationId = typeof NotificationId.Type;
8
8
 
9
9
  export const NotificationType = Schema.Literal(
10
- 'age_role_assigned',
11
- 'age_role_removed',
10
+ 'age_group_added',
11
+ 'age_group_removed',
12
12
  'role_assigned',
13
13
  'role_removed',
14
14
  );
@@ -15,6 +15,11 @@ export const Permission = Schema.Literal(
15
15
  'member:remove',
16
16
  'role:view',
17
17
  'role:manage',
18
+ 'training-type:create',
19
+ 'training-type:delete',
20
+ 'event:create',
21
+ 'event:edit',
22
+ 'event:cancel',
18
23
  );
19
24
  export type Permission = typeof Permission.Type;
20
25
 
@@ -32,8 +37,22 @@ export const defaultPermissions: Record<string, ReadonlyArray<Permission>> = {
32
37
  'member:remove',
33
38
  'role:view',
34
39
  'role:manage',
40
+ 'training-type:create',
41
+ 'training-type:delete',
42
+ 'event:create',
43
+ 'event:edit',
44
+ 'event:cancel',
45
+ ],
46
+ Captain: [
47
+ 'roster:view',
48
+ 'roster:manage',
49
+ 'member:view',
50
+ 'member:edit',
51
+ 'role:view',
52
+ 'event:create',
53
+ 'event:edit',
54
+ 'event:cancel',
35
55
  ],
36
- Captain: ['roster:view', 'roster:manage', 'member:view', 'member:edit', 'role:view'],
37
56
  Player: ['roster:view', 'member:view'],
38
57
  };
39
58
 
@@ -0,0 +1,8 @@
1
+ import { Schema } from 'effect';
2
+ import { GroupId } from '~/models/GroupModel.js';
3
+ import { RoleId } from '~/models/Role.js';
4
+
5
+ export class RoleGroup extends Schema.Class<RoleGroup>('RoleGroup')({
6
+ role_id: RoleId,
7
+ group_id: GroupId,
8
+ }) {}
@@ -1,16 +1,12 @@
1
1
  import { Model } from '@effect/sql';
2
- import { DateTime, Schema } from 'effect';
2
+ import * as Schemas from '@sideline/effect-lib/Schemas';
3
+ import { Schema } from 'effect';
3
4
  import { UserId } from '~/models/User.js';
4
5
 
5
- const DateTimeFromDate = Schema.transform(Schema.DateFromSelf, Schema.DateTimeUtcFromSelf, {
6
- decode: (date) => DateTime.unsafeFromDate(date),
7
- encode: (dt) => new Date(DateTime.toEpochMillis(dt)),
8
- });
9
-
10
6
  export class Session extends Model.Class<Session>('Session')({
11
7
  id: Model.Generated(Schema.String),
12
8
  user_id: UserId,
13
9
  token: Schema.String,
14
- expires_at: DateTimeFromDate,
10
+ expires_at: Schemas.DateTimeFromDate,
15
11
  created_at: Model.DateTimeInsertFromDate,
16
12
  }) {}
@@ -1,5 +1,6 @@
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
 
5
6
  export const TeamId = Schema.String.pipe(Schema.brand('TeamId'));
@@ -8,6 +9,7 @@ export type TeamId = typeof TeamId.Type;
8
9
  export class Team extends Model.Class<Team>('Team')({
9
10
  id: Model.Generated(TeamId),
10
11
  name: Schema.String,
12
+ guild_id: Snowflake,
11
13
  created_by: UserId,
12
14
  created_at: Model.DateTimeInsertFromDate,
13
15
  updated_at: Model.DateTimeUpdateFromDate,
@@ -1,18 +1,12 @@
1
1
  import { Model } from '@effect/sql';
2
- import { DateTime, Schema } from 'effect';
2
+ import * as Schemas from '@sideline/effect-lib/Schemas';
3
+ import { Schema } from 'effect';
3
4
  import { TeamId } from '~/models/Team.js';
4
5
  import { UserId } from '~/models/User.js';
5
6
 
6
7
  export const TeamInviteId = Schema.String.pipe(Schema.brand('TeamInviteId'));
7
8
  export type TeamInviteId = typeof TeamInviteId.Type;
8
9
 
9
- const NullableDateTimeFromDate = Schema.NullOr(
10
- Schema.transform(Schema.DateFromSelf, Schema.DateTimeUtcFromSelf, {
11
- decode: (date) => DateTime.unsafeFromDate(date),
12
- encode: (dt) => new Date(DateTime.toEpochMillis(dt)),
13
- }),
14
- );
15
-
16
10
  export class TeamInvite extends Model.Class<TeamInvite>('TeamInvite')({
17
11
  id: Model.Generated(TeamInviteId),
18
12
  team_id: TeamId,
@@ -20,5 +14,5 @@ export class TeamInvite extends Model.Class<TeamInvite>('TeamInvite')({
20
14
  active: Schema.Boolean,
21
15
  created_by: UserId,
22
16
  created_at: Model.DateTimeInsertFromDate,
23
- expires_at: NullableDateTimeFromDate,
17
+ expires_at: Schema.NullOr(Schemas.DateTimeFromDate),
24
18
  }) {}
@@ -0,0 +1,10 @@
1
+ import { Model } from '@effect/sql';
2
+ import { Schema } from 'effect';
3
+ import { TeamId } from '~/models/Team.js';
4
+
5
+ export class TeamSettings extends Model.Class<TeamSettings>('TeamSettings')({
6
+ team_id: TeamId,
7
+ event_horizon_days: Schema.Int,
8
+ created_at: Model.DateTimeInsertFromDate,
9
+ updated_at: Model.DateTimeUpdateFromDate,
10
+ }) {}
@@ -1,5 +1,6 @@
1
1
  import { Model } from '@effect/sql';
2
2
  import { Schema } from 'effect';
3
+ import { GroupId } from '~/models/GroupModel.js';
3
4
  import { TeamId } from '~/models/Team.js';
4
5
 
5
6
  export const TrainingTypeId = Schema.String.pipe(Schema.brand('TrainingTypeId'));
@@ -9,5 +10,6 @@ export class TrainingType extends Model.Class<TrainingType>('TrainingType')({
9
10
  id: Model.Generated(TrainingTypeId),
10
11
  team_id: TeamId,
11
12
  name: Schema.String,
13
+ group_id: Schema.NullOr(GroupId),
12
14
  created_at: Model.DateTimeInsertFromDate,
13
15
  }) {}
@@ -1,4 +1,5 @@
1
1
  import { Model } from '@effect/sql';
2
+ import * as Schemas from '@sideline/effect-lib/Schemas';
2
3
  import { Schema } from 'effect';
3
4
 
4
5
  export const UserId = Schema.String.pipe(Schema.brand('UserId'));
@@ -18,7 +19,7 @@ export class User extends Model.Class<User>('User')({
18
19
  discord_access_token: Model.Sensitive(Schema.String),
19
20
  discord_refresh_token: Model.Sensitive(Schema.NullOr(Schema.String)),
20
21
  name: Schema.NullOr(Schema.String),
21
- birth_year: Schema.NullOr(Schema.Number),
22
+ birth_date: Schema.OptionFromNullOr(Schemas.DateTimeFromDate),
22
23
  gender: Schema.NullOr(Gender),
23
24
  locale: Locale,
24
25
  created_at: Model.DateTimeInsertFromDate,
@@ -1,5 +1,12 @@
1
1
  import { RpcGroup } from '@effect/rpc';
2
2
  import { ChannelRpcGroup } from './channel/ChannelRpcGroup.js';
3
+ import { EventRpcGroup } from './event/EventRpcGroup.js';
4
+ import { GuildRpcGroup } from './guild/GuildRpcGroup.js';
3
5
  import { RoleRpcGroup } from './role/RoleRpcGroup.js';
4
6
 
5
- export class SyncRpcs extends RpcGroup.make().merge(RoleRpcGroup, ChannelRpcGroup) {}
7
+ export class SyncRpcs extends RpcGroup.make().merge(
8
+ RoleRpcGroup,
9
+ ChannelRpcGroup,
10
+ GuildRpcGroup,
11
+ EventRpcGroup,
12
+ ) {}
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'effect';
2
- import { ChannelSyncEvent, Discord, SubgroupModel, Team, TeamMember } from '~/index.js';
2
+ import { ChannelSyncEvent, Discord, GroupModel, Team, TeamMember } from '~/index.js';
3
3
 
4
4
  export class ChannelCreatedEvent extends Schema.TaggedClass<ChannelCreatedEvent>()(
5
5
  'channel_created',
@@ -7,8 +7,8 @@ export class ChannelCreatedEvent extends Schema.TaggedClass<ChannelCreatedEvent>
7
7
  id: ChannelSyncEvent.ChannelSyncEventId,
8
8
  team_id: Team.TeamId,
9
9
  guild_id: Discord.Snowflake,
10
- subgroup_id: SubgroupModel.SubgroupId,
11
- subgroup_name: Schema.String,
10
+ group_id: GroupModel.GroupId,
11
+ group_name: Schema.String,
12
12
  },
13
13
  ) {}
14
14
 
@@ -18,7 +18,7 @@ export class ChannelDeletedEvent extends Schema.TaggedClass<ChannelDeletedEvent>
18
18
  id: ChannelSyncEvent.ChannelSyncEventId,
19
19
  team_id: Team.TeamId,
20
20
  guild_id: Discord.Snowflake,
21
- subgroup_id: SubgroupModel.SubgroupId,
21
+ group_id: GroupModel.GroupId,
22
22
  },
23
23
  ) {}
24
24
 
@@ -28,8 +28,8 @@ export class ChannelMemberAddedEvent extends Schema.TaggedClass<ChannelMemberAdd
28
28
  id: ChannelSyncEvent.ChannelSyncEventId,
29
29
  team_id: Team.TeamId,
30
30
  guild_id: Discord.Snowflake,
31
- subgroup_id: SubgroupModel.SubgroupId,
32
- subgroup_name: Schema.String,
31
+ group_id: GroupModel.GroupId,
32
+ group_name: Schema.String,
33
33
  team_member_id: TeamMember.TeamMemberId,
34
34
  discord_user_id: Discord.Snowflake,
35
35
  },
@@ -41,7 +41,7 @@ export class ChannelMemberRemovedEvent extends Schema.TaggedClass<ChannelMemberR
41
41
  id: ChannelSyncEvent.ChannelSyncEventId,
42
42
  team_id: Team.TeamId,
43
43
  guild_id: Discord.Snowflake,
44
- subgroup_id: SubgroupModel.SubgroupId,
44
+ group_id: GroupModel.GroupId,
45
45
  team_member_id: TeamMember.TeamMemberId,
46
46
  discord_user_id: Discord.Snowflake,
47
47
  },
@@ -1,6 +1,6 @@
1
1
  import { Rpc, RpcGroup } from '@effect/rpc';
2
2
  import { Schema } from 'effect';
3
- import { ChannelSyncEvent, Discord, SubgroupModel, Team } from '~/index.js';
3
+ import { ChannelSyncEvent, Discord, GroupModel, Team } from '~/index.js';
4
4
  import { UnprocessedChannelEvent } from './ChannelRpcEvents.js';
5
5
  import { ChannelMapping } from './ChannelRpcModels.js';
6
6
 
@@ -16,18 +16,18 @@ export const ChannelRpcGroup = RpcGroup.make(
16
16
  payload: { id: ChannelSyncEvent.ChannelSyncEventId, error: Schema.String },
17
17
  }),
18
18
  Rpc.make('GetMapping', {
19
- payload: { team_id: Team.TeamId, subgroup_id: SubgroupModel.SubgroupId },
19
+ payload: { team_id: Team.TeamId, group_id: GroupModel.GroupId },
20
20
  success: Schema.OptionFromNullOr(ChannelMapping),
21
21
  }),
22
22
  Rpc.make('UpsertMapping', {
23
23
  payload: {
24
24
  team_id: Team.TeamId,
25
- subgroup_id: SubgroupModel.SubgroupId,
25
+ group_id: GroupModel.GroupId,
26
26
  discord_channel_id: Discord.Snowflake,
27
27
  discord_role_id: Discord.Snowflake,
28
28
  },
29
29
  }),
30
30
  Rpc.make('DeleteMapping', {
31
- payload: { team_id: Team.TeamId, subgroup_id: SubgroupModel.SubgroupId },
31
+ payload: { team_id: Team.TeamId, group_id: GroupModel.GroupId },
32
32
  }),
33
33
  ).prefix('Channel/');
@@ -1,10 +1,10 @@
1
1
  import { Schema } from 'effect';
2
- import { Discord, DiscordChannelMapping, SubgroupModel, Team } from '~/index.js';
2
+ import { Discord, DiscordChannelMapping, GroupModel, Team } from '~/index.js';
3
3
 
4
4
  export class ChannelMapping extends Schema.Class<ChannelMapping>('ChannelMapping')({
5
5
  id: DiscordChannelMapping.DiscordChannelMappingId,
6
6
  team_id: Team.TeamId,
7
- subgroup_id: SubgroupModel.SubgroupId,
7
+ group_id: GroupModel.GroupId,
8
8
  discord_channel_id: Discord.Snowflake,
9
9
  discord_role_id: Schema.OptionFromNullOr(Discord.Snowflake),
10
10
  }) {}
@@ -0,0 +1,48 @@
1
+ import { Schema } from 'effect';
2
+ import { Discord, Event, Team } from '~/index.js';
3
+
4
+ export class EventCreatedEvent extends Schema.TaggedClass<EventCreatedEvent>()('event_created', {
5
+ id: Schema.String,
6
+ team_id: Team.TeamId,
7
+ guild_id: Discord.Snowflake,
8
+ event_id: Event.EventId,
9
+ title: Schema.String,
10
+ description: Schema.NullOr(Schema.String),
11
+ start_at: Schema.String,
12
+ end_at: Schema.NullOr(Schema.String),
13
+ location: Schema.NullOr(Schema.String),
14
+ event_type: Schema.String,
15
+ discord_channel_id: Schema.NullOr(Schema.String),
16
+ }) {}
17
+
18
+ export class EventUpdatedEvent extends Schema.TaggedClass<EventUpdatedEvent>()('event_updated', {
19
+ id: Schema.String,
20
+ team_id: Team.TeamId,
21
+ guild_id: Discord.Snowflake,
22
+ event_id: Event.EventId,
23
+ title: Schema.String,
24
+ description: Schema.NullOr(Schema.String),
25
+ start_at: Schema.String,
26
+ end_at: Schema.NullOr(Schema.String),
27
+ location: Schema.NullOr(Schema.String),
28
+ event_type: Schema.String,
29
+ discord_channel_id: Schema.NullOr(Schema.String),
30
+ }) {}
31
+
32
+ export class EventCancelledEvent extends Schema.TaggedClass<EventCancelledEvent>()(
33
+ 'event_cancelled',
34
+ {
35
+ id: Schema.String,
36
+ team_id: Team.TeamId,
37
+ guild_id: Discord.Snowflake,
38
+ event_id: Event.EventId,
39
+ },
40
+ ) {}
41
+
42
+ export const UnprocessedEventSyncEvent = Schema.Union(
43
+ EventCreatedEvent,
44
+ EventUpdatedEvent,
45
+ EventCancelledEvent,
46
+ );
47
+
48
+ export type UnprocessedEventSyncEvent = Schema.Schema.Type<typeof UnprocessedEventSyncEvent>;
@@ -0,0 +1,60 @@
1
+ import { Rpc, RpcGroup } from '@effect/rpc';
2
+ import { Schema } from 'effect';
3
+ import { Discord, Event, EventRsvp, Team } from '~/index.js';
4
+ import { UnprocessedEventSyncEvent } from './EventRpcEvents.js';
5
+ import {
6
+ EventDiscordMessage,
7
+ EventEmbedInfo,
8
+ RsvpAttendeesResult,
9
+ RsvpCountsResult,
10
+ RsvpDeadlinePassed,
11
+ RsvpEventNotFound,
12
+ RsvpMemberNotFound,
13
+ } from './EventRpcModels.js';
14
+
15
+ export const EventRpcGroup = RpcGroup.make(
16
+ Rpc.make('GetUnprocessedEvents', {
17
+ payload: { limit: Schema.Number },
18
+ success: Schema.Array(UnprocessedEventSyncEvent),
19
+ }),
20
+ Rpc.make('MarkEventProcessed', {
21
+ payload: { id: Schema.String },
22
+ }),
23
+ Rpc.make('MarkEventFailed', {
24
+ payload: { id: Schema.String, error: Schema.String },
25
+ }),
26
+ Rpc.make('SaveDiscordMessageId', {
27
+ payload: {
28
+ event_id: Event.EventId,
29
+ discord_channel_id: Schema.String,
30
+ discord_message_id: Schema.String,
31
+ },
32
+ }),
33
+ Rpc.make('GetDiscordMessageId', {
34
+ payload: { event_id: Event.EventId },
35
+ success: Schema.OptionFromNullOr(EventDiscordMessage),
36
+ }),
37
+ Rpc.make('SubmitRsvp', {
38
+ payload: {
39
+ event_id: Event.EventId,
40
+ team_id: Team.TeamId,
41
+ discord_user_id: Discord.Snowflake,
42
+ response: EventRsvp.RsvpResponse,
43
+ message: Schema.NullOr(Schema.String),
44
+ },
45
+ success: RsvpCountsResult,
46
+ error: Schema.Union(RsvpMemberNotFound, RsvpDeadlinePassed, RsvpEventNotFound),
47
+ }),
48
+ Rpc.make('GetRsvpCounts', {
49
+ payload: { event_id: Event.EventId },
50
+ success: RsvpCountsResult,
51
+ }),
52
+ Rpc.make('GetEventEmbedInfo', {
53
+ payload: { event_id: Event.EventId },
54
+ success: Schema.OptionFromNullOr(EventEmbedInfo),
55
+ }),
56
+ Rpc.make('GetRsvpAttendees', {
57
+ payload: { event_id: Event.EventId, offset: Schema.Number, limit: Schema.Number },
58
+ success: RsvpAttendeesResult,
59
+ }),
60
+ ).prefix('Event/');
@@ -0,0 +1,49 @@
1
+ import { Schema } from 'effect';
2
+
3
+ export class EventDiscordMessage extends Schema.Class<EventDiscordMessage>('EventDiscordMessage')({
4
+ discord_channel_id: Schema.String,
5
+ discord_message_id: Schema.String,
6
+ }) {}
7
+
8
+ export class RsvpCountsResult extends Schema.Class<RsvpCountsResult>('RsvpCountsResult')({
9
+ yesCount: Schema.Number,
10
+ noCount: Schema.Number,
11
+ maybeCount: Schema.Number,
12
+ canRsvp: Schema.Boolean,
13
+ }) {}
14
+
15
+ export class EventEmbedInfo extends Schema.Class<EventEmbedInfo>('EventEmbedInfo')({
16
+ title: Schema.String,
17
+ description: Schema.NullOr(Schema.String),
18
+ start_at: Schema.String,
19
+ end_at: Schema.NullOr(Schema.String),
20
+ location: Schema.NullOr(Schema.String),
21
+ event_type: Schema.String,
22
+ }) {}
23
+
24
+ export class RsvpMemberNotFound extends Schema.TaggedError<RsvpMemberNotFound>()(
25
+ 'RsvpMemberNotFound',
26
+ {},
27
+ ) {}
28
+
29
+ export class RsvpDeadlinePassed extends Schema.TaggedError<RsvpDeadlinePassed>()(
30
+ 'RsvpDeadlinePassed',
31
+ {},
32
+ ) {}
33
+
34
+ export class RsvpEventNotFound extends Schema.TaggedError<RsvpEventNotFound>()(
35
+ 'RsvpEventNotFound',
36
+ {},
37
+ ) {}
38
+
39
+ export class RsvpAttendeeEntry extends Schema.Class<RsvpAttendeeEntry>('RsvpAttendeeEntry')({
40
+ discord_id: Schema.NullOr(Schema.String),
41
+ name: Schema.NullOr(Schema.String),
42
+ response: Schema.Literal('yes', 'no', 'maybe'),
43
+ message: Schema.NullOr(Schema.String),
44
+ }) {}
45
+
46
+ export class RsvpAttendeesResult extends Schema.Class<RsvpAttendeesResult>('RsvpAttendeesResult')({
47
+ attendees: Schema.Array(RsvpAttendeeEntry),
48
+ total: Schema.Number,
49
+ }) {}
@@ -0,0 +1,29 @@
1
+ import { Rpc, RpcGroup } from '@effect/rpc';
2
+ import { Schema } from 'effect';
3
+ import { Discord } from '~/index.js';
4
+
5
+ export const GuildRpcGroup = RpcGroup.make(
6
+ Rpc.make('RegisterGuild', {
7
+ payload: { guild_id: Discord.Snowflake, guild_name: Schema.String },
8
+ }),
9
+ Rpc.make('UnregisterGuild', {
10
+ payload: { guild_id: Discord.Snowflake },
11
+ }),
12
+ Rpc.make('IsGuildRegistered', {
13
+ payload: { guild_id: Discord.Snowflake },
14
+ success: Schema.Boolean,
15
+ }),
16
+ Rpc.make('SyncGuildChannels', {
17
+ payload: {
18
+ guild_id: Discord.Snowflake,
19
+ channels: Schema.Array(
20
+ Schema.Struct({
21
+ channel_id: Discord.Snowflake,
22
+ name: Schema.String,
23
+ type: Schema.Number,
24
+ parent_id: Schema.NullOr(Discord.Snowflake),
25
+ }),
26
+ ),
27
+ },
28
+ }),
29
+ ).prefix('Guild/');
@@ -1,122 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.UpdateSubgroupRequest = exports.SubgroupNotFound = exports.SubgroupInfo = exports.SubgroupDetail = exports.SubgroupApiGroup = exports.SetSubgroupPermissionsRequest = exports.MemberNotFound = exports.Forbidden = exports.CreateSubgroupRequest = exports.AddSubgroupMemberRequest = void 0;
7
- var _platform = require("@effect/platform");
8
- var _effect = require("effect");
9
- var _Auth = require("../api/Auth.js");
10
- var _Role = require("../models/Role.js");
11
- var _SubgroupModel = require("../models/SubgroupModel.js");
12
- var _Team = require("../models/Team.js");
13
- var _TeamMember = require("../models/TeamMember.js");
14
- class SubgroupInfo extends /*#__PURE__*/_effect.Schema.Class('SubgroupInfo')({
15
- subgroupId: _SubgroupModel.SubgroupId,
16
- teamId: _Team.TeamId,
17
- name: _effect.Schema.String,
18
- memberCount: _effect.Schema.Number
19
- }) {}
20
- exports.SubgroupInfo = SubgroupInfo;
21
- class SubgroupDetail extends /*#__PURE__*/_effect.Schema.Class('SubgroupDetail')({
22
- subgroupId: _SubgroupModel.SubgroupId,
23
- teamId: _Team.TeamId,
24
- name: _effect.Schema.String,
25
- permissions: /*#__PURE__*/_effect.Schema.Array(_Role.Permission),
26
- members: /*#__PURE__*/_effect.Schema.Array(/*#__PURE__*/_effect.Schema.Struct({
27
- memberId: _TeamMember.TeamMemberId,
28
- name: /*#__PURE__*/_effect.Schema.NullOr(_effect.Schema.String),
29
- discordUsername: _effect.Schema.String
30
- }))
31
- }) {}
32
- exports.SubgroupDetail = SubgroupDetail;
33
- class CreateSubgroupRequest extends /*#__PURE__*/_effect.Schema.Class('CreateSubgroupRequest')({
34
- name: _effect.Schema.NonEmptyString
35
- }) {}
36
- exports.CreateSubgroupRequest = CreateSubgroupRequest;
37
- class UpdateSubgroupRequest extends /*#__PURE__*/_effect.Schema.Class('UpdateSubgroupRequest')({
38
- name: _effect.Schema.NonEmptyString
39
- }) {}
40
- exports.UpdateSubgroupRequest = UpdateSubgroupRequest;
41
- class AddSubgroupMemberRequest extends /*#__PURE__*/_effect.Schema.Class('AddSubgroupMemberRequest')({
42
- memberId: _TeamMember.TeamMemberId
43
- }) {}
44
- exports.AddSubgroupMemberRequest = AddSubgroupMemberRequest;
45
- class SetSubgroupPermissionsRequest extends /*#__PURE__*/_effect.Schema.Class('SetSubgroupPermissionsRequest')({
46
- permissions: /*#__PURE__*/_effect.Schema.Array(_Role.Permission)
47
- }) {}
48
- exports.SetSubgroupPermissionsRequest = SetSubgroupPermissionsRequest;
49
- class SubgroupNotFound extends /*#__PURE__*/_effect.Schema.TaggedError()('SubgroupNotFound', {}, /*#__PURE__*/_platform.HttpApiSchema.annotations({
50
- status: 404
51
- })) {}
52
- exports.SubgroupNotFound = SubgroupNotFound;
53
- class Forbidden extends /*#__PURE__*/_effect.Schema.TaggedError()('SubgroupForbidden', {}, /*#__PURE__*/_platform.HttpApiSchema.annotations({
54
- status: 403
55
- })) {}
56
- exports.Forbidden = Forbidden;
57
- class MemberNotFound extends /*#__PURE__*/_effect.Schema.TaggedError()('SubgroupMemberNotFound', {}, /*#__PURE__*/_platform.HttpApiSchema.annotations({
58
- status: 404
59
- })) {}
60
- exports.MemberNotFound = MemberNotFound;
61
- class SubgroupApiGroup extends /*#__PURE__*/_platform.HttpApiGroup.make('subgroup').add(_platform.HttpApiEndpoint.get('listSubgroups', '/teams/:teamId/subgroups').addSuccess(_effect.Schema.Array(SubgroupInfo)).addError(Forbidden, {
62
- status: 403
63
- }).setPath(_effect.Schema.Struct({
64
- teamId: _Team.TeamId
65
- })).middleware(_Auth.AuthMiddleware)).add(_platform.HttpApiEndpoint.post('createSubgroup', '/teams/:teamId/subgroups').addSuccess(SubgroupInfo, {
66
- status: 201
67
- }).addError(Forbidden, {
68
- status: 403
69
- }).setPath(_effect.Schema.Struct({
70
- teamId: _Team.TeamId
71
- })).setPayload(CreateSubgroupRequest).middleware(_Auth.AuthMiddleware)).add(_platform.HttpApiEndpoint.get('getSubgroup', '/teams/:teamId/subgroups/:subgroupId').addSuccess(SubgroupDetail).addError(Forbidden, {
72
- status: 403
73
- }).addError(SubgroupNotFound, {
74
- status: 404
75
- }).setPath(_effect.Schema.Struct({
76
- teamId: _Team.TeamId,
77
- subgroupId: _SubgroupModel.SubgroupId
78
- })).middleware(_Auth.AuthMiddleware)).add(_platform.HttpApiEndpoint.patch('updateSubgroup', '/teams/:teamId/subgroups/:subgroupId').addSuccess(SubgroupInfo).addError(Forbidden, {
79
- status: 403
80
- }).addError(SubgroupNotFound, {
81
- status: 404
82
- }).setPath(_effect.Schema.Struct({
83
- teamId: _Team.TeamId,
84
- subgroupId: _SubgroupModel.SubgroupId
85
- })).setPayload(UpdateSubgroupRequest).middleware(_Auth.AuthMiddleware)).add(_platform.HttpApiEndpoint.del('deleteSubgroup', '/teams/:teamId/subgroups/:subgroupId').addSuccess(_effect.Schema.Void).addError(Forbidden, {
86
- status: 403
87
- }).addError(SubgroupNotFound, {
88
- status: 404
89
- }).setPath(_effect.Schema.Struct({
90
- teamId: _Team.TeamId,
91
- subgroupId: _SubgroupModel.SubgroupId
92
- })).middleware(_Auth.AuthMiddleware)).add(_platform.HttpApiEndpoint.post('addSubgroupMember', '/teams/:teamId/subgroups/:subgroupId/members').addSuccess(_effect.Schema.Void, {
93
- status: 204
94
- }).addError(Forbidden, {
95
- status: 403
96
- }).addError(SubgroupNotFound, {
97
- status: 404
98
- }).addError(MemberNotFound, {
99
- status: 404
100
- }).setPath(_effect.Schema.Struct({
101
- teamId: _Team.TeamId,
102
- subgroupId: _SubgroupModel.SubgroupId
103
- })).setPayload(AddSubgroupMemberRequest).middleware(_Auth.AuthMiddleware)).add(_platform.HttpApiEndpoint.del('removeSubgroupMember', '/teams/:teamId/subgroups/:subgroupId/members/:memberId').addSuccess(_effect.Schema.Void).addError(Forbidden, {
104
- status: 403
105
- }).addError(SubgroupNotFound, {
106
- status: 404
107
- }).addError(MemberNotFound, {
108
- status: 404
109
- }).setPath(_effect.Schema.Struct({
110
- teamId: _Team.TeamId,
111
- subgroupId: _SubgroupModel.SubgroupId,
112
- memberId: _TeamMember.TeamMemberId
113
- })).middleware(_Auth.AuthMiddleware)).add(/*#__PURE__*/_platform.HttpApiEndpoint.patch('setSubgroupPermissions', '/teams/:teamId/subgroups/:subgroupId/permissions').addSuccess(SubgroupDetail).addError(Forbidden, {
114
- status: 403
115
- }).addError(SubgroupNotFound, {
116
- status: 404
117
- }).setPath(_effect.Schema.Struct({
118
- teamId: _Team.TeamId,
119
- subgroupId: _SubgroupModel.SubgroupId
120
- })).setPayload(SetSubgroupPermissionsRequest).middleware(_Auth.AuthMiddleware)) {}
121
- exports.SubgroupApiGroup = SubgroupApiGroup;
122
- //# sourceMappingURL=SubgroupApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubgroupApi.js","names":["_platform","require","_effect","_Auth","_Role","_SubgroupModel","_Team","_TeamMember","SubgroupInfo","Schema","Class","subgroupId","SubgroupId","teamId","TeamId","name","String","memberCount","Number","exports","SubgroupDetail","permissions","Array","Permission","members","Struct","memberId","TeamMemberId","NullOr","discordUsername","CreateSubgroupRequest","NonEmptyString","UpdateSubgroupRequest","AddSubgroupMemberRequest","SetSubgroupPermissionsRequest","SubgroupNotFound","TaggedError","HttpApiSchema","annotations","status","Forbidden","MemberNotFound","SubgroupApiGroup","HttpApiGroup","make","add","HttpApiEndpoint","get","addSuccess","addError","setPath","middleware","AuthMiddleware","post","setPayload","patch","del","Void"],"sources":["../../../src/api/SubgroupApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SubgroupId = exports.Subgroup = void 0;
7
- var _sql = require("@effect/sql");
8
- var _effect = require("effect");
9
- var _Team = require("../models/Team.js");
10
- const SubgroupId = exports.SubgroupId = /*#__PURE__*/_effect.Schema.String.pipe(/*#__PURE__*/_effect.Schema.brand('SubgroupId'));
11
- class Subgroup extends /*#__PURE__*/_sql.Model.Class('Subgroup')({
12
- id: /*#__PURE__*/_sql.Model.Generated(SubgroupId),
13
- team_id: _Team.TeamId,
14
- name: _effect.Schema.String,
15
- created_at: _sql.Model.DateTimeInsertFromDate
16
- }) {}
17
- exports.Subgroup = Subgroup;
18
- //# sourceMappingURL=SubgroupModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubgroupModel.js","names":["_sql","require","_effect","_Team","SubgroupId","exports","Schema","String","pipe","brand","Subgroup","Model","Class","id","Generated","team_id","TeamId","name","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/SubgroupModel.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEO,MAAMG,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAGE,cAAM,CAACC,MAAM,CAACC,IAAI,cAACF,cAAM,CAACG,KAAK,CAAC,YAAY,CAAC,CAAC;AAGlE,MAAOC,QAAS,sBAAQC,UAAK,CAACC,KAAK,CAAW,UAAU,CAAC,CAAC;EAC9DC,EAAE,eAAEF,UAAK,CAACG,SAAS,CAACV,UAAU,CAAC;EAC/BW,OAAO,EAAEC,YAAM;EACfC,IAAI,EAAEX,cAAM,CAACC,MAAM;EACnBW,UAAU,EAAEP,UAAK,CAACQ;CACnB,CAAC;AAAAd,OAAA,CAAAK,QAAA,GAAAA,QAAA","ignoreList":[]}