@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubgroupApi.d.ts","sourceRoot":"","sources":["../../../src/api/SubgroupApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;AAM/C,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAYlC;CAAG;;;;;;;;AAEL,qBAAa,qBAAsB,SAAQ,0BAIzC;CAAG;;;;;;;;AAEL,qBAAa,qBAAsB,SAAQ,0BAIzC;CAAG;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;;;;;;;;AAEL,qBAAa,6BAA8B,SAAQ,kCAIjD;CAAG;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAIrC;CAAG;;;;AAEJ,qBAAa,SAAU,SAAQ,cAI9B;CAAG;;;;AAEJ,qBAAa,cAAe,SAAQ,mBAInC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;AAEJ,qBAAa,gBAAiB,SAAQ,qBA0EnC;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubgroupModel.d.ts","sourceRoot":"","sources":["../../../src/models/SubgroupModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,eAAO,MAAM,UAAU,kDAAiD,CAAC;AACzE,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,qBAAa,QAAS,SAAQ,aAK5B;CAAG"}
@@ -1,82 +0,0 @@
1
- import { Rpc, RpcGroup } from '@effect/rpc';
2
- import { Schema } from 'effect';
3
- declare const UnprocessedEvent_base: Schema.Class<UnprocessedEvent, {
4
- id: typeof Schema.String;
5
- team_id: typeof Schema.String;
6
- guild_id: typeof Schema.String;
7
- event_type: Schema.Literal<["role_assigned", "role_unassigned", "role_created", "role_deleted"]>;
8
- role_id: typeof Schema.String;
9
- role_name: Schema.NullOr<typeof Schema.String>;
10
- team_member_id: Schema.NullOr<typeof Schema.String>;
11
- discord_user_id: Schema.NullOr<typeof Schema.String>;
12
- }, Schema.Struct.Encoded<{
13
- id: typeof Schema.String;
14
- team_id: typeof Schema.String;
15
- guild_id: typeof Schema.String;
16
- event_type: Schema.Literal<["role_assigned", "role_unassigned", "role_created", "role_deleted"]>;
17
- role_id: typeof Schema.String;
18
- role_name: Schema.NullOr<typeof Schema.String>;
19
- team_member_id: Schema.NullOr<typeof Schema.String>;
20
- discord_user_id: Schema.NullOr<typeof Schema.String>;
21
- }>, never, {
22
- readonly id: string;
23
- } & {
24
- readonly team_id: string;
25
- } & {
26
- readonly role_id: string;
27
- } & {
28
- readonly team_member_id: string | null;
29
- } & {
30
- readonly role_name: string | null;
31
- } & {
32
- readonly discord_user_id: string | null;
33
- } & {
34
- readonly guild_id: string;
35
- } & {
36
- readonly event_type: "role_assigned" | "role_unassigned" | "role_created" | "role_deleted";
37
- }, {}, {}>;
38
- export declare class UnprocessedEvent extends UnprocessedEvent_base {
39
- }
40
- declare const RoleMapping_base: Schema.Class<RoleMapping, {
41
- id: typeof Schema.String;
42
- team_id: typeof Schema.String;
43
- role_id: typeof Schema.String;
44
- discord_role_id: typeof Schema.String;
45
- }, Schema.Struct.Encoded<{
46
- id: typeof Schema.String;
47
- team_id: typeof Schema.String;
48
- role_id: typeof Schema.String;
49
- discord_role_id: typeof Schema.String;
50
- }>, never, {
51
- readonly id: string;
52
- } & {
53
- readonly team_id: string;
54
- } & {
55
- readonly role_id: string;
56
- } & {
57
- readonly discord_role_id: string;
58
- }, {}, {}>;
59
- export declare class RoleMapping extends RoleMapping_base {
60
- }
61
- declare const RoleSyncRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"GetUnprocessedEvents", Schema.Struct<{
62
- limit: typeof Schema.Number;
63
- }>, Schema.Array$<typeof UnprocessedEvent>, typeof Schema.Never, never> | Rpc.Rpc<"MarkEventProcessed", Schema.Struct<{
64
- id: typeof Schema.String;
65
- }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"MarkEventFailed", Schema.Struct<{
66
- id: typeof Schema.String;
67
- error: typeof Schema.String;
68
- }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"GetMappingForRole", Schema.Struct<{
69
- team_id: typeof Schema.String;
70
- role_id: typeof Schema.String;
71
- }>, Schema.NullOr<typeof RoleMapping>, typeof Schema.Never, never> | Rpc.Rpc<"UpsertMapping", Schema.Struct<{
72
- team_id: typeof Schema.String;
73
- role_id: typeof Schema.String;
74
- discord_role_id: typeof Schema.String;
75
- }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"DeleteMapping", Schema.Struct<{
76
- team_id: typeof Schema.String;
77
- role_id: typeof Schema.String;
78
- }>, typeof Schema.Void, typeof Schema.Never, never>>;
79
- export declare class RoleSyncRpcs extends RoleSyncRpcs_base {
80
- }
81
- export {};
82
- //# sourceMappingURL=RoleSyncRpc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoleSyncRpc.d.ts","sourceRoot":"","sources":["../../../src/rpc/RoleSyncRpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhC,qBAAa,gBAAiB,SAAQ,qBASpC;CAAG;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAK/B;CAAG;;;;;;;;;;;;;;;;;;;AAgCL,qBAAa,YAAa,SAAQ,iBAOjC;CAAG"}
@@ -1,106 +0,0 @@
1
- import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
2
- import { Schema } from 'effect';
3
- import { AuthMiddleware } from '../api/Auth.js';
4
- import { Permission } from '../models/Role.js';
5
- import { SubgroupId } from '../models/SubgroupModel.js';
6
- import { TeamId } from '../models/Team.js';
7
- import { TeamMemberId } from '../models/TeamMember.js';
8
- export class SubgroupInfo extends /*#__PURE__*/Schema.Class('SubgroupInfo')({
9
- subgroupId: SubgroupId,
10
- teamId: TeamId,
11
- name: Schema.String,
12
- memberCount: Schema.Number
13
- }) {}
14
- export class SubgroupDetail extends /*#__PURE__*/Schema.Class('SubgroupDetail')({
15
- subgroupId: SubgroupId,
16
- teamId: TeamId,
17
- name: Schema.String,
18
- permissions: /*#__PURE__*/Schema.Array(Permission),
19
- members: /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.Struct({
20
- memberId: TeamMemberId,
21
- name: /*#__PURE__*/Schema.NullOr(Schema.String),
22
- discordUsername: Schema.String
23
- }))
24
- }) {}
25
- export class CreateSubgroupRequest extends /*#__PURE__*/Schema.Class('CreateSubgroupRequest')({
26
- name: Schema.NonEmptyString
27
- }) {}
28
- export class UpdateSubgroupRequest extends /*#__PURE__*/Schema.Class('UpdateSubgroupRequest')({
29
- name: Schema.NonEmptyString
30
- }) {}
31
- export class AddSubgroupMemberRequest extends /*#__PURE__*/Schema.Class('AddSubgroupMemberRequest')({
32
- memberId: TeamMemberId
33
- }) {}
34
- export class SetSubgroupPermissionsRequest extends /*#__PURE__*/Schema.Class('SetSubgroupPermissionsRequest')({
35
- permissions: /*#__PURE__*/Schema.Array(Permission)
36
- }) {}
37
- export class SubgroupNotFound extends /*#__PURE__*/Schema.TaggedError()('SubgroupNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
38
- status: 404
39
- })) {}
40
- export class Forbidden extends /*#__PURE__*/Schema.TaggedError()('SubgroupForbidden', {}, /*#__PURE__*/HttpApiSchema.annotations({
41
- status: 403
42
- })) {}
43
- export class MemberNotFound extends /*#__PURE__*/Schema.TaggedError()('SubgroupMemberNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
44
- status: 404
45
- })) {}
46
- export class SubgroupApiGroup extends /*#__PURE__*/HttpApiGroup.make('subgroup').add(HttpApiEndpoint.get('listSubgroups', '/teams/:teamId/subgroups').addSuccess(Schema.Array(SubgroupInfo)).addError(Forbidden, {
47
- status: 403
48
- }).setPath(Schema.Struct({
49
- teamId: TeamId
50
- })).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('createSubgroup', '/teams/:teamId/subgroups').addSuccess(SubgroupInfo, {
51
- status: 201
52
- }).addError(Forbidden, {
53
- status: 403
54
- }).setPath(Schema.Struct({
55
- teamId: TeamId
56
- })).setPayload(CreateSubgroupRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.get('getSubgroup', '/teams/:teamId/subgroups/:subgroupId').addSuccess(SubgroupDetail).addError(Forbidden, {
57
- status: 403
58
- }).addError(SubgroupNotFound, {
59
- status: 404
60
- }).setPath(Schema.Struct({
61
- teamId: TeamId,
62
- subgroupId: SubgroupId
63
- })).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('updateSubgroup', '/teams/:teamId/subgroups/:subgroupId').addSuccess(SubgroupInfo).addError(Forbidden, {
64
- status: 403
65
- }).addError(SubgroupNotFound, {
66
- status: 404
67
- }).setPath(Schema.Struct({
68
- teamId: TeamId,
69
- subgroupId: SubgroupId
70
- })).setPayload(UpdateSubgroupRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.del('deleteSubgroup', '/teams/:teamId/subgroups/:subgroupId').addSuccess(Schema.Void).addError(Forbidden, {
71
- status: 403
72
- }).addError(SubgroupNotFound, {
73
- status: 404
74
- }).setPath(Schema.Struct({
75
- teamId: TeamId,
76
- subgroupId: SubgroupId
77
- })).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('addSubgroupMember', '/teams/:teamId/subgroups/:subgroupId/members').addSuccess(Schema.Void, {
78
- status: 204
79
- }).addError(Forbidden, {
80
- status: 403
81
- }).addError(SubgroupNotFound, {
82
- status: 404
83
- }).addError(MemberNotFound, {
84
- status: 404
85
- }).setPath(Schema.Struct({
86
- teamId: TeamId,
87
- subgroupId: SubgroupId
88
- })).setPayload(AddSubgroupMemberRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.del('removeSubgroupMember', '/teams/:teamId/subgroups/:subgroupId/members/:memberId').addSuccess(Schema.Void).addError(Forbidden, {
89
- status: 403
90
- }).addError(SubgroupNotFound, {
91
- status: 404
92
- }).addError(MemberNotFound, {
93
- status: 404
94
- }).setPath(Schema.Struct({
95
- teamId: TeamId,
96
- subgroupId: SubgroupId,
97
- memberId: TeamMemberId
98
- })).middleware(AuthMiddleware)).add(/*#__PURE__*/HttpApiEndpoint.patch('setSubgroupPermissions', '/teams/:teamId/subgroups/:subgroupId/permissions').addSuccess(SubgroupDetail).addError(Forbidden, {
99
- status: 403
100
- }).addError(SubgroupNotFound, {
101
- status: 404
102
- }).setPath(Schema.Struct({
103
- teamId: TeamId,
104
- subgroupId: SubgroupId
105
- })).setPayload(SetSubgroupPermissionsRequest).middleware(AuthMiddleware)) {}
106
- //# sourceMappingURL=SubgroupApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubgroupApi.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiSchema","Schema","AuthMiddleware","Permission","SubgroupId","TeamId","TeamMemberId","SubgroupInfo","Class","subgroupId","teamId","name","String","memberCount","Number","SubgroupDetail","permissions","Array","members","Struct","memberId","NullOr","discordUsername","CreateSubgroupRequest","NonEmptyString","UpdateSubgroupRequest","AddSubgroupMemberRequest","SetSubgroupPermissionsRequest","SubgroupNotFound","TaggedError","annotations","status","Forbidden","MemberNotFound","SubgroupApiGroup","make","add","get","addSuccess","addError","setPath","middleware","post","setPayload","patch","del","Void"],"sources":["../../../src/api/SubgroupApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- import { Model } from '@effect/sql';
2
- import { Schema } from 'effect';
3
- import { TeamId } from '../models/Team.js';
4
- export const SubgroupId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('SubgroupId'));
5
- export class Subgroup extends /*#__PURE__*/Model.Class('Subgroup')({
6
- id: /*#__PURE__*/Model.Generated(SubgroupId),
7
- team_id: TeamId,
8
- name: Schema.String,
9
- created_at: Model.DateTimeInsertFromDate
10
- }) {}
11
- //# sourceMappingURL=SubgroupModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubgroupModel.js","names":["Model","Schema","TeamId","SubgroupId","String","pipe","brand","Subgroup","Class","id","Generated","team_id","name","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/SubgroupModel.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,UAAU,gBAAGF,MAAM,CAACG,MAAM,CAACC,IAAI,cAACJ,MAAM,CAACK,KAAK,CAAC,YAAY,CAAC,CAAC;AAGxE,OAAM,MAAOC,QAAS,sBAAQP,KAAK,CAACQ,KAAK,CAAW,UAAU,CAAC,CAAC;EAC9DC,EAAE,eAAET,KAAK,CAACU,SAAS,CAACP,UAAU,CAAC;EAC/BQ,OAAO,EAAET,MAAM;EACfU,IAAI,EAAEX,MAAM,CAACG,MAAM;EACnBS,UAAU,EAAEb,KAAK,CAACc;CACnB,CAAC","ignoreList":[]}
@@ -1,57 +0,0 @@
1
- import { Rpc, RpcGroup } from '@effect/rpc';
2
- import { Schema } from 'effect';
3
- export class UnprocessedEvent extends /*#__PURE__*/Schema.Class('UnprocessedEvent')({
4
- id: Schema.String,
5
- team_id: Schema.String,
6
- guild_id: Schema.String,
7
- event_type: /*#__PURE__*/Schema.Literal('role_assigned', 'role_unassigned', 'role_created', 'role_deleted'),
8
- role_id: Schema.String,
9
- role_name: /*#__PURE__*/Schema.NullOr(Schema.String),
10
- team_member_id: /*#__PURE__*/Schema.NullOr(Schema.String),
11
- discord_user_id: /*#__PURE__*/Schema.NullOr(Schema.String)
12
- }) {}
13
- export class RoleMapping extends /*#__PURE__*/Schema.Class('RoleMapping')({
14
- id: Schema.String,
15
- team_id: Schema.String,
16
- role_id: Schema.String,
17
- discord_role_id: Schema.String
18
- }) {}
19
- const GetUnprocessedEvents = /*#__PURE__*/Rpc.make('GetUnprocessedEvents', {
20
- payload: {
21
- limit: Schema.Number
22
- },
23
- success: /*#__PURE__*/Schema.Array(UnprocessedEvent)
24
- });
25
- const MarkEventProcessed = /*#__PURE__*/Rpc.make('MarkEventProcessed', {
26
- payload: {
27
- id: Schema.String
28
- }
29
- });
30
- const MarkEventFailed = /*#__PURE__*/Rpc.make('MarkEventFailed', {
31
- payload: {
32
- id: Schema.String,
33
- error: Schema.String
34
- }
35
- });
36
- const GetMappingForRole = /*#__PURE__*/Rpc.make('GetMappingForRole', {
37
- payload: {
38
- team_id: Schema.String,
39
- role_id: Schema.String
40
- },
41
- success: /*#__PURE__*/Schema.NullOr(RoleMapping)
42
- });
43
- const UpsertMapping = /*#__PURE__*/Rpc.make('UpsertMapping', {
44
- payload: {
45
- team_id: Schema.String,
46
- role_id: Schema.String,
47
- discord_role_id: Schema.String
48
- }
49
- });
50
- const DeleteMapping = /*#__PURE__*/Rpc.make('DeleteMapping', {
51
- payload: {
52
- team_id: Schema.String,
53
- role_id: Schema.String
54
- }
55
- });
56
- export class RoleSyncRpcs extends /*#__PURE__*/RpcGroup.make(GetUnprocessedEvents, MarkEventProcessed, MarkEventFailed, GetMappingForRole, UpsertMapping, DeleteMapping) {}
57
- //# sourceMappingURL=RoleSyncRpc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoleSyncRpc.js","names":["Rpc","RpcGroup","Schema","UnprocessedEvent","Class","id","String","team_id","guild_id","event_type","Literal","role_id","role_name","NullOr","team_member_id","discord_user_id","RoleMapping","discord_role_id","GetUnprocessedEvents","make","payload","limit","Number","success","Array","MarkEventProcessed","MarkEventFailed","error","GetMappingForRole","UpsertMapping","DeleteMapping","RoleSyncRpcs"],"sources":["../../../src/rpc/RoleSyncRpc.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,aAAa;AAC3C,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAM,MAAOC,gBAAiB,sBAAQD,MAAM,CAACE,KAAK,CAAmB,kBAAkB,CAAC,CAAC;EACvFC,EAAE,EAAEH,MAAM,CAACI,MAAM;EACjBC,OAAO,EAAEL,MAAM,CAACI,MAAM;EACtBE,QAAQ,EAAEN,MAAM,CAACI,MAAM;EACvBG,UAAU,eAAEP,MAAM,CAACQ,OAAO,CAAC,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,CAAC;EAC9FC,OAAO,EAAET,MAAM,CAACI,MAAM;EACtBM,SAAS,eAAEV,MAAM,CAACW,MAAM,CAACX,MAAM,CAACI,MAAM,CAAC;EACvCQ,cAAc,eAAEZ,MAAM,CAACW,MAAM,CAACX,MAAM,CAACI,MAAM,CAAC;EAC5CS,eAAe,eAAEb,MAAM,CAACW,MAAM,CAACX,MAAM,CAACI,MAAM;CAC7C,CAAC;AAEF,OAAM,MAAOU,WAAY,sBAAQd,MAAM,CAACE,KAAK,CAAc,aAAa,CAAC,CAAC;EACxEC,EAAE,EAAEH,MAAM,CAACI,MAAM;EACjBC,OAAO,EAAEL,MAAM,CAACI,MAAM;EACtBK,OAAO,EAAET,MAAM,CAACI,MAAM;EACtBW,eAAe,EAAEf,MAAM,CAACI;CACzB,CAAC;AAEF,MAAMY,oBAAoB,gBAAGlB,GAAG,CAACmB,IAAI,CAAC,sBAAsB,EAAE;EAC5DC,OAAO,EAAE;IAAEC,KAAK,EAAEnB,MAAM,CAACoB;EAAM,CAAE;EACjCC,OAAO,eAAErB,MAAM,CAACsB,KAAK,CAACrB,gBAAgB;CACvC,CAAC;AAEF,MAAMsB,kBAAkB,gBAAGzB,GAAG,CAACmB,IAAI,CAAC,oBAAoB,EAAE;EACxDC,OAAO,EAAE;IAAEf,EAAE,EAAEH,MAAM,CAACI;EAAM;CAC7B,CAAC;AAEF,MAAMoB,eAAe,gBAAG1B,GAAG,CAACmB,IAAI,CAAC,iBAAiB,EAAE;EAClDC,OAAO,EAAE;IAAEf,EAAE,EAAEH,MAAM,CAACI,MAAM;IAAEqB,KAAK,EAAEzB,MAAM,CAACI;EAAM;CACnD,CAAC;AAEF,MAAMsB,iBAAiB,gBAAG5B,GAAG,CAACmB,IAAI,CAAC,mBAAmB,EAAE;EACtDC,OAAO,EAAE;IAAEb,OAAO,EAAEL,MAAM,CAACI,MAAM;IAAEK,OAAO,EAAET,MAAM,CAACI;EAAM,CAAE;EAC3DiB,OAAO,eAAErB,MAAM,CAACW,MAAM,CAACG,WAAW;CACnC,CAAC;AAEF,MAAMa,aAAa,gBAAG7B,GAAG,CAACmB,IAAI,CAAC,eAAe,EAAE;EAC9CC,OAAO,EAAE;IACPb,OAAO,EAAEL,MAAM,CAACI,MAAM;IACtBK,OAAO,EAAET,MAAM,CAACI,MAAM;IACtBW,eAAe,EAAEf,MAAM,CAACI;;CAE3B,CAAC;AAEF,MAAMwB,aAAa,gBAAG9B,GAAG,CAACmB,IAAI,CAAC,eAAe,EAAE;EAC9CC,OAAO,EAAE;IAAEb,OAAO,EAAEL,MAAM,CAACI,MAAM;IAAEK,OAAO,EAAET,MAAM,CAACI;EAAM;CAC1D,CAAC;AAEF,OAAM,MAAOyB,YAAa,sBAAQ9B,QAAQ,CAACkB,IAAI,CAC7CD,oBAAoB,EACpBO,kBAAkB,EAClBC,eAAe,EACfE,iBAAiB,EACjBC,aAAa,EACbC,aAAa,CACd","ignoreList":[]}
@@ -1,146 +0,0 @@
1
- import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
2
- import { Schema } from 'effect';
3
- import { AuthMiddleware } from '~/api/Auth.js';
4
- import { Permission } from '~/models/Role.js';
5
- import { SubgroupId } from '~/models/SubgroupModel.js';
6
- import { TeamId } from '~/models/Team.js';
7
- import { TeamMemberId } from '~/models/TeamMember.js';
8
-
9
- export class SubgroupInfo extends Schema.Class<SubgroupInfo>('SubgroupInfo')({
10
- subgroupId: SubgroupId,
11
- teamId: TeamId,
12
- name: Schema.String,
13
- memberCount: Schema.Number,
14
- }) {}
15
-
16
- export class SubgroupDetail extends Schema.Class<SubgroupDetail>('SubgroupDetail')({
17
- subgroupId: SubgroupId,
18
- teamId: TeamId,
19
- name: Schema.String,
20
- permissions: Schema.Array(Permission),
21
- members: Schema.Array(
22
- Schema.Struct({
23
- memberId: TeamMemberId,
24
- name: Schema.NullOr(Schema.String),
25
- discordUsername: Schema.String,
26
- }),
27
- ),
28
- }) {}
29
-
30
- export class CreateSubgroupRequest extends Schema.Class<CreateSubgroupRequest>(
31
- 'CreateSubgroupRequest',
32
- )({
33
- name: Schema.NonEmptyString,
34
- }) {}
35
-
36
- export class UpdateSubgroupRequest extends Schema.Class<UpdateSubgroupRequest>(
37
- 'UpdateSubgroupRequest',
38
- )({
39
- name: Schema.NonEmptyString,
40
- }) {}
41
-
42
- export class AddSubgroupMemberRequest extends Schema.Class<AddSubgroupMemberRequest>(
43
- 'AddSubgroupMemberRequest',
44
- )({
45
- memberId: TeamMemberId,
46
- }) {}
47
-
48
- export class SetSubgroupPermissionsRequest extends Schema.Class<SetSubgroupPermissionsRequest>(
49
- 'SetSubgroupPermissionsRequest',
50
- )({
51
- permissions: Schema.Array(Permission),
52
- }) {}
53
-
54
- export class SubgroupNotFound extends Schema.TaggedError<SubgroupNotFound>()(
55
- 'SubgroupNotFound',
56
- {},
57
- HttpApiSchema.annotations({ status: 404 }),
58
- ) {}
59
-
60
- export class Forbidden extends Schema.TaggedError<Forbidden>()(
61
- 'SubgroupForbidden',
62
- {},
63
- HttpApiSchema.annotations({ status: 403 }),
64
- ) {}
65
-
66
- export class MemberNotFound extends Schema.TaggedError<MemberNotFound>()(
67
- 'SubgroupMemberNotFound',
68
- {},
69
- HttpApiSchema.annotations({ status: 404 }),
70
- ) {}
71
-
72
- export class SubgroupApiGroup extends HttpApiGroup.make('subgroup')
73
- .add(
74
- HttpApiEndpoint.get('listSubgroups', '/teams/:teamId/subgroups')
75
- .addSuccess(Schema.Array(SubgroupInfo))
76
- .addError(Forbidden, { status: 403 })
77
- .setPath(Schema.Struct({ teamId: TeamId }))
78
- .middleware(AuthMiddleware),
79
- )
80
- .add(
81
- HttpApiEndpoint.post('createSubgroup', '/teams/:teamId/subgroups')
82
- .addSuccess(SubgroupInfo, { status: 201 })
83
- .addError(Forbidden, { status: 403 })
84
- .setPath(Schema.Struct({ teamId: TeamId }))
85
- .setPayload(CreateSubgroupRequest)
86
- .middleware(AuthMiddleware),
87
- )
88
- .add(
89
- HttpApiEndpoint.get('getSubgroup', '/teams/:teamId/subgroups/:subgroupId')
90
- .addSuccess(SubgroupDetail)
91
- .addError(Forbidden, { status: 403 })
92
- .addError(SubgroupNotFound, { status: 404 })
93
- .setPath(Schema.Struct({ teamId: TeamId, subgroupId: SubgroupId }))
94
- .middleware(AuthMiddleware),
95
- )
96
- .add(
97
- HttpApiEndpoint.patch('updateSubgroup', '/teams/:teamId/subgroups/:subgroupId')
98
- .addSuccess(SubgroupInfo)
99
- .addError(Forbidden, { status: 403 })
100
- .addError(SubgroupNotFound, { status: 404 })
101
- .setPath(Schema.Struct({ teamId: TeamId, subgroupId: SubgroupId }))
102
- .setPayload(UpdateSubgroupRequest)
103
- .middleware(AuthMiddleware),
104
- )
105
- .add(
106
- HttpApiEndpoint.del('deleteSubgroup', '/teams/:teamId/subgroups/:subgroupId')
107
- .addSuccess(Schema.Void)
108
- .addError(Forbidden, { status: 403 })
109
- .addError(SubgroupNotFound, { status: 404 })
110
- .setPath(Schema.Struct({ teamId: TeamId, subgroupId: SubgroupId }))
111
- .middleware(AuthMiddleware),
112
- )
113
- .add(
114
- HttpApiEndpoint.post('addSubgroupMember', '/teams/:teamId/subgroups/:subgroupId/members')
115
- .addSuccess(Schema.Void, { status: 204 })
116
- .addError(Forbidden, { status: 403 })
117
- .addError(SubgroupNotFound, { status: 404 })
118
- .addError(MemberNotFound, { status: 404 })
119
- .setPath(Schema.Struct({ teamId: TeamId, subgroupId: SubgroupId }))
120
- .setPayload(AddSubgroupMemberRequest)
121
- .middleware(AuthMiddleware),
122
- )
123
- .add(
124
- HttpApiEndpoint.del(
125
- 'removeSubgroupMember',
126
- '/teams/:teamId/subgroups/:subgroupId/members/:memberId',
127
- )
128
- .addSuccess(Schema.Void)
129
- .addError(Forbidden, { status: 403 })
130
- .addError(SubgroupNotFound, { status: 404 })
131
- .addError(MemberNotFound, { status: 404 })
132
- .setPath(Schema.Struct({ teamId: TeamId, subgroupId: SubgroupId, memberId: TeamMemberId }))
133
- .middleware(AuthMiddleware),
134
- )
135
- .add(
136
- HttpApiEndpoint.patch(
137
- 'setSubgroupPermissions',
138
- '/teams/:teamId/subgroups/:subgroupId/permissions',
139
- )
140
- .addSuccess(SubgroupDetail)
141
- .addError(Forbidden, { status: 403 })
142
- .addError(SubgroupNotFound, { status: 404 })
143
- .setPath(Schema.Struct({ teamId: TeamId, subgroupId: SubgroupId }))
144
- .setPayload(SetSubgroupPermissionsRequest)
145
- .middleware(AuthMiddleware),
146
- ) {}
@@ -1,13 +0,0 @@
1
- import { Model } from '@effect/sql';
2
- import { Schema } from 'effect';
3
- import { TeamId } from '~/models/Team.js';
4
-
5
- export const SubgroupId = Schema.String.pipe(Schema.brand('SubgroupId'));
6
- export type SubgroupId = typeof SubgroupId.Type;
7
-
8
- export class Subgroup extends Model.Class<Subgroup>('Subgroup')({
9
- id: Model.Generated(SubgroupId),
10
- team_id: TeamId,
11
- name: Schema.String,
12
- created_at: Model.DateTimeInsertFromDate,
13
- }) {}
@@ -1,59 +0,0 @@
1
- import { Rpc, RpcGroup } from '@effect/rpc';
2
- import { Schema } from 'effect';
3
-
4
- export class UnprocessedEvent extends Schema.Class<UnprocessedEvent>('UnprocessedEvent')({
5
- id: Schema.String,
6
- team_id: Schema.String,
7
- guild_id: Schema.String,
8
- event_type: Schema.Literal('role_assigned', 'role_unassigned', 'role_created', 'role_deleted'),
9
- role_id: Schema.String,
10
- role_name: Schema.NullOr(Schema.String),
11
- team_member_id: Schema.NullOr(Schema.String),
12
- discord_user_id: Schema.NullOr(Schema.String),
13
- }) {}
14
-
15
- export class RoleMapping extends Schema.Class<RoleMapping>('RoleMapping')({
16
- id: Schema.String,
17
- team_id: Schema.String,
18
- role_id: Schema.String,
19
- discord_role_id: Schema.String,
20
- }) {}
21
-
22
- const GetUnprocessedEvents = Rpc.make('GetUnprocessedEvents', {
23
- payload: { limit: Schema.Number },
24
- success: Schema.Array(UnprocessedEvent),
25
- });
26
-
27
- const MarkEventProcessed = Rpc.make('MarkEventProcessed', {
28
- payload: { id: Schema.String },
29
- });
30
-
31
- const MarkEventFailed = Rpc.make('MarkEventFailed', {
32
- payload: { id: Schema.String, error: Schema.String },
33
- });
34
-
35
- const GetMappingForRole = Rpc.make('GetMappingForRole', {
36
- payload: { team_id: Schema.String, role_id: Schema.String },
37
- success: Schema.NullOr(RoleMapping),
38
- });
39
-
40
- const UpsertMapping = Rpc.make('UpsertMapping', {
41
- payload: {
42
- team_id: Schema.String,
43
- role_id: Schema.String,
44
- discord_role_id: Schema.String,
45
- },
46
- });
47
-
48
- const DeleteMapping = Rpc.make('DeleteMapping', {
49
- payload: { team_id: Schema.String, role_id: Schema.String },
50
- });
51
-
52
- export class RoleSyncRpcs extends RpcGroup.make(
53
- GetUnprocessedEvents,
54
- MarkEventProcessed,
55
- MarkEventFailed,
56
- GetMappingForRole,
57
- UpsertMapping,
58
- DeleteMapping,
59
- ) {}