@sideline/domain 0.4.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 (150) 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 +14 -2
  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/TrainingTypeApi.js +9 -40
  10. package/dist/cjs/api/TrainingTypeApi.js.map +1 -1
  11. package/dist/cjs/index.js +9 -5
  12. package/dist/cjs/models/AgeThresholdRule.js +2 -2
  13. package/dist/cjs/models/AgeThresholdRule.js.map +1 -1
  14. package/dist/cjs/models/ChannelSyncEvent.js +3 -3
  15. package/dist/cjs/models/ChannelSyncEvent.js.map +1 -1
  16. package/dist/cjs/models/DiscordChannelMapping.js +2 -2
  17. package/dist/cjs/models/DiscordChannelMapping.js.map +1 -1
  18. package/dist/cjs/models/GroupModel.js +20 -0
  19. package/dist/cjs/models/GroupModel.js.map +1 -0
  20. package/dist/cjs/models/Notification.js +1 -1
  21. package/dist/cjs/models/Notification.js.map +1 -1
  22. package/dist/cjs/models/Role.js +2 -2
  23. package/dist/cjs/models/Role.js.map +1 -1
  24. package/dist/cjs/models/RoleGroup.js +15 -0
  25. package/dist/cjs/models/RoleGroup.js.map +1 -0
  26. package/dist/cjs/models/Team.js +2 -0
  27. package/dist/cjs/models/Team.js.map +1 -1
  28. package/dist/cjs/models/TrainingType.js +2 -0
  29. package/dist/cjs/models/TrainingType.js.map +1 -1
  30. package/dist/cjs/rpc/SyncRpcs.js +2 -1
  31. package/dist/cjs/rpc/SyncRpcs.js.map +1 -1
  32. package/dist/cjs/rpc/channel/ChannelRpcEvents.js +6 -6
  33. package/dist/cjs/rpc/channel/ChannelRpcEvents.js.map +1 -1
  34. package/dist/cjs/rpc/channel/ChannelRpcGroup.js +3 -3
  35. package/dist/cjs/rpc/channel/ChannelRpcGroup.js.map +1 -1
  36. package/dist/cjs/rpc/channel/ChannelRpcModels.js +1 -1
  37. package/dist/cjs/rpc/channel/ChannelRpcModels.js.map +1 -1
  38. package/dist/cjs/rpc/guild/GuildRpcGroup.js +35 -0
  39. package/dist/cjs/rpc/guild/GuildRpcGroup.js.map +1 -0
  40. package/dist/dts/api/AgeThresholdApi.d.ts +25 -25
  41. package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -1
  42. package/dist/dts/api/Auth.d.ts +33 -4
  43. package/dist/dts/api/Auth.d.ts.map +1 -1
  44. package/dist/dts/api/GroupApi.d.ts +254 -0
  45. package/dist/dts/api/GroupApi.d.ts.map +1 -0
  46. package/dist/dts/api/NotificationApi.d.ts +9 -5
  47. package/dist/dts/api/NotificationApi.d.ts.map +1 -1
  48. package/dist/dts/api/RoleApi.d.ts +10 -10
  49. package/dist/dts/api/Roster.d.ts +5 -5
  50. package/dist/dts/api/TrainingTypeApi.d.ts +17 -42
  51. package/dist/dts/api/TrainingTypeApi.d.ts.map +1 -1
  52. package/dist/dts/index.d.ts +4 -2
  53. package/dist/dts/index.d.ts.map +1 -1
  54. package/dist/dts/models/AgeThresholdRule.d.ts +13 -13
  55. package/dist/dts/models/ChannelSyncEvent.d.ts +28 -28
  56. package/dist/dts/models/DiscordChannelMapping.d.ts +11 -11
  57. package/dist/dts/models/{SubgroupModel.d.ts → GroupModel.d.ts} +39 -13
  58. package/dist/dts/models/GroupModel.d.ts.map +1 -0
  59. package/dist/dts/models/Notification.d.ts +12 -12
  60. package/dist/dts/models/Notification.d.ts.map +1 -1
  61. package/dist/dts/models/Role.d.ts +4 -4
  62. package/dist/dts/models/Role.d.ts.map +1 -1
  63. package/dist/dts/models/RoleGroup.d.ts +16 -0
  64. package/dist/dts/models/RoleGroup.d.ts.map +1 -0
  65. package/dist/dts/models/RoleSyncEvent.d.ts +4 -4
  66. package/dist/dts/models/Team.d.ts +13 -0
  67. package/dist/dts/models/Team.d.ts.map +1 -1
  68. package/dist/dts/models/TrainingType.d.ts +13 -0
  69. package/dist/dts/models/TrainingType.d.ts.map +1 -1
  70. package/dist/dts/rpc/SyncRpcs.d.ts +18 -3
  71. package/dist/dts/rpc/SyncRpcs.d.ts.map +1 -1
  72. package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts +6 -6
  73. package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts +3 -3
  74. package/dist/dts/rpc/channel/ChannelRpcModels.d.ts +3 -3
  75. package/dist/dts/rpc/guild/GuildRpcGroup.d.ts +19 -0
  76. package/dist/dts/rpc/guild/GuildRpcGroup.d.ts.map +1 -0
  77. package/dist/esm/api/AgeThresholdApi.js +11 -11
  78. package/dist/esm/api/AgeThresholdApi.js.map +1 -1
  79. package/dist/esm/api/Auth.js +12 -1
  80. package/dist/esm/api/Auth.js.map +1 -1
  81. package/dist/esm/api/GroupApi.js +185 -0
  82. package/dist/esm/api/GroupApi.js.map +1 -0
  83. package/dist/esm/api/NotificationApi.js +6 -2
  84. package/dist/esm/api/NotificationApi.js.map +1 -1
  85. package/dist/esm/api/TrainingTypeApi.js +8 -37
  86. package/dist/esm/api/TrainingTypeApi.js.map +1 -1
  87. package/dist/esm/index.js +4 -2
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/models/AgeThresholdRule.js +2 -2
  90. package/dist/esm/models/AgeThresholdRule.js.map +1 -1
  91. package/dist/esm/models/ChannelSyncEvent.js +3 -3
  92. package/dist/esm/models/ChannelSyncEvent.js.map +1 -1
  93. package/dist/esm/models/DiscordChannelMapping.js +2 -2
  94. package/dist/esm/models/DiscordChannelMapping.js.map +1 -1
  95. package/dist/esm/models/GroupModel.js +13 -0
  96. package/dist/esm/models/GroupModel.js.map +1 -0
  97. package/dist/esm/models/Notification.js +1 -1
  98. package/dist/esm/models/Notification.js.map +1 -1
  99. package/dist/esm/models/Role.js +2 -2
  100. package/dist/esm/models/Role.js.map +1 -1
  101. package/dist/esm/models/RoleGroup.js +8 -0
  102. package/dist/esm/models/RoleGroup.js.map +1 -0
  103. package/dist/esm/models/Team.js +2 -0
  104. package/dist/esm/models/Team.js.map +1 -1
  105. package/dist/esm/models/TrainingType.js +2 -0
  106. package/dist/esm/models/TrainingType.js.map +1 -1
  107. package/dist/esm/rpc/SyncRpcs.js +2 -1
  108. package/dist/esm/rpc/SyncRpcs.js.map +1 -1
  109. package/dist/esm/rpc/channel/ChannelRpcEvents.js +7 -7
  110. package/dist/esm/rpc/channel/ChannelRpcEvents.js.map +1 -1
  111. package/dist/esm/rpc/channel/ChannelRpcGroup.js +4 -4
  112. package/dist/esm/rpc/channel/ChannelRpcGroup.js.map +1 -1
  113. package/dist/esm/rpc/channel/ChannelRpcModels.js +2 -2
  114. package/dist/esm/rpc/channel/ChannelRpcModels.js.map +1 -1
  115. package/dist/esm/rpc/guild/GuildRpcGroup.js +29 -0
  116. package/dist/esm/rpc/guild/GuildRpcGroup.js.map +1 -0
  117. package/package.json +1 -1
  118. package/src/api/AgeThresholdApi.ts +12 -12
  119. package/src/api/Auth.ts +16 -0
  120. package/src/api/GroupApi.ts +229 -0
  121. package/src/api/NotificationApi.ts +10 -0
  122. package/src/api/TrainingTypeApi.ts +5 -52
  123. package/src/index.ts +7 -4
  124. package/src/models/AgeThresholdRule.ts +2 -2
  125. package/src/models/ChannelSyncEvent.ts +3 -3
  126. package/src/models/DiscordChannelMapping.ts +2 -2
  127. package/src/models/GroupModel.ts +15 -0
  128. package/src/models/Notification.ts +2 -2
  129. package/src/models/Role.ts +4 -0
  130. package/src/models/RoleGroup.ts +8 -0
  131. package/src/models/Team.ts +2 -0
  132. package/src/models/TrainingType.ts +2 -0
  133. package/src/rpc/SyncRpcs.ts +2 -1
  134. package/src/rpc/channel/ChannelRpcEvents.ts +7 -7
  135. package/src/rpc/channel/ChannelRpcGroup.ts +4 -4
  136. package/src/rpc/channel/ChannelRpcModels.ts +2 -2
  137. package/src/rpc/guild/GuildRpcGroup.ts +29 -0
  138. package/dist/cjs/api/SubgroupApi.js +0 -122
  139. package/dist/cjs/api/SubgroupApi.js.map +0 -1
  140. package/dist/cjs/models/SubgroupModel.js +0 -18
  141. package/dist/cjs/models/SubgroupModel.js.map +0 -1
  142. package/dist/dts/api/SubgroupApi.d.ts +0 -140
  143. package/dist/dts/api/SubgroupApi.d.ts.map +0 -1
  144. package/dist/dts/models/SubgroupModel.d.ts.map +0 -1
  145. package/dist/esm/api/SubgroupApi.js +0 -106
  146. package/dist/esm/api/SubgroupApi.js.map +0 -1
  147. package/dist/esm/models/SubgroupModel.js +0 -11
  148. package/dist/esm/models/SubgroupModel.js.map +0 -1
  149. package/src/api/SubgroupApi.ts +0 -146
  150. package/src/models/SubgroupModel.ts +0 -13
@@ -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":[]}
@@ -1,140 +0,0 @@
1
- import { HttpApiEndpoint, HttpApiGroup } from '@effect/platform';
2
- import { Schema } from 'effect';
3
- import { AuthMiddleware } from '../api/Auth.js';
4
- declare const SubgroupInfo_base: Schema.Class<SubgroupInfo, {
5
- subgroupId: Schema.brand<typeof Schema.String, "SubgroupId">;
6
- teamId: Schema.brand<typeof Schema.String, "TeamId">;
7
- name: typeof Schema.String;
8
- memberCount: typeof Schema.Number;
9
- }, Schema.Struct.Encoded<{
10
- subgroupId: Schema.brand<typeof Schema.String, "SubgroupId">;
11
- teamId: Schema.brand<typeof Schema.String, "TeamId">;
12
- name: typeof Schema.String;
13
- memberCount: typeof Schema.Number;
14
- }>, never, {
15
- readonly name: string;
16
- } & {
17
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
18
- } & {
19
- readonly memberCount: number;
20
- } & {
21
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
22
- }, {}, {}>;
23
- export declare class SubgroupInfo extends SubgroupInfo_base {
24
- }
25
- declare const SubgroupDetail_base: Schema.Class<SubgroupDetail, {
26
- subgroupId: Schema.brand<typeof Schema.String, "SubgroupId">;
27
- teamId: Schema.brand<typeof Schema.String, "TeamId">;
28
- name: typeof Schema.String;
29
- permissions: Schema.Array$<Schema.Literal<["team:manage", "team:invite", "roster:view", "roster:manage", "member:view", "member:edit", "member:remove", "role:view", "role:manage"]>>;
30
- members: Schema.Array$<Schema.Struct<{
31
- memberId: Schema.brand<typeof Schema.String, "TeamMemberId">;
32
- name: Schema.NullOr<typeof Schema.String>;
33
- discordUsername: typeof Schema.String;
34
- }>>;
35
- }, Schema.Struct.Encoded<{
36
- subgroupId: Schema.brand<typeof Schema.String, "SubgroupId">;
37
- teamId: Schema.brand<typeof Schema.String, "TeamId">;
38
- name: typeof Schema.String;
39
- permissions: Schema.Array$<Schema.Literal<["team:manage", "team:invite", "roster:view", "roster:manage", "member:view", "member:edit", "member:remove", "role:view", "role:manage"]>>;
40
- members: Schema.Array$<Schema.Struct<{
41
- memberId: Schema.brand<typeof Schema.String, "TeamMemberId">;
42
- name: Schema.NullOr<typeof Schema.String>;
43
- discordUsername: typeof Schema.String;
44
- }>>;
45
- }>, never, {
46
- readonly name: string;
47
- } & {
48
- readonly members: readonly {
49
- readonly name: string | null;
50
- readonly discordUsername: string;
51
- readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
52
- }[];
53
- } & {
54
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
55
- } & {
56
- readonly permissions: readonly ("team:manage" | "team:invite" | "roster:view" | "roster:manage" | "member:view" | "member:edit" | "member:remove" | "role:view" | "role:manage")[];
57
- } & {
58
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
59
- }, {}, {}>;
60
- export declare class SubgroupDetail extends SubgroupDetail_base {
61
- }
62
- declare const CreateSubgroupRequest_base: Schema.Class<CreateSubgroupRequest, {
63
- name: typeof Schema.NonEmptyString;
64
- }, Schema.Struct.Encoded<{
65
- name: typeof Schema.NonEmptyString;
66
- }>, never, {
67
- readonly name: string;
68
- }, {}, {}>;
69
- export declare class CreateSubgroupRequest extends CreateSubgroupRequest_base {
70
- }
71
- declare const UpdateSubgroupRequest_base: Schema.Class<UpdateSubgroupRequest, {
72
- name: typeof Schema.NonEmptyString;
73
- }, Schema.Struct.Encoded<{
74
- name: typeof Schema.NonEmptyString;
75
- }>, never, {
76
- readonly name: string;
77
- }, {}, {}>;
78
- export declare class UpdateSubgroupRequest extends UpdateSubgroupRequest_base {
79
- }
80
- declare const AddSubgroupMemberRequest_base: Schema.Class<AddSubgroupMemberRequest, {
81
- memberId: Schema.brand<typeof Schema.String, "TeamMemberId">;
82
- }, Schema.Struct.Encoded<{
83
- memberId: Schema.brand<typeof Schema.String, "TeamMemberId">;
84
- }>, never, {
85
- readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
86
- }, {}, {}>;
87
- export declare class AddSubgroupMemberRequest extends AddSubgroupMemberRequest_base {
88
- }
89
- declare const SetSubgroupPermissionsRequest_base: Schema.Class<SetSubgroupPermissionsRequest, {
90
- permissions: Schema.Array$<Schema.Literal<["team:manage", "team:invite", "roster:view", "roster:manage", "member:view", "member:edit", "member:remove", "role:view", "role:manage"]>>;
91
- }, Schema.Struct.Encoded<{
92
- permissions: Schema.Array$<Schema.Literal<["team:manage", "team:invite", "roster:view", "roster:manage", "member:view", "member:edit", "member:remove", "role:view", "role:manage"]>>;
93
- }>, never, {
94
- readonly permissions: readonly ("team:manage" | "team:invite" | "roster:view" | "roster:manage" | "member:view" | "member:edit" | "member:remove" | "role:view" | "role:manage")[];
95
- }, {}, {}>;
96
- export declare class SetSubgroupPermissionsRequest extends SetSubgroupPermissionsRequest_base {
97
- }
98
- declare const SubgroupNotFound_base: Schema.TaggedErrorClass<SubgroupNotFound, "SubgroupNotFound", {
99
- readonly _tag: Schema.tag<"SubgroupNotFound">;
100
- }>;
101
- export declare class SubgroupNotFound extends SubgroupNotFound_base {
102
- }
103
- declare const Forbidden_base: Schema.TaggedErrorClass<Forbidden, "SubgroupForbidden", {
104
- readonly _tag: Schema.tag<"SubgroupForbidden">;
105
- }>;
106
- export declare class Forbidden extends Forbidden_base {
107
- }
108
- declare const MemberNotFound_base: Schema.TaggedErrorClass<MemberNotFound, "SubgroupMemberNotFound", {
109
- readonly _tag: Schema.tag<"SubgroupMemberNotFound">;
110
- }>;
111
- export declare class MemberNotFound extends MemberNotFound_base {
112
- }
113
- declare const SubgroupApiGroup_base: HttpApiGroup.HttpApiGroup<"subgroup", HttpApiEndpoint.HttpApiEndpoint<"listSubgroups", "GET", {
114
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
115
- }, never, never, never, readonly SubgroupInfo[], import("../api/Auth.js").Unauthorized | Forbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"createSubgroup", "POST", {
116
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
117
- }, never, CreateSubgroupRequest, never, SubgroupInfo, import("../api/Auth.js").Unauthorized | Forbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"getSubgroup", "GET", {
118
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
119
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
120
- }, never, never, never, SubgroupDetail, import("../api/Auth.js").Unauthorized | SubgroupNotFound | Forbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"updateSubgroup", "PATCH", {
121
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
122
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
123
- }, never, UpdateSubgroupRequest, never, SubgroupInfo, import("../api/Auth.js").Unauthorized | SubgroupNotFound | Forbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"deleteSubgroup", "DELETE", {
124
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
125
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
126
- }, never, never, never, void, import("../api/Auth.js").Unauthorized | SubgroupNotFound | Forbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"addSubgroupMember", "POST", {
127
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
128
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
129
- }, never, AddSubgroupMemberRequest, never, void, import("../api/Auth.js").Unauthorized | SubgroupNotFound | Forbidden | MemberNotFound, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"removeSubgroupMember", "DELETE", {
130
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
131
- readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
132
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
133
- }, never, never, never, void, import("../api/Auth.js").Unauthorized | SubgroupNotFound | Forbidden | MemberNotFound, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"setSubgroupPermissions", "PATCH", {
134
- readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
135
- readonly subgroupId: string & import("effect/Brand").Brand<"SubgroupId">;
136
- }, never, SetSubgroupPermissionsRequest, never, SubgroupDetail, import("../api/Auth.js").Unauthorized | SubgroupNotFound | Forbidden, AuthMiddleware, never>, never, never, false>;
137
- export declare class SubgroupApiGroup extends SubgroupApiGroup_base {
138
- }
139
- export {};
140
- //# sourceMappingURL=SubgroupApi.d.ts.map
@@ -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,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,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
- }) {}