@sideline/domain 0.9.0 → 0.10.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 (191) hide show
  1. package/dist/cjs/api/AgeThresholdApi.js +7 -1
  2. package/dist/cjs/api/AgeThresholdApi.js.map +1 -1
  3. package/dist/cjs/api/Auth.js +9 -8
  4. package/dist/cjs/api/Auth.js.map +1 -1
  5. package/dist/cjs/api/EventApi.js +26 -23
  6. package/dist/cjs/api/EventApi.js.map +1 -1
  7. package/dist/cjs/api/EventRsvpApi.js +8 -8
  8. package/dist/cjs/api/EventRsvpApi.js.map +1 -1
  9. package/dist/cjs/api/EventSeriesApi.js +27 -24
  10. package/dist/cjs/api/EventSeriesApi.js.map +1 -1
  11. package/dist/cjs/api/GroupApi.js +22 -14
  12. package/dist/cjs/api/GroupApi.js.map +1 -1
  13. package/dist/cjs/api/ICalApi.js +25 -0
  14. package/dist/cjs/api/ICalApi.js.map +1 -0
  15. package/dist/cjs/api/RoleApi.js +11 -3
  16. package/dist/cjs/api/RoleApi.js.map +1 -1
  17. package/dist/cjs/api/Roster.js +10 -10
  18. package/dist/cjs/api/Roster.js.map +1 -1
  19. package/dist/cjs/api/TeamSettingsApi.js +13 -12
  20. package/dist/cjs/api/TeamSettingsApi.js.map +1 -1
  21. package/dist/cjs/api/TrainingTypeApi.js +17 -8
  22. package/dist/cjs/api/TrainingTypeApi.js.map +1 -1
  23. package/dist/cjs/index.js +5 -1
  24. package/dist/cjs/models/AgeThresholdRule.js +2 -2
  25. package/dist/cjs/models/AgeThresholdRule.js.map +1 -1
  26. package/dist/cjs/models/ChannelSyncEvent.js +5 -5
  27. package/dist/cjs/models/ChannelSyncEvent.js.map +1 -1
  28. package/dist/cjs/models/Event.js +5 -5
  29. package/dist/cjs/models/Event.js.map +1 -1
  30. package/dist/cjs/models/EventRsvp.js +1 -1
  31. package/dist/cjs/models/EventRsvp.js.map +1 -1
  32. package/dist/cjs/models/EventSeries.js +5 -5
  33. package/dist/cjs/models/EventSeries.js.map +1 -1
  34. package/dist/cjs/models/GroupModel.js +2 -2
  35. package/dist/cjs/models/GroupModel.js.map +1 -1
  36. package/dist/cjs/models/ICalToken.js +17 -0
  37. package/dist/cjs/models/ICalToken.js.map +1 -0
  38. package/dist/cjs/models/OAuthConnection.js +1 -1
  39. package/dist/cjs/models/OAuthConnection.js.map +1 -1
  40. package/dist/cjs/models/RoleSyncEvent.js +5 -5
  41. package/dist/cjs/models/RoleSyncEvent.js.map +1 -1
  42. package/dist/cjs/models/TeamInvite.js +1 -1
  43. package/dist/cjs/models/TeamInvite.js.map +1 -1
  44. package/dist/cjs/models/TeamMember.js +1 -1
  45. package/dist/cjs/models/TeamMember.js.map +1 -1
  46. package/dist/cjs/models/TrainingType.js +1 -1
  47. package/dist/cjs/models/TrainingType.js.map +1 -1
  48. package/dist/cjs/models/User.js +5 -4
  49. package/dist/cjs/models/User.js.map +1 -1
  50. package/dist/cjs/rpc/event/EventRpcEvents.js +14 -12
  51. package/dist/cjs/rpc/event/EventRpcEvents.js.map +1 -1
  52. package/dist/cjs/rpc/event/EventRpcGroup.js +15 -7
  53. package/dist/cjs/rpc/event/EventRpcGroup.js.map +1 -1
  54. package/dist/cjs/rpc/event/EventRpcModels.js +39 -16
  55. package/dist/cjs/rpc/event/EventRpcModels.js.map +1 -1
  56. package/dist/cjs/rpc/guild/GuildRpcGroup.js +3 -3
  57. package/dist/cjs/rpc/guild/GuildRpcGroup.js.map +1 -1
  58. package/dist/dts/api/AgeThresholdApi.d.ts +6 -1
  59. package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -1
  60. package/dist/dts/api/Auth.d.ts +22 -21
  61. package/dist/dts/api/Auth.d.ts.map +1 -1
  62. package/dist/dts/api/EventApi.d.ts +69 -69
  63. package/dist/dts/api/EventApi.d.ts.map +1 -1
  64. package/dist/dts/api/EventRsvpApi.d.ts +24 -24
  65. package/dist/dts/api/EventSeriesApi.d.ts +72 -72
  66. package/dist/dts/api/EventSeriesApi.d.ts.map +1 -1
  67. package/dist/dts/api/GroupApi.d.ts +49 -44
  68. package/dist/dts/api/GroupApi.d.ts.map +1 -1
  69. package/dist/dts/api/ICalApi.d.ts +28 -0
  70. package/dist/dts/api/ICalApi.d.ts.map +1 -0
  71. package/dist/dts/api/RoleApi.d.ts +13 -8
  72. package/dist/dts/api/RoleApi.d.ts.map +1 -1
  73. package/dist/dts/api/Roster.d.ts +32 -32
  74. package/dist/dts/api/TeamSettingsApi.d.ts +36 -36
  75. package/dist/dts/api/TeamSettingsApi.d.ts.map +1 -1
  76. package/dist/dts/api/TrainingTypeApi.d.ts +28 -23
  77. package/dist/dts/api/TrainingTypeApi.d.ts.map +1 -1
  78. package/dist/dts/index.d.ts +2 -0
  79. package/dist/dts/index.d.ts.map +1 -1
  80. package/dist/dts/models/AgeThresholdRule.d.ts +22 -22
  81. package/dist/dts/models/ChannelSyncEvent.d.ts +55 -55
  82. package/dist/dts/models/Event.d.ts +55 -55
  83. package/dist/dts/models/EventRsvp.d.ts +11 -11
  84. package/dist/dts/models/EventSeries.d.ts +55 -55
  85. package/dist/dts/models/GroupModel.d.ts +22 -22
  86. package/dist/dts/models/ICalToken.d.ts +69 -0
  87. package/dist/dts/models/ICalToken.d.ts.map +1 -0
  88. package/dist/dts/models/OAuthConnection.d.ts +8 -8
  89. package/dist/dts/models/RoleSyncEvent.d.ts +55 -55
  90. package/dist/dts/models/TeamInvite.d.ts +11 -11
  91. package/dist/dts/models/TeamMember.d.ts +22 -22
  92. package/dist/dts/models/TrainingType.d.ts +11 -11
  93. package/dist/dts/models/User.d.ts +44 -44
  94. package/dist/dts/models/User.d.ts.map +1 -1
  95. package/dist/dts/rpc/SyncRpcs.d.ts +15 -11
  96. package/dist/dts/rpc/SyncRpcs.d.ts.map +1 -1
  97. package/dist/dts/rpc/event/EventRpcEvents.d.ts +12 -12
  98. package/dist/dts/rpc/event/EventRpcEvents.d.ts.map +1 -1
  99. package/dist/dts/rpc/event/EventRpcGroup.d.ts +13 -9
  100. package/dist/dts/rpc/event/EventRpcGroup.d.ts.map +1 -1
  101. package/dist/dts/rpc/event/EventRpcModels.d.ts +108 -45
  102. package/dist/dts/rpc/event/EventRpcModels.d.ts.map +1 -1
  103. package/dist/dts/rpc/guild/GuildRpcGroup.d.ts +3 -3
  104. package/dist/esm/api/AgeThresholdApi.js +5 -0
  105. package/dist/esm/api/AgeThresholdApi.js.map +1 -1
  106. package/dist/esm/api/Auth.js +8 -7
  107. package/dist/esm/api/Auth.js.map +1 -1
  108. package/dist/esm/api/EventApi.js +25 -23
  109. package/dist/esm/api/EventApi.js.map +1 -1
  110. package/dist/esm/api/EventRsvpApi.js +8 -8
  111. package/dist/esm/api/EventRsvpApi.js.map +1 -1
  112. package/dist/esm/api/EventSeriesApi.js +26 -24
  113. package/dist/esm/api/EventSeriesApi.js.map +1 -1
  114. package/dist/esm/api/GroupApi.js +20 -13
  115. package/dist/esm/api/GroupApi.js.map +1 -1
  116. package/dist/esm/api/ICalApi.js +16 -0
  117. package/dist/esm/api/ICalApi.js.map +1 -0
  118. package/dist/esm/api/RoleApi.js +9 -2
  119. package/dist/esm/api/RoleApi.js.map +1 -1
  120. package/dist/esm/api/Roster.js +10 -10
  121. package/dist/esm/api/Roster.js.map +1 -1
  122. package/dist/esm/api/TeamSettingsApi.js +13 -12
  123. package/dist/esm/api/TeamSettingsApi.js.map +1 -1
  124. package/dist/esm/api/TrainingTypeApi.js +15 -7
  125. package/dist/esm/api/TrainingTypeApi.js.map +1 -1
  126. package/dist/esm/index.js +2 -0
  127. package/dist/esm/index.js.map +1 -1
  128. package/dist/esm/models/AgeThresholdRule.js +2 -2
  129. package/dist/esm/models/AgeThresholdRule.js.map +1 -1
  130. package/dist/esm/models/ChannelSyncEvent.js +5 -5
  131. package/dist/esm/models/ChannelSyncEvent.js.map +1 -1
  132. package/dist/esm/models/Event.js +5 -5
  133. package/dist/esm/models/Event.js.map +1 -1
  134. package/dist/esm/models/EventRsvp.js +1 -1
  135. package/dist/esm/models/EventRsvp.js.map +1 -1
  136. package/dist/esm/models/EventSeries.js +5 -5
  137. package/dist/esm/models/EventSeries.js.map +1 -1
  138. package/dist/esm/models/GroupModel.js +2 -2
  139. package/dist/esm/models/GroupModel.js.map +1 -1
  140. package/dist/esm/models/ICalToken.js +10 -0
  141. package/dist/esm/models/ICalToken.js.map +1 -0
  142. package/dist/esm/models/OAuthConnection.js +1 -1
  143. package/dist/esm/models/OAuthConnection.js.map +1 -1
  144. package/dist/esm/models/RoleSyncEvent.js +5 -5
  145. package/dist/esm/models/RoleSyncEvent.js.map +1 -1
  146. package/dist/esm/models/TeamInvite.js +1 -1
  147. package/dist/esm/models/TeamInvite.js.map +1 -1
  148. package/dist/esm/models/TeamMember.js +1 -1
  149. package/dist/esm/models/TeamMember.js.map +1 -1
  150. package/dist/esm/models/TrainingType.js +1 -1
  151. package/dist/esm/models/TrainingType.js.map +1 -1
  152. package/dist/esm/models/User.js +5 -4
  153. package/dist/esm/models/User.js.map +1 -1
  154. package/dist/esm/rpc/event/EventRpcEvents.js +13 -12
  155. package/dist/esm/rpc/event/EventRpcEvents.js.map +1 -1
  156. package/dist/esm/rpc/event/EventRpcGroup.js +16 -8
  157. package/dist/esm/rpc/event/EventRpcGroup.js.map +1 -1
  158. package/dist/esm/rpc/event/EventRpcModels.js +34 -15
  159. package/dist/esm/rpc/event/EventRpcModels.js.map +1 -1
  160. package/dist/esm/rpc/guild/GuildRpcGroup.js +3 -3
  161. package/dist/esm/rpc/guild/GuildRpcGroup.js.map +1 -1
  162. package/package.json +2 -2
  163. package/src/api/AgeThresholdApi.ts +7 -0
  164. package/src/api/Auth.ts +8 -7
  165. package/src/api/EventApi.ts +27 -23
  166. package/src/api/EventRsvpApi.ts +8 -8
  167. package/src/api/EventSeriesApi.ts +28 -24
  168. package/src/api/GroupApi.ts +21 -13
  169. package/src/api/ICalApi.ts +32 -0
  170. package/src/api/RoleApi.ts +10 -2
  171. package/src/api/Roster.ts +10 -10
  172. package/src/api/TeamSettingsApi.ts +13 -12
  173. package/src/api/TrainingTypeApi.ts +16 -7
  174. package/src/index.ts +4 -0
  175. package/src/models/AgeThresholdRule.ts +2 -2
  176. package/src/models/ChannelSyncEvent.ts +5 -5
  177. package/src/models/Event.ts +5 -5
  178. package/src/models/EventRsvp.ts +1 -1
  179. package/src/models/EventSeries.ts +5 -5
  180. package/src/models/GroupModel.ts +2 -2
  181. package/src/models/ICalToken.ts +10 -0
  182. package/src/models/OAuthConnection.ts +1 -1
  183. package/src/models/RoleSyncEvent.ts +5 -5
  184. package/src/models/TeamInvite.ts +1 -1
  185. package/src/models/TeamMember.ts +1 -1
  186. package/src/models/TrainingType.ts +1 -1
  187. package/src/models/User.ts +5 -4
  188. package/src/rpc/event/EventRpcEvents.ts +13 -12
  189. package/src/rpc/event/EventRpcGroup.ts +18 -7
  190. package/src/rpc/event/EventRpcModels.ts +39 -15
  191. package/src/rpc/guild/GuildRpcGroup.ts +3 -3
@@ -10,6 +10,8 @@ import {
10
10
  CreateEventResult,
11
11
  EventDiscordMessage,
12
12
  EventEmbedInfo,
13
+ GuildEventListResult,
14
+ GuildNotFound,
13
15
  RsvpAttendeesResult,
14
16
  RsvpCountsResult,
15
17
  RsvpDeadlinePassed,
@@ -32,8 +34,8 @@ export const EventRpcGroup = RpcGroup.make(
32
34
  Rpc.make('SaveDiscordMessageId', {
33
35
  payload: {
34
36
  event_id: Event.EventId,
35
- discord_channel_id: Schema.String,
36
- discord_message_id: Schema.String,
37
+ discord_channel_id: Discord.Snowflake,
38
+ discord_message_id: Discord.Snowflake,
37
39
  },
38
40
  }),
39
41
  Rpc.make('GetDiscordMessageId', {
@@ -46,7 +48,7 @@ export const EventRpcGroup = RpcGroup.make(
46
48
  team_id: Team.TeamId,
47
49
  discord_user_id: Discord.Snowflake,
48
50
  response: EventRsvp.RsvpResponse,
49
- message: Schema.NullOr(Schema.String),
51
+ message: Schema.OptionFromNullOr(Schema.String),
50
52
  },
51
53
  success: RsvpCountsResult,
52
54
  error: Schema.Union(RsvpMemberNotFound, RsvpDeadlinePassed, RsvpEventNotFound),
@@ -60,7 +62,7 @@ export const EventRpcGroup = RpcGroup.make(
60
62
  success: Schema.OptionFromNullOr(EventEmbedInfo),
61
63
  }),
62
64
  Rpc.make('GetChannelEvents', {
63
- payload: { discord_channel_id: Schema.String },
65
+ payload: { discord_channel_id: Discord.Snowflake },
64
66
  success: Schema.Array(ChannelEventEntry),
65
67
  }),
66
68
  Rpc.make('GetRsvpAttendees', {
@@ -71,6 +73,15 @@ export const EventRpcGroup = RpcGroup.make(
71
73
  payload: { event_id: Event.EventId },
72
74
  success: RsvpReminderSummary,
73
75
  }),
76
+ Rpc.make('GetUpcomingGuildEvents', {
77
+ payload: {
78
+ guild_id: Discord.Snowflake,
79
+ offset: Schema.Number,
80
+ limit: Schema.Number,
81
+ },
82
+ success: GuildEventListResult,
83
+ error: GuildNotFound,
84
+ }),
74
85
  Rpc.make('CreateEvent', {
75
86
  payload: {
76
87
  guild_id: Discord.Snowflake,
@@ -78,9 +89,9 @@ export const EventRpcGroup = RpcGroup.make(
78
89
  event_type: Event.EventType,
79
90
  title: Schema.String,
80
91
  start_at: Schema.String,
81
- end_at: Schema.NullOr(Schema.String),
82
- location: Schema.NullOr(Schema.String),
83
- description: Schema.NullOr(Schema.String),
92
+ end_at: Schema.OptionFromNullOr(Schema.String),
93
+ location: Schema.OptionFromNullOr(Schema.String),
94
+ description: Schema.OptionFromNullOr(Schema.String),
84
95
  },
85
96
  success: CreateEventResult,
86
97
  error: Schema.Union(CreateEventNotMember, CreateEventForbidden, CreateEventInvalidDate),
@@ -1,8 +1,10 @@
1
+ import * as Schemas from '@sideline/effect-lib/Schemas';
1
2
  import { Schema } from 'effect';
3
+ import { Snowflake } from '~/models/Discord.js';
2
4
 
3
5
  export class EventDiscordMessage extends Schema.Class<EventDiscordMessage>('EventDiscordMessage')({
4
- discord_channel_id: Schema.String,
5
- discord_message_id: Schema.String,
6
+ discord_channel_id: Snowflake,
7
+ discord_message_id: Snowflake,
6
8
  }) {}
7
9
 
8
10
  export class RsvpCountsResult extends Schema.Class<RsvpCountsResult>('RsvpCountsResult')({
@@ -15,8 +17,8 @@ export class RsvpCountsResult extends Schema.Class<RsvpCountsResult>('RsvpCounts
15
17
  export class EventEmbedInfo extends Schema.Class<EventEmbedInfo>('EventEmbedInfo')({
16
18
  title: Schema.String,
17
19
  description: Schema.OptionFromNullOr(Schema.String),
18
- start_at: Schema.String,
19
- end_at: Schema.OptionFromNullOr(Schema.String),
20
+ start_at: Schemas.DateTimeFromIsoString,
21
+ end_at: Schema.OptionFromNullOr(Schemas.DateTimeFromIsoString),
20
22
  location: Schema.OptionFromNullOr(Schema.String),
21
23
  event_type: Schema.String,
22
24
  }) {}
@@ -25,13 +27,13 @@ export class ChannelEventEntry extends Schema.Class<ChannelEventEntry>('ChannelE
25
27
  event_id: Schema.String,
26
28
  team_id: Schema.String,
27
29
  title: Schema.String,
28
- description: Schema.NullOr(Schema.String),
29
- start_at: Schema.String,
30
- end_at: Schema.NullOr(Schema.String),
31
- location: Schema.NullOr(Schema.String),
30
+ description: Schema.OptionFromNullOr(Schema.String),
31
+ start_at: Schemas.DateTimeFromIsoString,
32
+ end_at: Schema.OptionFromNullOr(Schemas.DateTimeFromIsoString),
33
+ location: Schema.OptionFromNullOr(Schema.String),
32
34
  event_type: Schema.String,
33
35
  status: Schema.String,
34
- discord_message_id: Schema.String,
36
+ discord_message_id: Snowflake,
35
37
  }) {}
36
38
 
37
39
  export class RsvpMemberNotFound extends Schema.TaggedError<RsvpMemberNotFound>()(
@@ -69,11 +71,33 @@ export class CreateEventResult extends Schema.Class<CreateEventResult>('CreateEv
69
71
  title: Schema.String,
70
72
  }) {}
71
73
 
74
+ export class GuildEventListEntry extends Schema.Class<GuildEventListEntry>('GuildEventListEntry')({
75
+ event_id: Schema.String,
76
+ title: Schema.String,
77
+ start_at: Schemas.DateTimeFromIsoString,
78
+ end_at: Schema.OptionFromNullOr(Schemas.DateTimeFromIsoString),
79
+ location: Schema.OptionFromNullOr(Schema.String),
80
+ event_type: Schema.String,
81
+ yes_count: Schema.Number,
82
+ no_count: Schema.Number,
83
+ maybe_count: Schema.Number,
84
+ }) {}
85
+
86
+ export class GuildEventListResult extends Schema.Class<GuildEventListResult>(
87
+ 'GuildEventListResult',
88
+ )({
89
+ events: Schema.Array(GuildEventListEntry),
90
+ total: Schema.Number,
91
+ team_id: Schema.String,
92
+ }) {}
93
+
94
+ export class GuildNotFound extends Schema.TaggedError<GuildNotFound>()('GuildNotFound', {}) {}
95
+
72
96
  export class RsvpAttendeeEntry extends Schema.Class<RsvpAttendeeEntry>('RsvpAttendeeEntry')({
73
- discord_id: Schema.NullOr(Schema.String),
74
- name: Schema.NullOr(Schema.String),
97
+ discord_id: Schema.OptionFromNullOr(Snowflake),
98
+ name: Schema.OptionFromNullOr(Schema.String),
75
99
  response: Schema.Literal('yes', 'no', 'maybe'),
76
- message: Schema.NullOr(Schema.String),
100
+ message: Schema.OptionFromNullOr(Schema.String),
77
101
  }) {}
78
102
 
79
103
  export class RsvpAttendeesResult extends Schema.Class<RsvpAttendeesResult>('RsvpAttendeesResult')({
@@ -84,9 +108,9 @@ export class RsvpAttendeesResult extends Schema.Class<RsvpAttendeesResult>('Rsvp
84
108
  export class NonResponderRpcEntry extends Schema.Class<NonResponderRpcEntry>(
85
109
  'NonResponderRpcEntry',
86
110
  )({
87
- discord_id: Schema.NullOr(Schema.String),
88
- name: Schema.NullOr(Schema.String),
89
- username: Schema.NullOr(Schema.String),
111
+ discord_id: Schema.OptionFromNullOr(Snowflake),
112
+ name: Schema.OptionFromNullOr(Schema.String),
113
+ username: Schema.OptionFromNullOr(Schema.String),
90
114
  }) {}
91
115
 
92
116
  export class RsvpReminderSummary extends Schema.Class<RsvpReminderSummary>('RsvpReminderSummary')({
@@ -21,7 +21,7 @@ export const GuildRpcGroup = RpcGroup.make(
21
21
  channel_id: Discord.Snowflake,
22
22
  name: Schema.String,
23
23
  type: Schema.Number,
24
- parent_id: Schema.NullOr(Discord.Snowflake),
24
+ parent_id: Schema.OptionFromNullOr(Discord.Snowflake),
25
25
  }),
26
26
  ),
27
27
  },
@@ -33,7 +33,7 @@ export const GuildRpcGroup = RpcGroup.make(
33
33
  Schema.Struct({
34
34
  discord_id: Schema.String,
35
35
  username: Schema.String,
36
- avatar: Schema.NullOr(Schema.String),
36
+ avatar: Schema.OptionFromNullOr(Schema.String),
37
37
  roles: Schema.Array(Schema.String),
38
38
  }),
39
39
  ),
@@ -44,7 +44,7 @@ export const GuildRpcGroup = RpcGroup.make(
44
44
  guild_id: Discord.Snowflake,
45
45
  discord_id: Schema.String,
46
46
  username: Schema.String,
47
- avatar: Schema.NullOr(Schema.String),
47
+ avatar: Schema.OptionFromNullOr(Schema.String),
48
48
  roles: Schema.Array(Schema.String),
49
49
  },
50
50
  }),