@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.
- package/dist/cjs/api/AgeThresholdApi.js +20 -20
- package/dist/cjs/api/AgeThresholdApi.js.map +1 -1
- package/dist/cjs/api/Auth.js +16 -15
- package/dist/cjs/api/Auth.js.map +1 -1
- package/dist/cjs/api/GroupApi.js +205 -0
- package/dist/cjs/api/GroupApi.js.map +1 -0
- package/dist/cjs/api/NotificationApi.js +6 -2
- package/dist/cjs/api/NotificationApi.js.map +1 -1
- package/dist/cjs/api/Roster.js +1 -5
- package/dist/cjs/api/Roster.js.map +1 -1
- package/dist/cjs/api/TrainingTypeApi.js +84 -0
- package/dist/cjs/api/TrainingTypeApi.js.map +1 -0
- package/dist/cjs/index.js +33 -7
- package/dist/cjs/models/AgeThresholdRule.js +2 -2
- package/dist/cjs/models/AgeThresholdRule.js.map +1 -1
- package/dist/cjs/models/ChannelSyncEvent.js +28 -0
- package/dist/cjs/models/ChannelSyncEvent.js.map +1 -0
- package/dist/cjs/models/Discord.js +9 -0
- package/dist/cjs/models/Discord.js.map +1 -0
- package/dist/cjs/models/DiscordChannelMapping.js +21 -0
- package/dist/cjs/models/DiscordChannelMapping.js.map +1 -0
- package/dist/cjs/models/GroupModel.js +20 -0
- package/dist/cjs/models/GroupModel.js.map +1 -0
- package/dist/cjs/models/Notification.js +1 -1
- package/dist/cjs/models/Notification.js.map +1 -1
- package/dist/cjs/models/Role.js +2 -2
- package/dist/cjs/models/Role.js.map +1 -1
- package/dist/cjs/models/RoleGroup.js +15 -0
- package/dist/cjs/models/RoleGroup.js.map +1 -0
- package/dist/cjs/models/Team.js +2 -0
- package/dist/cjs/models/Team.js.map +1 -1
- package/dist/cjs/models/TeamMember.js +1 -0
- package/dist/cjs/models/TeamMember.js.map +1 -1
- package/dist/cjs/models/TrainingType.js +20 -0
- package/dist/cjs/models/TrainingType.js.map +1 -0
- package/dist/cjs/models/User.js +1 -6
- package/dist/cjs/models/User.js.map +1 -1
- package/dist/cjs/rpc/SyncRpcs.js +13 -0
- package/dist/cjs/rpc/SyncRpcs.js.map +1 -0
- package/dist/cjs/rpc/channel/ChannelRpcEvents.js +44 -0
- package/dist/cjs/rpc/channel/ChannelRpcEvents.js.map +1 -0
- package/dist/cjs/rpc/channel/ChannelRpcGroup.js +45 -0
- package/dist/cjs/rpc/channel/ChannelRpcGroup.js.map +1 -0
- package/dist/cjs/rpc/channel/ChannelRpcModels.js +17 -0
- package/dist/cjs/rpc/channel/ChannelRpcModels.js.map +1 -0
- package/dist/cjs/rpc/guild/GuildRpcGroup.js +35 -0
- package/dist/cjs/rpc/guild/GuildRpcGroup.js.map +1 -0
- package/dist/cjs/rpc/role/RoleRpcEvents.js +44 -0
- package/dist/cjs/rpc/role/RoleRpcEvents.js.map +1 -0
- package/dist/cjs/rpc/role/RoleRpcGroup.js +44 -0
- package/dist/cjs/rpc/role/RoleRpcGroup.js.map +1 -0
- package/dist/cjs/rpc/role/RoleRpcModels.js +16 -0
- package/dist/cjs/rpc/role/RoleRpcModels.js.map +1 -0
- package/dist/dts/api/AgeThresholdApi.d.ts +43 -43
- package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -1
- package/dist/dts/api/Auth.d.ts +33 -44
- package/dist/dts/api/Auth.d.ts.map +1 -1
- package/dist/dts/api/GroupApi.d.ts +254 -0
- package/dist/dts/api/GroupApi.d.ts.map +1 -0
- package/dist/dts/api/NotificationApi.d.ts +9 -5
- package/dist/dts/api/NotificationApi.d.ts.map +1 -1
- package/dist/dts/api/RoleApi.d.ts +10 -10
- package/dist/dts/api/Roster.d.ts +7 -23
- package/dist/dts/api/Roster.d.ts.map +1 -1
- package/dist/dts/api/TrainingTypeApi.d.ts +116 -0
- package/dist/dts/api/TrainingTypeApi.d.ts.map +1 -0
- package/dist/dts/index.d.ts +16 -3
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/models/AgeThresholdRule.d.ts +13 -13
- package/dist/dts/models/ChannelSyncEvent.d.ts +164 -0
- package/dist/dts/models/ChannelSyncEvent.d.ts.map +1 -0
- package/dist/dts/models/Discord.d.ts +4 -0
- package/dist/dts/models/Discord.d.ts.map +1 -0
- package/dist/dts/models/DiscordChannelMapping.d.ts +97 -0
- package/dist/dts/models/DiscordChannelMapping.d.ts.map +1 -0
- package/dist/dts/models/GroupModel.d.ts +97 -0
- package/dist/dts/models/GroupModel.d.ts.map +1 -0
- package/dist/dts/models/Notification.d.ts +12 -12
- package/dist/dts/models/Notification.d.ts.map +1 -1
- package/dist/dts/models/Role.d.ts +4 -4
- package/dist/dts/models/Role.d.ts.map +1 -1
- package/dist/dts/models/RoleGroup.d.ts +16 -0
- package/dist/dts/models/RoleGroup.d.ts.map +1 -0
- package/dist/dts/models/RoleSyncEvent.d.ts +8 -8
- package/dist/dts/models/Team.d.ts +13 -0
- package/dist/dts/models/Team.d.ts.map +1 -1
- package/dist/dts/models/TeamMember.d.ts +30 -0
- package/dist/dts/models/TeamMember.d.ts.map +1 -1
- package/dist/dts/models/{SubgroupModel.d.ts → TrainingType.d.ts} +26 -13
- package/dist/dts/models/TrainingType.d.ts.map +1 -0
- package/dist/dts/models/User.d.ts +0 -43
- package/dist/dts/models/User.d.ts.map +1 -1
- package/dist/dts/rpc/SyncRpcs.d.ts +56 -0
- package/dist/dts/rpc/SyncRpcs.d.ts.map +1 -0
- package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts +51 -0
- package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts.map +1 -0
- package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts +23 -0
- package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts.map +1 -0
- package/dist/dts/rpc/channel/ChannelRpcModels.d.ts +28 -0
- package/dist/dts/rpc/channel/ChannelRpcModels.d.ts.map +1 -0
- package/dist/dts/rpc/guild/GuildRpcGroup.d.ts +19 -0
- package/dist/dts/rpc/guild/GuildRpcGroup.d.ts.map +1 -0
- package/dist/dts/rpc/role/RoleRpcEvents.d.ts +51 -0
- package/dist/dts/rpc/role/RoleRpcEvents.d.ts.map +1 -0
- package/dist/dts/rpc/role/RoleRpcGroup.d.ts +22 -0
- package/dist/dts/rpc/role/RoleRpcGroup.d.ts.map +1 -0
- package/dist/dts/rpc/role/RoleRpcModels.d.ts +24 -0
- package/dist/dts/rpc/role/RoleRpcModels.d.ts.map +1 -0
- package/dist/esm/api/AgeThresholdApi.js +17 -17
- package/dist/esm/api/AgeThresholdApi.js.map +1 -1
- package/dist/esm/api/Auth.js +15 -15
- package/dist/esm/api/Auth.js.map +1 -1
- package/dist/esm/api/GroupApi.js +185 -0
- package/dist/esm/api/GroupApi.js.map +1 -0
- package/dist/esm/api/NotificationApi.js +6 -2
- package/dist/esm/api/NotificationApi.js.map +1 -1
- package/dist/esm/api/Roster.js +2 -6
- package/dist/esm/api/Roster.js.map +1 -1
- package/dist/esm/api/TrainingTypeApi.js +70 -0
- package/dist/esm/api/TrainingTypeApi.js.map +1 -0
- package/dist/esm/index.js +16 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/AgeThresholdRule.js +2 -2
- package/dist/esm/models/AgeThresholdRule.js.map +1 -1
- package/dist/esm/models/ChannelSyncEvent.js +21 -0
- package/dist/esm/models/ChannelSyncEvent.js.map +1 -0
- package/dist/esm/models/Discord.js +3 -0
- package/dist/esm/models/Discord.js.map +1 -0
- package/dist/esm/models/DiscordChannelMapping.js +14 -0
- package/dist/esm/models/DiscordChannelMapping.js.map +1 -0
- package/dist/esm/models/GroupModel.js +13 -0
- package/dist/esm/models/GroupModel.js.map +1 -0
- package/dist/esm/models/Notification.js +1 -1
- package/dist/esm/models/Notification.js.map +1 -1
- package/dist/esm/models/Role.js +2 -2
- package/dist/esm/models/Role.js.map +1 -1
- package/dist/esm/models/RoleGroup.js +8 -0
- package/dist/esm/models/RoleGroup.js.map +1 -0
- package/dist/esm/models/Team.js +2 -0
- package/dist/esm/models/Team.js.map +1 -1
- package/dist/esm/models/TeamMember.js +1 -0
- package/dist/esm/models/TeamMember.js.map +1 -1
- package/dist/esm/models/TrainingType.js +13 -0
- package/dist/esm/models/TrainingType.js.map +1 -0
- package/dist/esm/models/User.js +0 -5
- package/dist/esm/models/User.js.map +1 -1
- package/dist/esm/rpc/SyncRpcs.js +6 -0
- package/dist/esm/rpc/SyncRpcs.js.map +1 -0
- package/dist/esm/rpc/channel/ChannelRpcEvents.js +34 -0
- package/dist/esm/rpc/channel/ChannelRpcEvents.js.map +1 -0
- package/dist/esm/rpc/channel/ChannelRpcGroup.js +39 -0
- package/dist/esm/rpc/channel/ChannelRpcGroup.js.map +1 -0
- package/dist/esm/rpc/channel/ChannelRpcModels.js +10 -0
- package/dist/esm/rpc/channel/ChannelRpcModels.js.map +1 -0
- package/dist/esm/rpc/guild/GuildRpcGroup.js +29 -0
- package/dist/esm/rpc/guild/GuildRpcGroup.js.map +1 -0
- package/dist/esm/rpc/role/RoleRpcEvents.js +34 -0
- package/dist/esm/rpc/role/RoleRpcEvents.js.map +1 -0
- package/dist/esm/rpc/role/RoleRpcGroup.js +38 -0
- package/dist/esm/rpc/role/RoleRpcGroup.js.map +1 -0
- package/dist/esm/rpc/role/RoleRpcModels.js +9 -0
- package/dist/esm/rpc/role/RoleRpcModels.js.map +1 -0
- package/package.json +1 -1
- package/src/api/AgeThresholdApi.ts +18 -18
- package/src/api/Auth.ts +17 -12
- package/src/api/GroupApi.ts +229 -0
- package/src/api/NotificationApi.ts +10 -0
- package/src/api/Roster.ts +1 -5
- package/src/api/TrainingTypeApi.ts +96 -0
- package/src/index.ts +23 -5
- package/src/models/AgeThresholdRule.ts +2 -2
- package/src/models/ChannelSyncEvent.ts +30 -0
- package/src/models/Discord.ts +4 -0
- package/src/models/DiscordChannelMapping.ts +18 -0
- package/src/models/GroupModel.ts +15 -0
- package/src/models/Notification.ts +2 -2
- package/src/models/Role.ts +4 -0
- package/src/models/RoleGroup.ts +8 -0
- package/src/models/Team.ts +2 -0
- package/src/models/TeamMember.ts +1 -0
- package/src/models/TrainingType.ts +15 -0
- package/src/models/User.ts +0 -9
- package/src/rpc/SyncRpcs.ts +6 -0
- package/src/rpc/channel/ChannelRpcEvents.ts +57 -0
- package/src/rpc/channel/ChannelRpcGroup.ts +33 -0
- package/src/rpc/channel/ChannelRpcModels.ts +10 -0
- package/src/rpc/guild/GuildRpcGroup.ts +29 -0
- package/src/rpc/role/RoleRpcEvents.ts +48 -0
- package/src/rpc/role/RoleRpcGroup.ts +33 -0
- package/src/rpc/role/RoleRpcModels.ts +9 -0
- package/dist/cjs/api/SubgroupApi.js +0 -122
- package/dist/cjs/api/SubgroupApi.js.map +0 -1
- package/dist/cjs/models/SubgroupModel.js +0 -18
- package/dist/cjs/models/SubgroupModel.js.map +0 -1
- package/dist/cjs/rpc/RoleSyncRpc.js +0 -66
- package/dist/cjs/rpc/RoleSyncRpc.js.map +0 -1
- package/dist/dts/api/SubgroupApi.d.ts +0 -140
- package/dist/dts/api/SubgroupApi.d.ts.map +0 -1
- package/dist/dts/models/SubgroupModel.d.ts.map +0 -1
- package/dist/dts/rpc/RoleSyncRpc.d.ts +0 -82
- package/dist/dts/rpc/RoleSyncRpc.d.ts.map +0 -1
- package/dist/esm/api/SubgroupApi.js +0 -106
- package/dist/esm/api/SubgroupApi.js.map +0 -1
- package/dist/esm/models/SubgroupModel.js +0 -11
- package/dist/esm/models/SubgroupModel.js.map +0 -1
- package/dist/esm/rpc/RoleSyncRpc.js +0 -57
- package/dist/esm/rpc/RoleSyncRpc.js.map +0 -1
- package/src/api/SubgroupApi.ts +0 -146
- package/src/models/SubgroupModel.ts +0 -13
- package/src/rpc/RoleSyncRpc.ts +0 -59
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Model } from '@effect/sql';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { GroupId } from '~/models/GroupModel.js';
|
|
4
|
+
import { TeamId } from '~/models/Team.js';
|
|
5
|
+
|
|
6
|
+
export const TrainingTypeId = Schema.String.pipe(Schema.brand('TrainingTypeId'));
|
|
7
|
+
export type TrainingTypeId = typeof TrainingTypeId.Type;
|
|
8
|
+
|
|
9
|
+
export class TrainingType extends Model.Class<TrainingType>('TrainingType')({
|
|
10
|
+
id: Model.Generated(TrainingTypeId),
|
|
11
|
+
team_id: TeamId,
|
|
12
|
+
name: Schema.String,
|
|
13
|
+
group_id: Schema.NullOr(GroupId),
|
|
14
|
+
created_at: Model.DateTimeInsertFromDate,
|
|
15
|
+
}) {}
|
package/src/models/User.ts
CHANGED
|
@@ -7,12 +7,6 @@ export type UserId = typeof UserId.Type;
|
|
|
7
7
|
export const Gender = Schema.Literal('male', 'female', 'other');
|
|
8
8
|
export type Gender = typeof Gender.Type;
|
|
9
9
|
|
|
10
|
-
export const Position = Schema.Literal('goalkeeper', 'defender', 'midfielder', 'forward');
|
|
11
|
-
export type Position = typeof Position.Type;
|
|
12
|
-
|
|
13
|
-
export const Proficiency = Schema.Literal('beginner', 'intermediate', 'advanced', 'pro');
|
|
14
|
-
export type Proficiency = typeof Proficiency.Type;
|
|
15
|
-
|
|
16
10
|
export const Locale = Schema.Literal('en', 'cs');
|
|
17
11
|
export type Locale = typeof Locale.Type;
|
|
18
12
|
|
|
@@ -26,9 +20,6 @@ export class User extends Model.Class<User>('User')({
|
|
|
26
20
|
name: Schema.NullOr(Schema.String),
|
|
27
21
|
birth_year: Schema.NullOr(Schema.Number),
|
|
28
22
|
gender: Schema.NullOr(Gender),
|
|
29
|
-
jersey_number: Schema.NullOr(Schema.Number),
|
|
30
|
-
position: Schema.NullOr(Position),
|
|
31
|
-
proficiency: Schema.NullOr(Proficiency),
|
|
32
23
|
locale: Locale,
|
|
33
24
|
created_at: Model.DateTimeInsertFromDate,
|
|
34
25
|
is_profile_complete: Schema.Boolean,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RpcGroup } from '@effect/rpc';
|
|
2
|
+
import { ChannelRpcGroup } from './channel/ChannelRpcGroup.js';
|
|
3
|
+
import { GuildRpcGroup } from './guild/GuildRpcGroup.js';
|
|
4
|
+
import { RoleRpcGroup } from './role/RoleRpcGroup.js';
|
|
5
|
+
|
|
6
|
+
export class SyncRpcs extends RpcGroup.make().merge(RoleRpcGroup, ChannelRpcGroup, GuildRpcGroup) {}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { ChannelSyncEvent, Discord, GroupModel, Team, TeamMember } from '~/index.js';
|
|
3
|
+
|
|
4
|
+
export class ChannelCreatedEvent extends Schema.TaggedClass<ChannelCreatedEvent>()(
|
|
5
|
+
'channel_created',
|
|
6
|
+
{
|
|
7
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
8
|
+
team_id: Team.TeamId,
|
|
9
|
+
guild_id: Discord.Snowflake,
|
|
10
|
+
group_id: GroupModel.GroupId,
|
|
11
|
+
group_name: Schema.String,
|
|
12
|
+
},
|
|
13
|
+
) {}
|
|
14
|
+
|
|
15
|
+
export class ChannelDeletedEvent extends Schema.TaggedClass<ChannelDeletedEvent>()(
|
|
16
|
+
'channel_deleted',
|
|
17
|
+
{
|
|
18
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
19
|
+
team_id: Team.TeamId,
|
|
20
|
+
guild_id: Discord.Snowflake,
|
|
21
|
+
group_id: GroupModel.GroupId,
|
|
22
|
+
},
|
|
23
|
+
) {}
|
|
24
|
+
|
|
25
|
+
export class ChannelMemberAddedEvent extends Schema.TaggedClass<ChannelMemberAddedEvent>()(
|
|
26
|
+
'channel_member_added',
|
|
27
|
+
{
|
|
28
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
29
|
+
team_id: Team.TeamId,
|
|
30
|
+
guild_id: Discord.Snowflake,
|
|
31
|
+
group_id: GroupModel.GroupId,
|
|
32
|
+
group_name: Schema.String,
|
|
33
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
34
|
+
discord_user_id: Discord.Snowflake,
|
|
35
|
+
},
|
|
36
|
+
) {}
|
|
37
|
+
|
|
38
|
+
export class ChannelMemberRemovedEvent extends Schema.TaggedClass<ChannelMemberRemovedEvent>()(
|
|
39
|
+
'channel_member_removed',
|
|
40
|
+
{
|
|
41
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
42
|
+
team_id: Team.TeamId,
|
|
43
|
+
guild_id: Discord.Snowflake,
|
|
44
|
+
group_id: GroupModel.GroupId,
|
|
45
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
46
|
+
discord_user_id: Discord.Snowflake,
|
|
47
|
+
},
|
|
48
|
+
) {}
|
|
49
|
+
|
|
50
|
+
export const UnprocessedChannelEvent = Schema.Union(
|
|
51
|
+
ChannelCreatedEvent,
|
|
52
|
+
ChannelDeletedEvent,
|
|
53
|
+
ChannelMemberAddedEvent,
|
|
54
|
+
ChannelMemberRemovedEvent,
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
export type UnprocessedChannelEvent = Schema.Schema.Type<typeof UnprocessedChannelEvent>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Rpc, RpcGroup } from '@effect/rpc';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { ChannelSyncEvent, Discord, GroupModel, Team } from '~/index.js';
|
|
4
|
+
import { UnprocessedChannelEvent } from './ChannelRpcEvents.js';
|
|
5
|
+
import { ChannelMapping } from './ChannelRpcModels.js';
|
|
6
|
+
|
|
7
|
+
export const ChannelRpcGroup = RpcGroup.make(
|
|
8
|
+
Rpc.make('GetUnprocessedEvents', {
|
|
9
|
+
payload: { limit: Schema.Number },
|
|
10
|
+
success: Schema.Array(UnprocessedChannelEvent),
|
|
11
|
+
}),
|
|
12
|
+
Rpc.make('MarkEventProcessed', {
|
|
13
|
+
payload: { id: ChannelSyncEvent.ChannelSyncEventId },
|
|
14
|
+
}),
|
|
15
|
+
Rpc.make('MarkEventFailed', {
|
|
16
|
+
payload: { id: ChannelSyncEvent.ChannelSyncEventId, error: Schema.String },
|
|
17
|
+
}),
|
|
18
|
+
Rpc.make('GetMapping', {
|
|
19
|
+
payload: { team_id: Team.TeamId, group_id: GroupModel.GroupId },
|
|
20
|
+
success: Schema.OptionFromNullOr(ChannelMapping),
|
|
21
|
+
}),
|
|
22
|
+
Rpc.make('UpsertMapping', {
|
|
23
|
+
payload: {
|
|
24
|
+
team_id: Team.TeamId,
|
|
25
|
+
group_id: GroupModel.GroupId,
|
|
26
|
+
discord_channel_id: Discord.Snowflake,
|
|
27
|
+
discord_role_id: Discord.Snowflake,
|
|
28
|
+
},
|
|
29
|
+
}),
|
|
30
|
+
Rpc.make('DeleteMapping', {
|
|
31
|
+
payload: { team_id: Team.TeamId, group_id: GroupModel.GroupId },
|
|
32
|
+
}),
|
|
33
|
+
).prefix('Channel/');
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { Discord, DiscordChannelMapping, GroupModel, Team } from '~/index.js';
|
|
3
|
+
|
|
4
|
+
export class ChannelMapping extends Schema.Class<ChannelMapping>('ChannelMapping')({
|
|
5
|
+
id: DiscordChannelMapping.DiscordChannelMappingId,
|
|
6
|
+
team_id: Team.TeamId,
|
|
7
|
+
group_id: GroupModel.GroupId,
|
|
8
|
+
discord_channel_id: Discord.Snowflake,
|
|
9
|
+
discord_role_id: Schema.OptionFromNullOr(Discord.Snowflake),
|
|
10
|
+
}) {}
|
|
@@ -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/');
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { Discord, Role, RoleSyncEvent, Team, TeamMember } from '~/index.js';
|
|
3
|
+
|
|
4
|
+
export class RoleCreatedEvent extends Schema.TaggedClass<RoleCreatedEvent>()('role_created', {
|
|
5
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
6
|
+
team_id: Team.TeamId,
|
|
7
|
+
guild_id: Discord.Snowflake,
|
|
8
|
+
role_id: Role.RoleId,
|
|
9
|
+
role_name: Schema.String,
|
|
10
|
+
}) {}
|
|
11
|
+
|
|
12
|
+
export class RoleDeletedEvent extends Schema.TaggedClass<RoleDeletedEvent>()('role_deleted', {
|
|
13
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
14
|
+
team_id: Team.TeamId,
|
|
15
|
+
guild_id: Discord.Snowflake,
|
|
16
|
+
role_id: Role.RoleId,
|
|
17
|
+
}) {}
|
|
18
|
+
|
|
19
|
+
export class RoleAssignedEvent extends Schema.TaggedClass<RoleAssignedEvent>()('role_assigned', {
|
|
20
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
21
|
+
team_id: Team.TeamId,
|
|
22
|
+
guild_id: Discord.Snowflake,
|
|
23
|
+
role_id: Role.RoleId,
|
|
24
|
+
role_name: Schema.String,
|
|
25
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
26
|
+
discord_user_id: Discord.Snowflake,
|
|
27
|
+
}) {}
|
|
28
|
+
|
|
29
|
+
export class RoleUnassignedEvent extends Schema.TaggedClass<RoleUnassignedEvent>()(
|
|
30
|
+
'role_unassigned',
|
|
31
|
+
{
|
|
32
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
33
|
+
team_id: Team.TeamId,
|
|
34
|
+
guild_id: Discord.Snowflake,
|
|
35
|
+
role_id: Role.RoleId,
|
|
36
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
37
|
+
discord_user_id: Discord.Snowflake,
|
|
38
|
+
},
|
|
39
|
+
) {}
|
|
40
|
+
|
|
41
|
+
export const UnprocessedRoleEvent = Schema.Union(
|
|
42
|
+
RoleCreatedEvent,
|
|
43
|
+
RoleDeletedEvent,
|
|
44
|
+
RoleAssignedEvent,
|
|
45
|
+
RoleUnassignedEvent,
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
export type UnprocessedRoleEvent = Schema.Schema.Type<typeof UnprocessedRoleEvent>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Rpc, RpcGroup } from '@effect/rpc';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { Discord, Role, RoleSyncEvent, Team } from '~/index.js';
|
|
4
|
+
import { UnprocessedRoleEvent } from './RoleRpcEvents.js';
|
|
5
|
+
import { RoleMapping } from './RoleRpcModels.js';
|
|
6
|
+
|
|
7
|
+
export const RoleRpcGroup = RpcGroup.make(
|
|
8
|
+
Rpc.make('GetUnprocessedEvents', {
|
|
9
|
+
payload: { limit: Schema.Number },
|
|
10
|
+
success: Schema.Array(UnprocessedRoleEvent),
|
|
11
|
+
}),
|
|
12
|
+
Rpc.make('MarkEventProcessed', {
|
|
13
|
+
payload: { id: RoleSyncEvent.RoleSyncEventId },
|
|
14
|
+
}),
|
|
15
|
+
Rpc.make('MarkEventFailed', {
|
|
16
|
+
payload: { id: RoleSyncEvent.RoleSyncEventId, error: Schema.String },
|
|
17
|
+
}),
|
|
18
|
+
Rpc.make('GetMapping', {
|
|
19
|
+
payload: { team_id: Team.TeamId, role_id: Role.RoleId },
|
|
20
|
+
success: Schema.OptionFromNullOr(RoleMapping),
|
|
21
|
+
}),
|
|
22
|
+
Rpc.make('UpsertMapping', {
|
|
23
|
+
payload: {
|
|
24
|
+
team_id: Team.TeamId,
|
|
25
|
+
role_id: Role.RoleId,
|
|
26
|
+
discord_role_id: Discord.Snowflake,
|
|
27
|
+
},
|
|
28
|
+
}),
|
|
29
|
+
|
|
30
|
+
Rpc.make('DeleteMapping', {
|
|
31
|
+
payload: { team_id: Team.TeamId, role_id: Role.RoleId },
|
|
32
|
+
}),
|
|
33
|
+
).prefix('Role/');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { Discord, DiscordRoleMapping, Role, Team } from '~/index.js';
|
|
3
|
+
|
|
4
|
+
export class RoleMapping extends Schema.Class<RoleMapping>('RoleMapping')({
|
|
5
|
+
id: DiscordRoleMapping.DiscordRoleMappingId,
|
|
6
|
+
team_id: Team.TeamId,
|
|
7
|
+
role_id: Role.RoleId,
|
|
8
|
+
discord_role_id: Discord.Snowflake,
|
|
9
|
+
}) {}
|
|
@@ -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,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.UnprocessedEvent = exports.RoleSyncRpcs = exports.RoleMapping = void 0;
|
|
7
|
-
var _rpc = require("@effect/rpc");
|
|
8
|
-
var _effect = require("effect");
|
|
9
|
-
class UnprocessedEvent extends /*#__PURE__*/_effect.Schema.Class('UnprocessedEvent')({
|
|
10
|
-
id: _effect.Schema.String,
|
|
11
|
-
team_id: _effect.Schema.String,
|
|
12
|
-
guild_id: _effect.Schema.String,
|
|
13
|
-
event_type: /*#__PURE__*/_effect.Schema.Literal('role_assigned', 'role_unassigned', 'role_created', 'role_deleted'),
|
|
14
|
-
role_id: _effect.Schema.String,
|
|
15
|
-
role_name: /*#__PURE__*/_effect.Schema.NullOr(_effect.Schema.String),
|
|
16
|
-
team_member_id: /*#__PURE__*/_effect.Schema.NullOr(_effect.Schema.String),
|
|
17
|
-
discord_user_id: /*#__PURE__*/_effect.Schema.NullOr(_effect.Schema.String)
|
|
18
|
-
}) {}
|
|
19
|
-
exports.UnprocessedEvent = UnprocessedEvent;
|
|
20
|
-
class RoleMapping extends /*#__PURE__*/_effect.Schema.Class('RoleMapping')({
|
|
21
|
-
id: _effect.Schema.String,
|
|
22
|
-
team_id: _effect.Schema.String,
|
|
23
|
-
role_id: _effect.Schema.String,
|
|
24
|
-
discord_role_id: _effect.Schema.String
|
|
25
|
-
}) {}
|
|
26
|
-
exports.RoleMapping = RoleMapping;
|
|
27
|
-
const GetUnprocessedEvents = /*#__PURE__*/_rpc.Rpc.make('GetUnprocessedEvents', {
|
|
28
|
-
payload: {
|
|
29
|
-
limit: _effect.Schema.Number
|
|
30
|
-
},
|
|
31
|
-
success: /*#__PURE__*/_effect.Schema.Array(UnprocessedEvent)
|
|
32
|
-
});
|
|
33
|
-
const MarkEventProcessed = /*#__PURE__*/_rpc.Rpc.make('MarkEventProcessed', {
|
|
34
|
-
payload: {
|
|
35
|
-
id: _effect.Schema.String
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
const MarkEventFailed = /*#__PURE__*/_rpc.Rpc.make('MarkEventFailed', {
|
|
39
|
-
payload: {
|
|
40
|
-
id: _effect.Schema.String,
|
|
41
|
-
error: _effect.Schema.String
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
const GetMappingForRole = /*#__PURE__*/_rpc.Rpc.make('GetMappingForRole', {
|
|
45
|
-
payload: {
|
|
46
|
-
team_id: _effect.Schema.String,
|
|
47
|
-
role_id: _effect.Schema.String
|
|
48
|
-
},
|
|
49
|
-
success: /*#__PURE__*/_effect.Schema.NullOr(RoleMapping)
|
|
50
|
-
});
|
|
51
|
-
const UpsertMapping = /*#__PURE__*/_rpc.Rpc.make('UpsertMapping', {
|
|
52
|
-
payload: {
|
|
53
|
-
team_id: _effect.Schema.String,
|
|
54
|
-
role_id: _effect.Schema.String,
|
|
55
|
-
discord_role_id: _effect.Schema.String
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
const DeleteMapping = /*#__PURE__*/_rpc.Rpc.make('DeleteMapping', {
|
|
59
|
-
payload: {
|
|
60
|
-
team_id: _effect.Schema.String,
|
|
61
|
-
role_id: _effect.Schema.String
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
class RoleSyncRpcs extends /*#__PURE__*/_rpc.RpcGroup.make(GetUnprocessedEvents, MarkEventProcessed, MarkEventFailed, GetMappingForRole, UpsertMapping, DeleteMapping) {}
|
|
65
|
-
exports.RoleSyncRpcs = RoleSyncRpcs;
|
|
66
|
-
//# sourceMappingURL=RoleSyncRpc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RoleSyncRpc.js","names":["_rpc","require","_effect","UnprocessedEvent","Schema","Class","id","String","team_id","guild_id","event_type","Literal","role_id","role_name","NullOr","team_member_id","discord_user_id","exports","RoleMapping","discord_role_id","GetUnprocessedEvents","Rpc","make","payload","limit","Number","success","Array","MarkEventProcessed","MarkEventFailed","error","GetMappingForRole","UpsertMapping","DeleteMapping","RoleSyncRpcs","RpcGroup"],"sources":["../../../src/rpc/RoleSyncRpc.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEM,MAAOE,gBAAiB,sBAAQC,cAAM,CAACC,KAAK,CAAmB,kBAAkB,CAAC,CAAC;EACvFC,EAAE,EAAEF,cAAM,CAACG,MAAM;EACjBC,OAAO,EAAEJ,cAAM,CAACG,MAAM;EACtBE,QAAQ,EAAEL,cAAM,CAACG,MAAM;EACvBG,UAAU,eAAEN,cAAM,CAACO,OAAO,CAAC,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,CAAC;EAC9FC,OAAO,EAAER,cAAM,CAACG,MAAM;EACtBM,SAAS,eAAET,cAAM,CAACU,MAAM,CAACV,cAAM,CAACG,MAAM,CAAC;EACvCQ,cAAc,eAAEX,cAAM,CAACU,MAAM,CAACV,cAAM,CAACG,MAAM,CAAC;EAC5CS,eAAe,eAAEZ,cAAM,CAACU,MAAM,CAACV,cAAM,CAACG,MAAM;CAC7C,CAAC;AAAAU,OAAA,CAAAd,gBAAA,GAAAA,gBAAA;AAEI,MAAOe,WAAY,sBAAQd,cAAM,CAACC,KAAK,CAAc,aAAa,CAAC,CAAC;EACxEC,EAAE,EAAEF,cAAM,CAACG,MAAM;EACjBC,OAAO,EAAEJ,cAAM,CAACG,MAAM;EACtBK,OAAO,EAAER,cAAM,CAACG,MAAM;EACtBY,eAAe,EAAEf,cAAM,CAACG;CACzB,CAAC;AAAAU,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAEF,MAAME,oBAAoB,gBAAGC,QAAG,CAACC,IAAI,CAAC,sBAAsB,EAAE;EAC5DC,OAAO,EAAE;IAAEC,KAAK,EAAEpB,cAAM,CAACqB;EAAM,CAAE;EACjCC,OAAO,eAAEtB,cAAM,CAACuB,KAAK,CAACxB,gBAAgB;CACvC,CAAC;AAEF,MAAMyB,kBAAkB,gBAAGP,QAAG,CAACC,IAAI,CAAC,oBAAoB,EAAE;EACxDC,OAAO,EAAE;IAAEjB,EAAE,EAAEF,cAAM,CAACG;EAAM;CAC7B,CAAC;AAEF,MAAMsB,eAAe,gBAAGR,QAAG,CAACC,IAAI,CAAC,iBAAiB,EAAE;EAClDC,OAAO,EAAE;IAAEjB,EAAE,EAAEF,cAAM,CAACG,MAAM;IAAEuB,KAAK,EAAE1B,cAAM,CAACG;EAAM;CACnD,CAAC;AAEF,MAAMwB,iBAAiB,gBAAGV,QAAG,CAACC,IAAI,CAAC,mBAAmB,EAAE;EACtDC,OAAO,EAAE;IAAEf,OAAO,EAAEJ,cAAM,CAACG,MAAM;IAAEK,OAAO,EAAER,cAAM,CAACG;EAAM,CAAE;EAC3DmB,OAAO,eAAEtB,cAAM,CAACU,MAAM,CAACI,WAAW;CACnC,CAAC;AAEF,MAAMc,aAAa,gBAAGX,QAAG,CAACC,IAAI,CAAC,eAAe,EAAE;EAC9CC,OAAO,EAAE;IACPf,OAAO,EAAEJ,cAAM,CAACG,MAAM;IACtBK,OAAO,EAAER,cAAM,CAACG,MAAM;IACtBY,eAAe,EAAEf,cAAM,CAACG;;CAE3B,CAAC;AAEF,MAAM0B,aAAa,gBAAGZ,QAAG,CAACC,IAAI,CAAC,eAAe,EAAE;EAC9CC,OAAO,EAAE;IAAEf,OAAO,EAAEJ,cAAM,CAACG,MAAM;IAAEK,OAAO,EAAER,cAAM,CAACG;EAAM;CAC1D,CAAC;AAEI,MAAO2B,YAAa,sBAAQC,aAAQ,CAACb,IAAI,CAC7CF,oBAAoB,EACpBQ,kBAAkB,EAClBC,eAAe,EACfE,iBAAiB,EACjBC,aAAa,EACbC,aAAa,CACd;AAAAhB,OAAA,CAAAiB,YAAA,GAAAA,YAAA","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
|