@sideline/domain 0.1.2 → 0.2.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 (113) 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 +25 -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/MemberRole.js +15 -0
  19. package/dist/cjs/models/MemberRole.js.map +1 -0
  20. package/dist/cjs/models/Notification.js +24 -0
  21. package/dist/cjs/models/Notification.js.map +1 -0
  22. package/dist/cjs/models/Role.js +32 -0
  23. package/dist/cjs/models/Role.js.map +1 -0
  24. package/dist/cjs/models/RosterMemberModel.js +19 -0
  25. package/dist/cjs/models/RosterMemberModel.js.map +1 -0
  26. package/dist/cjs/models/RosterModel.js +19 -0
  27. package/dist/cjs/models/RosterModel.js.map +1 -0
  28. package/dist/cjs/models/SubgroupModel.js +18 -0
  29. package/dist/cjs/models/SubgroupModel.js.map +1 -0
  30. package/dist/cjs/models/TeamMember.js +2 -3
  31. package/dist/cjs/models/TeamMember.js.map +1 -1
  32. package/dist/dts/api/AgeThresholdApi.d.ts +119 -0
  33. package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -0
  34. package/dist/dts/api/Auth.d.ts +60 -1
  35. package/dist/dts/api/Auth.d.ts.map +1 -1
  36. package/dist/dts/api/Invite.d.ts +7 -7
  37. package/dist/dts/api/Invite.d.ts.map +1 -1
  38. package/dist/dts/api/NotificationApi.d.ts +53 -0
  39. package/dist/dts/api/NotificationApi.d.ts.map +1 -0
  40. package/dist/dts/api/RoleApi.d.ts +138 -0
  41. package/dist/dts/api/RoleApi.d.ts.map +1 -0
  42. package/dist/dts/api/Roster.d.ts +225 -0
  43. package/dist/dts/api/Roster.d.ts.map +1 -0
  44. package/dist/dts/api/SubgroupApi.d.ts +140 -0
  45. package/dist/dts/api/SubgroupApi.d.ts.map +1 -0
  46. package/dist/dts/index.d.ts +12 -0
  47. package/dist/dts/index.d.ts.map +1 -1
  48. package/dist/dts/models/AgeThresholdRule.d.ts +97 -0
  49. package/dist/dts/models/AgeThresholdRule.d.ts.map +1 -0
  50. package/dist/dts/models/MemberRole.d.ts +16 -0
  51. package/dist/dts/models/MemberRole.d.ts.map +1 -0
  52. package/dist/dts/models/Notification.d.ts +125 -0
  53. package/dist/dts/models/Notification.d.ts.map +1 -0
  54. package/dist/dts/models/Role.d.ts +102 -0
  55. package/dist/dts/models/Role.d.ts.map +1 -0
  56. package/dist/dts/models/RosterMemberModel.d.ts +71 -0
  57. package/dist/dts/models/RosterMemberModel.d.ts.map +1 -0
  58. package/dist/dts/models/RosterModel.d.ts +84 -0
  59. package/dist/dts/models/RosterModel.d.ts.map +1 -0
  60. package/dist/dts/models/SubgroupModel.d.ts +71 -0
  61. package/dist/dts/models/SubgroupModel.d.ts.map +1 -0
  62. package/dist/dts/models/TeamInvite.d.ts +4 -4
  63. package/dist/dts/models/TeamMember.d.ts +11 -13
  64. package/dist/dts/models/TeamMember.d.ts.map +1 -1
  65. package/dist/esm/api/AgeThresholdApi.js +72 -0
  66. package/dist/esm/api/AgeThresholdApi.js.map +1 -0
  67. package/dist/esm/api/Auth.js +28 -1
  68. package/dist/esm/api/Auth.js.map +1 -1
  69. package/dist/esm/api/Invite.js +1 -2
  70. package/dist/esm/api/Invite.js.map +1 -1
  71. package/dist/esm/api/NotificationApi.js +32 -0
  72. package/dist/esm/api/NotificationApi.js.map +1 -0
  73. package/dist/esm/api/RoleApi.js +106 -0
  74. package/dist/esm/api/RoleApi.js.map +1 -0
  75. package/dist/esm/api/Roster.js +142 -0
  76. package/dist/esm/api/Roster.js.map +1 -0
  77. package/dist/esm/api/SubgroupApi.js +106 -0
  78. package/dist/esm/api/SubgroupApi.js.map +1 -0
  79. package/dist/esm/index.js +12 -0
  80. package/dist/esm/index.js.map +1 -1
  81. package/dist/esm/models/AgeThresholdRule.js +14 -0
  82. package/dist/esm/models/AgeThresholdRule.js.map +1 -0
  83. package/dist/esm/models/MemberRole.js +8 -0
  84. package/dist/esm/models/MemberRole.js.map +1 -0
  85. package/dist/esm/models/Notification.js +17 -0
  86. package/dist/esm/models/Notification.js.map +1 -0
  87. package/dist/esm/models/Role.js +24 -0
  88. package/dist/esm/models/Role.js.map +1 -0
  89. package/dist/esm/models/RosterMemberModel.js +12 -0
  90. package/dist/esm/models/RosterMemberModel.js.map +1 -0
  91. package/dist/esm/models/RosterModel.js +12 -0
  92. package/dist/esm/models/RosterModel.js.map +1 -0
  93. package/dist/esm/models/SubgroupModel.js +11 -0
  94. package/dist/esm/models/SubgroupModel.js.map +1 -0
  95. package/dist/esm/models/TeamMember.js +1 -2
  96. package/dist/esm/models/TeamMember.js.map +1 -1
  97. package/package.json +1 -1
  98. package/src/api/AgeThresholdApi.ts +99 -0
  99. package/src/api/Auth.ts +52 -0
  100. package/src/api/Invite.ts +1 -2
  101. package/src/api/NotificationApi.ts +49 -0
  102. package/src/api/RoleApi.ts +130 -0
  103. package/src/api/Roster.ts +176 -0
  104. package/src/api/SubgroupApi.ts +146 -0
  105. package/src/index.ts +24 -0
  106. package/src/models/AgeThresholdRule.ts +16 -0
  107. package/src/models/MemberRole.ts +8 -0
  108. package/src/models/Notification.ts +26 -0
  109. package/src/models/Role.ts +53 -0
  110. package/src/models/RosterMemberModel.ts +14 -0
  111. package/src/models/RosterModel.ts +14 -0
  112. package/src/models/SubgroupModel.ts +13 -0
  113. package/src/models/TeamMember.ts +1 -4
@@ -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,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":[]}
@@ -0,0 +1,142 @@
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 { RosterId } from '../models/RosterModel.js';
6
+ import { TeamId } from '../models/Team.js';
7
+ import { TeamMemberId } from '../models/TeamMember.js';
8
+ import { Gender, Position, Proficiency, UserId } from '../models/User.js';
9
+ export class RosterPlayer extends /*#__PURE__*/Schema.Class('RosterPlayer')({
10
+ memberId: TeamMemberId,
11
+ userId: UserId,
12
+ roleNames: /*#__PURE__*/Schema.Array(Schema.String),
13
+ permissions: /*#__PURE__*/Schema.Array(Permission),
14
+ name: /*#__PURE__*/Schema.NullOr(Schema.String),
15
+ birthYear: /*#__PURE__*/Schema.NullOr(Schema.Number),
16
+ gender: /*#__PURE__*/Schema.NullOr(Gender),
17
+ jerseyNumber: /*#__PURE__*/Schema.NullOr(Schema.Number),
18
+ position: /*#__PURE__*/Schema.NullOr(Position),
19
+ proficiency: /*#__PURE__*/Schema.NullOr(Proficiency),
20
+ discordUsername: Schema.String,
21
+ discordAvatar: /*#__PURE__*/Schema.NullOr(Schema.String)
22
+ }) {}
23
+ export class UpdatePlayerRequest extends /*#__PURE__*/Schema.Class('UpdatePlayerRequest')({
24
+ name: /*#__PURE__*/Schema.NullOr(Schema.String),
25
+ birthYear: /*#__PURE__*/Schema.NullOr(Schema.Number),
26
+ gender: /*#__PURE__*/Schema.NullOr(Gender),
27
+ jerseyNumber: /*#__PURE__*/Schema.NullOr(Schema.Number),
28
+ position: /*#__PURE__*/Schema.NullOr(Position),
29
+ proficiency: /*#__PURE__*/Schema.NullOr(Proficiency)
30
+ }) {}
31
+ export class PlayerNotFound extends /*#__PURE__*/Schema.TaggedError()('PlayerNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
32
+ status: 404
33
+ })) {}
34
+ export class Forbidden extends /*#__PURE__*/Schema.TaggedError()('Forbidden', {}, /*#__PURE__*/HttpApiSchema.annotations({
35
+ status: 403
36
+ })) {}
37
+ export class RosterNotFound extends /*#__PURE__*/Schema.TaggedError()('RosterNotFound', {}, /*#__PURE__*/HttpApiSchema.annotations({
38
+ status: 404
39
+ })) {}
40
+ export class RosterInfo extends /*#__PURE__*/Schema.Class('RosterInfo')({
41
+ rosterId: RosterId,
42
+ teamId: TeamId,
43
+ name: Schema.String,
44
+ active: Schema.Boolean,
45
+ memberCount: Schema.Number,
46
+ createdAt: Schema.String
47
+ }) {}
48
+ export class RosterDetail extends /*#__PURE__*/Schema.Class('RosterDetail')({
49
+ rosterId: RosterId,
50
+ teamId: TeamId,
51
+ name: Schema.String,
52
+ active: Schema.Boolean,
53
+ createdAt: Schema.String,
54
+ members: /*#__PURE__*/Schema.Array(RosterPlayer)
55
+ }) {}
56
+ export class CreateRosterRequest extends /*#__PURE__*/Schema.Class('CreateRosterRequest')({
57
+ name: Schema.String
58
+ }) {}
59
+ export class UpdateRosterRequest extends /*#__PURE__*/Schema.Class('UpdateRosterRequest')({
60
+ name: /*#__PURE__*/Schema.NullOr(Schema.String),
61
+ active: /*#__PURE__*/Schema.NullOr(Schema.Boolean)
62
+ }) {}
63
+ export class AddRosterMemberRequest extends /*#__PURE__*/Schema.Class('AddRosterMemberRequest')({
64
+ memberId: TeamMemberId
65
+ }) {}
66
+ export class RosterApiGroup extends /*#__PURE__*/HttpApiGroup.make('roster').add(HttpApiEndpoint.get('listMembers', '/teams/:teamId/members').addSuccess(Schema.Array(RosterPlayer)).addError(Forbidden, {
67
+ status: 403
68
+ }).setPath(Schema.Struct({
69
+ teamId: TeamId
70
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.get('getMember', '/teams/:teamId/members/:memberId').addSuccess(RosterPlayer).addError(Forbidden, {
71
+ status: 403
72
+ }).addError(PlayerNotFound, {
73
+ status: 404
74
+ }).setPath(Schema.Struct({
75
+ teamId: TeamId,
76
+ memberId: TeamMemberId
77
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('updateMember', '/teams/:teamId/members/:memberId').addSuccess(RosterPlayer).addError(Forbidden, {
78
+ status: 403
79
+ }).addError(PlayerNotFound, {
80
+ status: 404
81
+ }).setPath(Schema.Struct({
82
+ teamId: TeamId,
83
+ memberId: TeamMemberId
84
+ })).setPayload(UpdatePlayerRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.del('deactivateMember', '/teams/:teamId/members/:memberId').addSuccess(Schema.Void).addError(Forbidden, {
85
+ status: 403
86
+ }).addError(PlayerNotFound, {
87
+ status: 404
88
+ }).setPath(Schema.Struct({
89
+ teamId: TeamId,
90
+ memberId: TeamMemberId
91
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.get('listRosters', '/teams/:teamId/rosters').addSuccess(Schema.Array(RosterInfo)).addError(Forbidden, {
92
+ status: 403
93
+ }).setPath(Schema.Struct({
94
+ teamId: TeamId
95
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('createRoster', '/teams/:teamId/rosters').addSuccess(RosterInfo, {
96
+ status: 201
97
+ }).addError(Forbidden, {
98
+ status: 403
99
+ }).setPath(Schema.Struct({
100
+ teamId: TeamId
101
+ })).setPayload(CreateRosterRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.get('getRoster', '/teams/:teamId/rosters/:rosterId').addSuccess(RosterDetail).addError(Forbidden, {
102
+ status: 403
103
+ }).addError(RosterNotFound, {
104
+ status: 404
105
+ }).setPath(Schema.Struct({
106
+ teamId: TeamId,
107
+ rosterId: RosterId
108
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.patch('updateRoster', '/teams/:teamId/rosters/:rosterId').addSuccess(RosterInfo).addError(Forbidden, {
109
+ status: 403
110
+ }).addError(RosterNotFound, {
111
+ status: 404
112
+ }).setPath(Schema.Struct({
113
+ teamId: TeamId,
114
+ rosterId: RosterId
115
+ })).setPayload(UpdateRosterRequest).middleware(AuthMiddleware)).add(HttpApiEndpoint.del('deleteRoster', '/teams/:teamId/rosters/:rosterId').addSuccess(Schema.Void).addError(Forbidden, {
116
+ status: 403
117
+ }).addError(RosterNotFound, {
118
+ status: 404
119
+ }).setPath(Schema.Struct({
120
+ teamId: TeamId,
121
+ rosterId: RosterId
122
+ })).middleware(AuthMiddleware)).add(HttpApiEndpoint.post('addRosterMember', '/teams/:teamId/rosters/:rosterId/members').addSuccess(Schema.Void).addError(Forbidden, {
123
+ status: 403
124
+ }).addError(RosterNotFound, {
125
+ status: 404
126
+ }).addError(PlayerNotFound, {
127
+ status: 404
128
+ }).setPath(Schema.Struct({
129
+ teamId: TeamId,
130
+ rosterId: RosterId
131
+ })).setPayload(AddRosterMemberRequest).middleware(AuthMiddleware)).add(/*#__PURE__*/HttpApiEndpoint.del('removeRosterMember', '/teams/:teamId/rosters/:rosterId/members/:memberId').addSuccess(Schema.Void).addError(Forbidden, {
132
+ status: 403
133
+ }).addError(RosterNotFound, {
134
+ status: 404
135
+ }).addError(PlayerNotFound, {
136
+ status: 404
137
+ }).setPath(Schema.Struct({
138
+ teamId: TeamId,
139
+ rosterId: RosterId,
140
+ memberId: TeamMemberId
141
+ })).middleware(AuthMiddleware)) {}
142
+ //# sourceMappingURL=Roster.js.map