@sideline/domain 0.1.2 → 0.3.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 (134) hide show
  1. package/dist/cjs/api/AgeThresholdApi.js +86 -0
  2. package/dist/cjs/api/AgeThresholdApi.js.map +1 -0
  3. package/dist/cjs/api/Auth.js +33 -2
  4. package/dist/cjs/api/Auth.js.map +1 -1
  5. package/dist/cjs/api/Invite.js +1 -2
  6. package/dist/cjs/api/Invite.js.map +1 -1
  7. package/dist/cjs/api/NotificationApi.js +42 -0
  8. package/dist/cjs/api/NotificationApi.js.map +1 -0
  9. package/dist/cjs/api/RoleApi.js +123 -0
  10. package/dist/cjs/api/RoleApi.js.map +1 -0
  11. package/dist/cjs/api/Roster.js +159 -0
  12. package/dist/cjs/api/Roster.js.map +1 -0
  13. package/dist/cjs/api/SubgroupApi.js +122 -0
  14. package/dist/cjs/api/SubgroupApi.js.map +1 -0
  15. package/dist/cjs/index.js +31 -1
  16. package/dist/cjs/models/AgeThresholdRule.js +21 -0
  17. package/dist/cjs/models/AgeThresholdRule.js.map +1 -0
  18. package/dist/cjs/models/DiscordRoleMapping.js +20 -0
  19. package/dist/cjs/models/DiscordRoleMapping.js.map +1 -0
  20. package/dist/cjs/models/MemberRole.js +15 -0
  21. package/dist/cjs/models/MemberRole.js.map +1 -0
  22. package/dist/cjs/models/Notification.js +24 -0
  23. package/dist/cjs/models/Notification.js.map +1 -0
  24. package/dist/cjs/models/Role.js +32 -0
  25. package/dist/cjs/models/Role.js.map +1 -0
  26. package/dist/cjs/models/RoleSyncEvent.js +28 -0
  27. package/dist/cjs/models/RoleSyncEvent.js.map +1 -0
  28. package/dist/cjs/models/RosterMemberModel.js +19 -0
  29. package/dist/cjs/models/RosterMemberModel.js.map +1 -0
  30. package/dist/cjs/models/RosterModel.js +19 -0
  31. package/dist/cjs/models/RosterModel.js.map +1 -0
  32. package/dist/cjs/models/SubgroupModel.js +18 -0
  33. package/dist/cjs/models/SubgroupModel.js.map +1 -0
  34. package/dist/cjs/models/TeamMember.js +2 -3
  35. package/dist/cjs/models/TeamMember.js.map +1 -1
  36. package/dist/cjs/rpc/RoleSyncRpc.js +66 -0
  37. package/dist/cjs/rpc/RoleSyncRpc.js.map +1 -0
  38. package/dist/dts/api/AgeThresholdApi.d.ts +119 -0
  39. package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -0
  40. package/dist/dts/api/Auth.d.ts +60 -1
  41. package/dist/dts/api/Auth.d.ts.map +1 -1
  42. package/dist/dts/api/Invite.d.ts +7 -7
  43. package/dist/dts/api/Invite.d.ts.map +1 -1
  44. package/dist/dts/api/NotificationApi.d.ts +53 -0
  45. package/dist/dts/api/NotificationApi.d.ts.map +1 -0
  46. package/dist/dts/api/RoleApi.d.ts +138 -0
  47. package/dist/dts/api/RoleApi.d.ts.map +1 -0
  48. package/dist/dts/api/Roster.d.ts +225 -0
  49. package/dist/dts/api/Roster.d.ts.map +1 -0
  50. package/dist/dts/api/SubgroupApi.d.ts +140 -0
  51. package/dist/dts/api/SubgroupApi.d.ts.map +1 -0
  52. package/dist/dts/index.d.ts +15 -0
  53. package/dist/dts/index.d.ts.map +1 -1
  54. package/dist/dts/models/AgeThresholdRule.d.ts +97 -0
  55. package/dist/dts/models/AgeThresholdRule.d.ts.map +1 -0
  56. package/dist/dts/models/DiscordRoleMapping.d.ts +84 -0
  57. package/dist/dts/models/DiscordRoleMapping.d.ts.map +1 -0
  58. package/dist/dts/models/MemberRole.d.ts +16 -0
  59. package/dist/dts/models/MemberRole.d.ts.map +1 -0
  60. package/dist/dts/models/Notification.d.ts +125 -0
  61. package/dist/dts/models/Notification.d.ts.map +1 -0
  62. package/dist/dts/models/Role.d.ts +102 -0
  63. package/dist/dts/models/Role.d.ts.map +1 -0
  64. package/dist/dts/models/RoleSyncEvent.d.ts +164 -0
  65. package/dist/dts/models/RoleSyncEvent.d.ts.map +1 -0
  66. package/dist/dts/models/RosterMemberModel.d.ts +71 -0
  67. package/dist/dts/models/RosterMemberModel.d.ts.map +1 -0
  68. package/dist/dts/models/RosterModel.d.ts +84 -0
  69. package/dist/dts/models/RosterModel.d.ts.map +1 -0
  70. package/dist/dts/models/SubgroupModel.d.ts +71 -0
  71. package/dist/dts/models/SubgroupModel.d.ts.map +1 -0
  72. package/dist/dts/models/TeamInvite.d.ts +4 -4
  73. package/dist/dts/models/TeamMember.d.ts +11 -13
  74. package/dist/dts/models/TeamMember.d.ts.map +1 -1
  75. package/dist/dts/rpc/RoleSyncRpc.d.ts +82 -0
  76. package/dist/dts/rpc/RoleSyncRpc.d.ts.map +1 -0
  77. package/dist/esm/api/AgeThresholdApi.js +72 -0
  78. package/dist/esm/api/AgeThresholdApi.js.map +1 -0
  79. package/dist/esm/api/Auth.js +28 -1
  80. package/dist/esm/api/Auth.js.map +1 -1
  81. package/dist/esm/api/Invite.js +1 -2
  82. package/dist/esm/api/Invite.js.map +1 -1
  83. package/dist/esm/api/NotificationApi.js +32 -0
  84. package/dist/esm/api/NotificationApi.js.map +1 -0
  85. package/dist/esm/api/RoleApi.js +106 -0
  86. package/dist/esm/api/RoleApi.js.map +1 -0
  87. package/dist/esm/api/Roster.js +142 -0
  88. package/dist/esm/api/Roster.js.map +1 -0
  89. package/dist/esm/api/SubgroupApi.js +106 -0
  90. package/dist/esm/api/SubgroupApi.js.map +1 -0
  91. package/dist/esm/index.js +15 -0
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/models/AgeThresholdRule.js +14 -0
  94. package/dist/esm/models/AgeThresholdRule.js.map +1 -0
  95. package/dist/esm/models/DiscordRoleMapping.js +13 -0
  96. package/dist/esm/models/DiscordRoleMapping.js.map +1 -0
  97. package/dist/esm/models/MemberRole.js +8 -0
  98. package/dist/esm/models/MemberRole.js.map +1 -0
  99. package/dist/esm/models/Notification.js +17 -0
  100. package/dist/esm/models/Notification.js.map +1 -0
  101. package/dist/esm/models/Role.js +24 -0
  102. package/dist/esm/models/Role.js.map +1 -0
  103. package/dist/esm/models/RoleSyncEvent.js +21 -0
  104. package/dist/esm/models/RoleSyncEvent.js.map +1 -0
  105. package/dist/esm/models/RosterMemberModel.js +12 -0
  106. package/dist/esm/models/RosterMemberModel.js.map +1 -0
  107. package/dist/esm/models/RosterModel.js +12 -0
  108. package/dist/esm/models/RosterModel.js.map +1 -0
  109. package/dist/esm/models/SubgroupModel.js +11 -0
  110. package/dist/esm/models/SubgroupModel.js.map +1 -0
  111. package/dist/esm/models/TeamMember.js +1 -2
  112. package/dist/esm/models/TeamMember.js.map +1 -1
  113. package/dist/esm/rpc/RoleSyncRpc.js +57 -0
  114. package/dist/esm/rpc/RoleSyncRpc.js.map +1 -0
  115. package/package.json +2 -1
  116. package/src/api/AgeThresholdApi.ts +99 -0
  117. package/src/api/Auth.ts +52 -0
  118. package/src/api/Invite.ts +1 -2
  119. package/src/api/NotificationApi.ts +49 -0
  120. package/src/api/RoleApi.ts +130 -0
  121. package/src/api/Roster.ts +176 -0
  122. package/src/api/SubgroupApi.ts +146 -0
  123. package/src/index.ts +30 -0
  124. package/src/models/AgeThresholdRule.ts +16 -0
  125. package/src/models/DiscordRoleMapping.ts +15 -0
  126. package/src/models/MemberRole.ts +8 -0
  127. package/src/models/Notification.ts +26 -0
  128. package/src/models/Role.ts +53 -0
  129. package/src/models/RoleSyncEvent.ts +30 -0
  130. package/src/models/RosterMemberModel.ts +14 -0
  131. package/src/models/RosterModel.ts +14 -0
  132. package/src/models/SubgroupModel.ts +13 -0
  133. package/src/models/TeamMember.ts +1 -4
  134. package/src/rpc/RoleSyncRpc.ts +59 -0
@@ -22,12 +22,12 @@ declare const TeamInvite_base: import("@effect/experimental/VariantSchema").Clas
22
22
  readonly id: string & import("effect/Brand").Brand<"TeamInviteId">;
23
23
  } & {
24
24
  readonly created_at: DateTime.Utc;
25
- } & {
26
- readonly code: string;
27
25
  } & {
28
26
  readonly created_by: string & import("effect/Brand").Brand<"UserId">;
29
27
  } & {
30
28
  readonly team_id: string & import("effect/Brand").Brand<"TeamId">;
29
+ } & {
30
+ readonly code: string;
31
31
  } & {
32
32
  readonly active: boolean;
33
33
  } & {
@@ -44,12 +44,12 @@ declare const TeamInvite_base: import("@effect/experimental/VariantSchema").Clas
44
44
  readonly id: string & import("effect/Brand").Brand<"TeamInviteId">;
45
45
  } & {
46
46
  readonly created_at: DateTime.Utc;
47
- } & {
48
- readonly code: string;
49
47
  } & {
50
48
  readonly created_by: string & import("effect/Brand").Brand<"UserId">;
51
49
  } & {
52
50
  readonly team_id: string & import("effect/Brand").Brand<"TeamId">;
51
+ } & {
52
+ readonly code: string;
53
53
  } & {
54
54
  readonly active: boolean;
55
55
  } & {
@@ -2,19 +2,17 @@ import { Model } from '@effect/sql';
2
2
  import { Schema } from 'effect';
3
3
  export declare const TeamMemberId: Schema.brand<typeof Schema.String, "TeamMemberId">;
4
4
  export type TeamMemberId = typeof TeamMemberId.Type;
5
- export declare const TeamRole: Schema.Literal<["admin", "member"]>;
6
- export type TeamRole = typeof TeamRole.Type;
7
5
  declare const TeamMember_base: import("@effect/experimental/VariantSchema").Class<TeamMember, {
8
6
  readonly id: Model.Generated<Schema.brand<typeof Schema.String, "TeamMemberId">>;
9
7
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
10
8
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
11
- readonly role: Schema.Literal<["admin", "member"]>;
9
+ readonly active: typeof Schema.Boolean;
12
10
  readonly joined_at: Model.DateTimeInsertFromDate;
13
11
  }, import("@effect/experimental/VariantSchema").ExtractFields<"select", {
14
12
  readonly id: Model.Generated<Schema.brand<typeof Schema.String, "TeamMemberId">>;
15
13
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
16
14
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
17
- readonly role: Schema.Literal<["admin", "member"]>;
15
+ readonly active: typeof Schema.Boolean;
18
16
  readonly joined_at: Model.DateTimeInsertFromDate;
19
17
  }, true>, {
20
18
  readonly id: string & import("effect/Brand").Brand<"TeamMemberId">;
@@ -23,14 +21,14 @@ declare const TeamMember_base: import("@effect/experimental/VariantSchema").Clas
23
21
  } & {
24
22
  readonly user_id: string & import("effect/Brand").Brand<"UserId">;
25
23
  } & {
26
- readonly role: "admin" | "member";
24
+ readonly active: boolean;
27
25
  } & {
28
26
  readonly joined_at: import("effect/DateTime").Utc;
29
27
  }, Schema.Struct.Encoded<import("@effect/experimental/VariantSchema").ExtractFields<"select", {
30
28
  readonly id: Model.Generated<Schema.brand<typeof Schema.String, "TeamMemberId">>;
31
29
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
32
30
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
33
- readonly role: Schema.Literal<["admin", "member"]>;
31
+ readonly active: typeof Schema.Boolean;
34
32
  readonly joined_at: Model.DateTimeInsertFromDate;
35
33
  }, true>>, never, {
36
34
  readonly id: string & import("effect/Brand").Brand<"TeamMemberId">;
@@ -39,7 +37,7 @@ declare const TeamMember_base: import("@effect/experimental/VariantSchema").Clas
39
37
  } & {
40
38
  readonly user_id: string & import("effect/Brand").Brand<"UserId">;
41
39
  } & {
42
- readonly role: "admin" | "member";
40
+ readonly active: boolean;
43
41
  } & {
44
42
  readonly joined_at: import("effect/DateTime").Utc;
45
43
  }> & {
@@ -47,37 +45,37 @@ declare const TeamMember_base: import("@effect/experimental/VariantSchema").Clas
47
45
  readonly id: Schema.brand<typeof Schema.String, "TeamMemberId">;
48
46
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
49
47
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
50
- readonly role: Schema.Literal<["admin", "member"]>;
48
+ readonly active: typeof Schema.Boolean;
51
49
  readonly joined_at: Model.DateTimeFromDate;
52
50
  }>;
53
51
  readonly insert: Schema.Struct<{
54
52
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
55
53
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
56
- readonly role: Schema.Literal<["admin", "member"]>;
54
+ readonly active: typeof Schema.Boolean;
57
55
  readonly joined_at: import("@effect/experimental/VariantSchema").Overrideable<import("effect/DateTime").Utc, Date, never>;
58
56
  }>;
59
57
  readonly update: Schema.Struct<{
60
58
  readonly id: Schema.brand<typeof Schema.String, "TeamMemberId">;
61
59
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
62
60
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
63
- readonly role: Schema.Literal<["admin", "member"]>;
61
+ readonly active: typeof Schema.Boolean;
64
62
  }>;
65
63
  readonly json: Schema.Struct<{
66
64
  readonly id: Schema.brand<typeof Schema.String, "TeamMemberId">;
67
65
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
68
66
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
69
- readonly role: Schema.Literal<["admin", "member"]>;
67
+ readonly active: typeof Schema.Boolean;
70
68
  readonly joined_at: typeof Schema.DateTimeUtc;
71
69
  }>;
72
70
  readonly jsonCreate: Schema.Struct<{
73
71
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
74
72
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
75
- readonly role: Schema.Literal<["admin", "member"]>;
73
+ readonly active: typeof Schema.Boolean;
76
74
  }>;
77
75
  readonly jsonUpdate: Schema.Struct<{
78
76
  readonly team_id: Schema.brand<typeof Schema.String, "TeamId">;
79
77
  readonly user_id: Schema.brand<typeof Schema.String, "UserId">;
80
- readonly role: Schema.Literal<["admin", "member"]>;
78
+ readonly active: typeof Schema.Boolean;
81
79
  }>;
82
80
  };
83
81
  export declare class TeamMember extends TeamMember_base {
@@ -1 +1 @@
1
- {"version":3,"file":"TeamMember.d.ts","sourceRoot":"","sources":["../../../src/models/TeamMember.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,eAAO,MAAM,YAAY,oDAAmD,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,eAAO,MAAM,QAAQ,qCAAoC,CAAC;AAC1D,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5C,qBAAa,UAAW,SAAQ,eAM9B;CAAG"}
1
+ {"version":3,"file":"TeamMember.d.ts","sourceRoot":"","sources":["../../../src/models/TeamMember.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,eAAO,MAAM,YAAY,oDAAmD,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpD,qBAAa,UAAW,SAAQ,eAM9B;CAAG"}
@@ -0,0 +1,82 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,72 @@
1
+ import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
2
+ import { Schema } from 'effect';
3
+ import { AuthMiddleware } from '../api/Auth.js';
4
+ import { AgeThresholdRuleId } from '../models/AgeThresholdRule.js';
5
+ import { RoleId } from '../models/Role.js';
6
+ import { TeamId } from '../models/Team.js';
7
+ import { TeamMemberId } from '../models/TeamMember.js';
8
+ export class AgeThresholdInfo extends /*#__PURE__*/Schema.Class('AgeThresholdInfo')({
9
+ ruleId: AgeThresholdRuleId,
10
+ teamId: TeamId,
11
+ roleId: RoleId,
12
+ roleName: Schema.String,
13
+ minAge: /*#__PURE__*/Schema.NullOr(Schema.Number),
14
+ maxAge: /*#__PURE__*/Schema.NullOr(Schema.Number)
15
+ }) {}
16
+ export class AgeRoleChange extends /*#__PURE__*/Schema.Class('AgeRoleChange')({
17
+ memberId: TeamMemberId,
18
+ memberName: Schema.String,
19
+ roleId: RoleId,
20
+ roleName: Schema.String,
21
+ action: /*#__PURE__*/Schema.Literal('assigned', 'removed')
22
+ }) {}
23
+ export class CreateAgeThresholdRequest extends /*#__PURE__*/Schema.Class('CreateAgeThresholdRequest')({
24
+ roleId: RoleId,
25
+ minAge: /*#__PURE__*/Schema.NullOr(Schema.Number),
26
+ maxAge: /*#__PURE__*/Schema.NullOr(Schema.Number)
27
+ }) {}
28
+ export class UpdateAgeThresholdRequest extends /*#__PURE__*/Schema.Class('UpdateAgeThresholdRequest')({
29
+ minAge: /*#__PURE__*/Schema.NullOr(Schema.Number),
30
+ maxAge: /*#__PURE__*/Schema.NullOr(Schema.Number)
31
+ }) {}
32
+ export class Forbidden extends /*#__PURE__*/Schema.TaggedError()('AgeThresholdForbidden', {}, /*#__PURE__*/HttpApiSchema.annotations({
33
+ status: 403
34
+ })) {}
35
+ export class RuleNotFound extends /*#__PURE__*/Schema.TaggedError()('AgeThresholdRuleNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
36
+ status: 404
37
+ })) {}
38
+ export class RoleNotFound extends /*#__PURE__*/Schema.TaggedError()('AgeThresholdRoleNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
39
+ status: 404
40
+ })) {}
41
+ export class AgeThresholdApiGroup extends /*#__PURE__*/HttpApiGroup.make('ageThreshold').add(HttpApiEndpoint.get('listAgeThresholds', '/teams/:teamId/age-thresholds').addSuccess(Schema.Array(AgeThresholdInfo)).addError(Forbidden, {
42
+ status: 403
43
+ }).setPath(Schema.Struct({
44
+ teamId: TeamId
45
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('createAgeThreshold', '/teams/:teamId/age-thresholds').addSuccess(AgeThresholdInfo, {
46
+ status: 201
47
+ }).addError(Forbidden, {
48
+ status: 403
49
+ }).addError(RoleNotFound, {
50
+ status: 404
51
+ }).setPath(Schema.Struct({
52
+ teamId: TeamId
53
+ })).setPayload(CreateAgeThresholdRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('updateAgeThreshold', '/teams/:teamId/age-thresholds/:ruleId').addSuccess(AgeThresholdInfo).addError(Forbidden, {
54
+ status: 403
55
+ }).addError(RuleNotFound, {
56
+ status: 404
57
+ }).setPath(Schema.Struct({
58
+ teamId: TeamId,
59
+ ruleId: AgeThresholdRuleId
60
+ })).setPayload(UpdateAgeThresholdRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.del('deleteAgeThreshold', '/teams/:teamId/age-thresholds/:ruleId').addSuccess(Schema.Void).addError(Forbidden, {
61
+ status: 403
62
+ }).addError(RuleNotFound, {
63
+ status: 404
64
+ }).setPath(Schema.Struct({
65
+ teamId: TeamId,
66
+ ruleId: AgeThresholdRuleId
67
+ })).middleware(AuthMiddleware)).add(/*#__PURE__*/HttpApiEndpoint.post('evaluateAgeThresholds', '/teams/:teamId/age-thresholds/evaluate').addSuccess(Schema.Array(AgeRoleChange)).addError(Forbidden, {
68
+ status: 403
69
+ }).setPath(Schema.Struct({
70
+ teamId: TeamId
71
+ })).middleware(AuthMiddleware)) {}
72
+ //# sourceMappingURL=AgeThresholdApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgeThresholdApi.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiSchema","Schema","AuthMiddleware","AgeThresholdRuleId","RoleId","TeamId","TeamMemberId","AgeThresholdInfo","Class","ruleId","teamId","roleId","roleName","String","minAge","NullOr","Number","maxAge","AgeRoleChange","memberId","memberName","action","Literal","CreateAgeThresholdRequest","UpdateAgeThresholdRequest","Forbidden","TaggedError","annotations","status","RuleNotFound","RoleNotFound","AgeThresholdApiGroup","make","add","get","addSuccess","Array","addError","setPath","Struct","middleware","post","setPayload","patch","del","Void"],"sources":["../../../src/api/AgeThresholdApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,16 @@
1
1
  import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, HttpApiSecurity } from '@effect/platform';
2
2
  import { Context, Schema } from 'effect';
3
+ import { Permission } from '../models/Role.js';
4
+ import { TeamId } from '../models/Team.js';
3
5
  import { Gender, Locale, Position, Proficiency, UserId } from '../models/User.js';
4
6
  export { UserId } from '../models/User.js';
5
7
  export const MIN_AGE = 6;
8
+ export class UserTeam extends /*#__PURE__*/Schema.Class('UserTeam')({
9
+ teamId: TeamId,
10
+ teamName: Schema.String,
11
+ roleNames: /*#__PURE__*/Schema.Array(Schema.String),
12
+ permissions: /*#__PURE__*/Schema.Array(Permission)
13
+ }) {}
6
14
  export class CurrentUser extends /*#__PURE__*/Schema.Class('CurrentUser')({
7
15
  id: UserId,
8
16
  discordId: Schema.String,
@@ -20,6 +28,9 @@ export class CurrentUser extends /*#__PURE__*/Schema.Class('CurrentUser')({
20
28
  export class UpdateLocaleRequest extends /*#__PURE__*/Schema.Class('UpdateLocaleRequest')({
21
29
  locale: Locale
22
30
  }) {}
31
+ export class CreateTeamRequest extends /*#__PURE__*/Schema.Class('CreateTeamRequest')({
32
+ name: /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.minLength(1), /*#__PURE__*/Schema.maxLength(100))
33
+ }) {}
23
34
  export class CompleteProfileRequest extends /*#__PURE__*/Schema.Class('CompleteProfileRequest')({
24
35
  name: Schema.String,
25
36
  birthYear: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.greaterThanOrEqualTo(1900), /*#__PURE__*/Schema.filter(year => year <= new Date().getFullYear() - MIN_AGE, {
@@ -32,6 +43,16 @@ export class CompleteProfileRequest extends /*#__PURE__*/Schema.Class('CompleteP
32
43
  position: Position,
33
44
  proficiency: Proficiency
34
45
  }) {}
46
+ export class UpdateProfileRequest extends /*#__PURE__*/Schema.Class('UpdateProfileRequest')({
47
+ name: /*#__PURE__*/Schema.NullOr(Schema.String),
48
+ birthYear: /*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.greaterThanOrEqualTo(1900), /*#__PURE__*/Schema.filter(year => year <= new Date().getFullYear() - MIN_AGE, {
49
+ message: () => `Birth year must be at most ${new Date().getFullYear() - MIN_AGE}`
50
+ }))),
51
+ gender: /*#__PURE__*/Schema.NullOr(Gender),
52
+ jerseyNumber: /*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.between(0, 99))),
53
+ position: /*#__PURE__*/Schema.NullOr(Position),
54
+ proficiency: /*#__PURE__*/Schema.NullOr(Proficiency)
55
+ }) {}
35
56
  export class Unauthorized extends /*#__PURE__*/Schema.TaggedError()('Unauthorized', {}, /*#__PURE__*/HttpApiSchema.annotations({
36
57
  status: 401
37
58
  })) {}
@@ -63,5 +84,11 @@ export class AuthApiGroup extends /*#__PURE__*/HttpApiGroup.make('auth').add(Htt
63
84
  status: 401
64
85
  }).setPayload(CompleteProfileRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('updateLocale', '/me/locale').addSuccess(CurrentUser).addError(Unauthorized, {
65
86
  status: 401
66
- }).setPayload(UpdateLocaleRequest).middleware(AuthMiddleware)).prefix('/auth') {}
87
+ }).setPayload(UpdateLocaleRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('updateProfile', '/me').addSuccess(CurrentUser).addError(Unauthorized, {
88
+ status: 401
89
+ }).setPayload(UpdateProfileRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.get('myTeams', '/me/teams').addSuccess(Schema.Array(UserTeam)).addError(Unauthorized, {
90
+ status: 401
91
+ }).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('createTeam', '/me/teams').addSuccess(UserTeam).addError(Unauthorized, {
92
+ status: 401
93
+ }).setPayload(CreateTeamRequest).middleware(AuthMiddleware)).prefix('/auth') {}
67
94
  //# sourceMappingURL=Auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiMiddleware","HttpApiSchema","HttpApiSecurity","Context","Schema","Gender","Locale","Position","Proficiency","UserId","MIN_AGE","CurrentUser","Class","id","discordId","String","discordUsername","discordAvatar","NullOr","isProfileComplete","Boolean","name","birthYear","Number","gender","jerseyNumber","position","proficiency","locale","UpdateLocaleRequest","CompleteProfileRequest","pipe","int","greaterThanOrEqualTo","filter","year","Date","getFullYear","message","optionalWith","between","as","Unauthorized","TaggedError","annotations","status","CurrentUserContext","Tag","AuthMiddleware","failure","provides","security","token","bearer","AuthApiGroup","make","add","get","addSuccess","URL","Void","setUrlParams","Struct","code","state","error","addError","middleware","post","setPayload","patch","prefix"],"sources":["../../../src/api/Auth.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Auth.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiMiddleware","HttpApiSchema","HttpApiSecurity","Context","Schema","Permission","TeamId","Gender","Locale","Position","Proficiency","UserId","MIN_AGE","UserTeam","Class","teamId","teamName","String","roleNames","Array","permissions","CurrentUser","id","discordId","discordUsername","discordAvatar","NullOr","isProfileComplete","Boolean","name","birthYear","Number","gender","jerseyNumber","position","proficiency","locale","UpdateLocaleRequest","CreateTeamRequest","pipe","minLength","maxLength","CompleteProfileRequest","int","greaterThanOrEqualTo","filter","year","Date","getFullYear","message","optionalWith","between","as","UpdateProfileRequest","Unauthorized","TaggedError","annotations","status","CurrentUserContext","Tag","AuthMiddleware","failure","provides","security","token","bearer","AuthApiGroup","make","add","get","addSuccess","URL","Void","setUrlParams","Struct","code","state","error","addError","middleware","post","setPayload","patch","prefix"],"sources":["../../../src/api/Auth.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,6 @@ import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
2
2
  import { Schema } from 'effect';
3
3
  import { AuthMiddleware } from '../api/Auth.js';
4
4
  import { TeamId } from '../models/Team.js';
5
- import { TeamRole } from '../models/TeamMember.js';
6
5
  export class InviteInfo extends /*#__PURE__*/Schema.Class('InviteInfo')({
7
6
  teamName: Schema.String,
8
7
  teamId: TeamId,
@@ -10,7 +9,7 @@ export class InviteInfo extends /*#__PURE__*/Schema.Class('InviteInfo')({
10
9
  }) {}
11
10
  export class JoinResult extends /*#__PURE__*/Schema.Class('JoinResult')({
12
11
  teamId: TeamId,
13
- role: TeamRole,
12
+ roleNames: /*#__PURE__*/Schema.Array(Schema.String),
14
13
  isProfileComplete: Schema.Boolean
15
14
  }) {}
16
15
  export class InviteCode extends /*#__PURE__*/Schema.Class('InviteCode')({
@@ -1 +1 @@
1
- {"version":3,"file":"Invite.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiSchema","Schema","AuthMiddleware","TeamId","TeamRole","InviteInfo","Class","teamName","String","teamId","code","JoinResult","role","isProfileComplete","Boolean","InviteCode","active","InviteNotFound","TaggedError","annotations","status","AlreadyMember","Forbidden","InviteApiGroup","make","add","get","addSuccess","addError","setPath","Struct","post","middleware","del","Void"],"sources":["../../../src/api/Invite.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Invite.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiSchema","Schema","AuthMiddleware","TeamId","InviteInfo","Class","teamName","String","teamId","code","JoinResult","roleNames","Array","isProfileComplete","Boolean","InviteCode","active","InviteNotFound","TaggedError","annotations","status","AlreadyMember","Forbidden","InviteApiGroup","make","add","get","addSuccess","addError","setPath","Struct","post","middleware","del","Void"],"sources":["../../../src/api/Invite.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
2
+ import { Schema } from 'effect';
3
+ import { AuthMiddleware } from '../api/Auth.js';
4
+ import { NotificationId, NotificationType } from '../models/Notification.js';
5
+ import { TeamId } from '../models/Team.js';
6
+ export class NotificationInfo extends /*#__PURE__*/Schema.Class('NotificationInfo')({
7
+ notificationId: NotificationId,
8
+ teamId: TeamId,
9
+ type: NotificationType,
10
+ title: Schema.String,
11
+ body: Schema.String,
12
+ isRead: Schema.Boolean,
13
+ createdAt: Schema.String
14
+ }) {}
15
+ export class Forbidden extends /*#__PURE__*/Schema.TaggedError()('NotificationForbidden', {}, /*#__PURE__*/HttpApiSchema.annotations({
16
+ status: 403
17
+ })) {}
18
+ export class NotificationNotFound extends /*#__PURE__*/Schema.TaggedError()('NotificationNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
19
+ status: 404
20
+ })) {}
21
+ export class NotificationApiGroup extends /*#__PURE__*/HttpApiGroup.make('notification').add(HttpApiEndpoint.get('listNotifications', '/notifications').addSuccess(Schema.Array(NotificationInfo)).addError(Forbidden, {
22
+ status: 403
23
+ }).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('markAsRead', '/notifications/:notificationId/read').addSuccess(Schema.Void).addError(Forbidden, {
24
+ status: 403
25
+ }).addError(NotificationNotFound, {
26
+ status: 404
27
+ }).setPath(Schema.Struct({
28
+ notificationId: NotificationId
29
+ })).middleware(AuthMiddleware)).add(/*#__PURE__*/HttpApiEndpoint.post('markAllAsRead', '/notifications/read-all').addSuccess(Schema.Void).addError(Forbidden, {
30
+ status: 403
31
+ }).middleware(AuthMiddleware)) {}
32
+ //# sourceMappingURL=NotificationApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationApi.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiSchema","Schema","AuthMiddleware","NotificationId","NotificationType","TeamId","NotificationInfo","Class","notificationId","teamId","type","title","String","body","isRead","Boolean","createdAt","Forbidden","TaggedError","annotations","status","NotificationNotFound","NotificationApiGroup","make","add","get","addSuccess","Array","addError","middleware","patch","Void","setPath","Struct","post"],"sources":["../../../src/api/NotificationApi.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAe,EAAEC,YAAY,EAAEC,aAAa,QAAQ,kBAAkB;AAC/E,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,2BAA2B;AAC5E,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAM,MAAOC,gBAAiB,sBAAQL,MAAM,CAACM,KAAK,CAAmB,kBAAkB,CAAC,CAAC;EACvFC,cAAc,EAAEL,cAAc;EAC9BM,MAAM,EAAEJ,MAAM;EACdK,IAAI,EAAEN,gBAAgB;EACtBO,KAAK,EAAEV,MAAM,CAACW,MAAM;EACpBC,IAAI,EAAEZ,MAAM,CAACW,MAAM;EACnBE,MAAM,EAAEb,MAAM,CAACc,OAAO;EACtBC,SAAS,EAAEf,MAAM,CAACW;CACnB,CAAC;AAEF,OAAM,MAAOK,SAAU,sBAAQhB,MAAM,CAACiB,WAAW,EAAa,CAC5D,uBAAuB,EACvB,EAAE,eACFlB,aAAa,CAACmB,WAAW,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAE,CAAC,CAC3C;AAED,OAAM,MAAOC,oBAAqB,sBAAQpB,MAAM,CAACiB,WAAW,EAAwB,CAClF,sBAAsB,EACtB,EAAE,eACFlB,aAAa,CAACmB,WAAW,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAE,CAAC,CAC3C;AAED,OAAM,MAAOE,oBAAqB,sBAAQvB,YAAY,CAACwB,IAAI,CAAC,cAAc,CAAC,CACxEC,GAAG,CACF1B,eAAe,CAAC2B,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CACvDC,UAAU,CAACzB,MAAM,CAAC0B,KAAK,CAACrB,gBAAgB,CAAC,CAAC,CAC1CsB,QAAQ,CAACX,SAAS,EAAE;EAAEG,MAAM,EAAE;AAAG,CAAE,CAAC,CACpCS,UAAU,CAAC3B,cAAc,CAAC,CAC9B,CACAsB,GAAG,CACF1B,eAAe,CAACgC,KAAK,CAAC,YAAY,EAAE,qCAAqC,CAAC,CACvEJ,UAAU,CAACzB,MAAM,CAAC8B,IAAI,CAAC,CACvBH,QAAQ,CAACX,SAAS,EAAE;EAAEG,MAAM,EAAE;AAAG,CAAE,CAAC,CACpCQ,QAAQ,CAACP,oBAAoB,EAAE;EAAED,MAAM,EAAE;AAAG,CAAE,CAAC,CAC/CY,OAAO,CAAC/B,MAAM,CAACgC,MAAM,CAAC;EAAEzB,cAAc,EAAEL;AAAc,CAAE,CAAC,CAAC,CAC1D0B,UAAU,CAAC3B,cAAc,CAAC,CAC9B,CACAsB,GAAG,cACF1B,eAAe,CAACoC,IAAI,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAC7DR,UAAU,CAACzB,MAAM,CAAC8B,IAAI,CAAC,CACvBH,QAAQ,CAACX,SAAS,EAAE;EAAEG,MAAM,EAAE;AAAG,CAAE,CAAC,CACpCS,UAAU,CAAC3B,cAAc,CAAC,CAC9B","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
2
+ import { Schema } from 'effect';
3
+ import { AuthMiddleware } from '../api/Auth.js';
4
+ import { Permission, RoleId } from '../models/Role.js';
5
+ import { TeamId } from '../models/Team.js';
6
+ import { TeamMemberId } from '../models/TeamMember.js';
7
+ export class RoleInfo extends /*#__PURE__*/Schema.Class('RoleInfo')({
8
+ roleId: RoleId,
9
+ teamId: TeamId,
10
+ name: Schema.String,
11
+ isBuiltIn: Schema.Boolean,
12
+ permissionCount: Schema.Number
13
+ }) {}
14
+ export class RoleDetail extends /*#__PURE__*/Schema.Class('RoleDetail')({
15
+ roleId: RoleId,
16
+ teamId: TeamId,
17
+ name: Schema.String,
18
+ isBuiltIn: Schema.Boolean,
19
+ permissions: /*#__PURE__*/Schema.Array(Permission)
20
+ }) {}
21
+ export class CreateRoleRequest extends /*#__PURE__*/Schema.Class('CreateRoleRequest')({
22
+ name: Schema.NonEmptyString,
23
+ permissions: /*#__PURE__*/Schema.Array(Permission)
24
+ }) {}
25
+ export class UpdateRoleRequest extends /*#__PURE__*/Schema.Class('UpdateRoleRequest')({
26
+ name: /*#__PURE__*/Schema.NullOr(Schema.NonEmptyString),
27
+ permissions: /*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Array(Permission))
28
+ }) {}
29
+ export class RoleNotFound extends /*#__PURE__*/Schema.TaggedError()('RoleNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
30
+ status: 404
31
+ })) {}
32
+ export class Forbidden extends /*#__PURE__*/Schema.TaggedError()('RoleForbidden', {}, /*#__PURE__*/HttpApiSchema.annotations({
33
+ status: 403
34
+ })) {}
35
+ export class CannotModifyBuiltIn extends /*#__PURE__*/Schema.TaggedError()('CannotModifyBuiltIn', {}, /*#__PURE__*/HttpApiSchema.annotations({
36
+ status: 400
37
+ })) {}
38
+ export class AssignRoleRequest extends /*#__PURE__*/Schema.Class('AssignRoleRequest')({
39
+ roleId: RoleId
40
+ }) {}
41
+ export class MemberNotFound extends /*#__PURE__*/Schema.TaggedError()('MemberNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
42
+ status: 404
43
+ })) {}
44
+ export class RoleInUse extends /*#__PURE__*/Schema.TaggedError()('RoleInUse', {}, /*#__PURE__*/HttpApiSchema.annotations({
45
+ status: 409
46
+ })) {}
47
+ export class RoleApiGroup extends /*#__PURE__*/HttpApiGroup.make('role').add(HttpApiEndpoint.get('listRoles', '/teams/:teamId/roles').addSuccess(Schema.Array(RoleInfo)).addError(Forbidden, {
48
+ status: 403
49
+ }).setPath(Schema.Struct({
50
+ teamId: TeamId
51
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('createRole', '/teams/:teamId/roles').addSuccess(RoleDetail, {
52
+ status: 201
53
+ }).addError(Forbidden, {
54
+ status: 403
55
+ }).setPath(Schema.Struct({
56
+ teamId: TeamId
57
+ })).setPayload(CreateRoleRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.get('getRole', '/teams/:teamId/roles/:roleId').addSuccess(RoleDetail).addError(Forbidden, {
58
+ status: 403
59
+ }).addError(RoleNotFound, {
60
+ status: 404
61
+ }).setPath(Schema.Struct({
62
+ teamId: TeamId,
63
+ roleId: RoleId
64
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('updateRole', '/teams/:teamId/roles/:roleId').addSuccess(RoleDetail).addError(Forbidden, {
65
+ status: 403
66
+ }).addError(RoleNotFound, {
67
+ status: 404
68
+ }).addError(CannotModifyBuiltIn, {
69
+ status: 400
70
+ }).setPath(Schema.Struct({
71
+ teamId: TeamId,
72
+ roleId: RoleId
73
+ })).setPayload(UpdateRoleRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.del('deleteRole', '/teams/:teamId/roles/:roleId').addSuccess(Schema.Void).addError(Forbidden, {
74
+ status: 403
75
+ }).addError(RoleNotFound, {
76
+ status: 404
77
+ }).addError(CannotModifyBuiltIn, {
78
+ status: 400
79
+ }).addError(RoleInUse, {
80
+ status: 409
81
+ }).setPath(Schema.Struct({
82
+ teamId: TeamId,
83
+ roleId: RoleId
84
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('assignRole', '/teams/:teamId/members/:memberId/roles').addSuccess(Schema.Void, {
85
+ status: 204
86
+ }).addError(Forbidden, {
87
+ status: 403
88
+ }).addError(MemberNotFound, {
89
+ status: 404
90
+ }).addError(RoleNotFound, {
91
+ status: 404
92
+ }).setPath(Schema.Struct({
93
+ teamId: TeamId,
94
+ memberId: TeamMemberId
95
+ })).setPayload(AssignRoleRequest).middleware(AuthMiddleware)).add(/*#__PURE__*/HttpApiEndpoint.del('unassignRole', '/teams/:teamId/members/:memberId/roles/:roleId').addSuccess(Schema.Void).addError(Forbidden, {
96
+ status: 403
97
+ }).addError(MemberNotFound, {
98
+ status: 404
99
+ }).addError(RoleNotFound, {
100
+ status: 404
101
+ }).setPath(Schema.Struct({
102
+ teamId: TeamId,
103
+ memberId: TeamMemberId,
104
+ roleId: RoleId
105
+ })).middleware(AuthMiddleware)) {}
106
+ //# sourceMappingURL=RoleApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleApi.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiSchema","Schema","AuthMiddleware","Permission","RoleId","TeamId","TeamMemberId","RoleInfo","Class","roleId","teamId","name","String","isBuiltIn","Boolean","permissionCount","Number","RoleDetail","permissions","Array","CreateRoleRequest","NonEmptyString","UpdateRoleRequest","NullOr","RoleNotFound","TaggedError","annotations","status","Forbidden","CannotModifyBuiltIn","AssignRoleRequest","MemberNotFound","RoleInUse","RoleApiGroup","make","add","get","addSuccess","addError","setPath","Struct","middleware","post","setPayload","patch","del","Void","memberId"],"sources":["../../../src/api/RoleApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}