@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.
- package/dist/cjs/api/AgeThresholdApi.js +86 -0
- package/dist/cjs/api/AgeThresholdApi.js.map +1 -0
- package/dist/cjs/api/Auth.js +33 -2
- package/dist/cjs/api/Auth.js.map +1 -1
- package/dist/cjs/api/Invite.js +1 -2
- package/dist/cjs/api/Invite.js.map +1 -1
- package/dist/cjs/api/NotificationApi.js +42 -0
- package/dist/cjs/api/NotificationApi.js.map +1 -0
- package/dist/cjs/api/RoleApi.js +123 -0
- package/dist/cjs/api/RoleApi.js.map +1 -0
- package/dist/cjs/api/Roster.js +159 -0
- package/dist/cjs/api/Roster.js.map +1 -0
- package/dist/cjs/api/SubgroupApi.js +122 -0
- package/dist/cjs/api/SubgroupApi.js.map +1 -0
- package/dist/cjs/index.js +25 -1
- package/dist/cjs/models/AgeThresholdRule.js +21 -0
- package/dist/cjs/models/AgeThresholdRule.js.map +1 -0
- package/dist/cjs/models/MemberRole.js +15 -0
- package/dist/cjs/models/MemberRole.js.map +1 -0
- package/dist/cjs/models/Notification.js +24 -0
- package/dist/cjs/models/Notification.js.map +1 -0
- package/dist/cjs/models/Role.js +32 -0
- package/dist/cjs/models/Role.js.map +1 -0
- package/dist/cjs/models/RosterMemberModel.js +19 -0
- package/dist/cjs/models/RosterMemberModel.js.map +1 -0
- package/dist/cjs/models/RosterModel.js +19 -0
- package/dist/cjs/models/RosterModel.js.map +1 -0
- package/dist/cjs/models/SubgroupModel.js +18 -0
- package/dist/cjs/models/SubgroupModel.js.map +1 -0
- package/dist/cjs/models/TeamMember.js +2 -3
- package/dist/cjs/models/TeamMember.js.map +1 -1
- package/dist/dts/api/AgeThresholdApi.d.ts +119 -0
- package/dist/dts/api/AgeThresholdApi.d.ts.map +1 -0
- package/dist/dts/api/Auth.d.ts +60 -1
- package/dist/dts/api/Auth.d.ts.map +1 -1
- package/dist/dts/api/Invite.d.ts +7 -7
- package/dist/dts/api/Invite.d.ts.map +1 -1
- package/dist/dts/api/NotificationApi.d.ts +53 -0
- package/dist/dts/api/NotificationApi.d.ts.map +1 -0
- package/dist/dts/api/RoleApi.d.ts +138 -0
- package/dist/dts/api/RoleApi.d.ts.map +1 -0
- package/dist/dts/api/Roster.d.ts +225 -0
- package/dist/dts/api/Roster.d.ts.map +1 -0
- package/dist/dts/api/SubgroupApi.d.ts +140 -0
- package/dist/dts/api/SubgroupApi.d.ts.map +1 -0
- package/dist/dts/index.d.ts +12 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/models/AgeThresholdRule.d.ts +97 -0
- package/dist/dts/models/AgeThresholdRule.d.ts.map +1 -0
- package/dist/dts/models/MemberRole.d.ts +16 -0
- package/dist/dts/models/MemberRole.d.ts.map +1 -0
- package/dist/dts/models/Notification.d.ts +125 -0
- package/dist/dts/models/Notification.d.ts.map +1 -0
- package/dist/dts/models/Role.d.ts +102 -0
- package/dist/dts/models/Role.d.ts.map +1 -0
- package/dist/dts/models/RosterMemberModel.d.ts +71 -0
- package/dist/dts/models/RosterMemberModel.d.ts.map +1 -0
- package/dist/dts/models/RosterModel.d.ts +84 -0
- package/dist/dts/models/RosterModel.d.ts.map +1 -0
- package/dist/dts/models/SubgroupModel.d.ts +71 -0
- package/dist/dts/models/SubgroupModel.d.ts.map +1 -0
- package/dist/dts/models/TeamInvite.d.ts +4 -4
- package/dist/dts/models/TeamMember.d.ts +11 -13
- package/dist/dts/models/TeamMember.d.ts.map +1 -1
- package/dist/esm/api/AgeThresholdApi.js +72 -0
- package/dist/esm/api/AgeThresholdApi.js.map +1 -0
- package/dist/esm/api/Auth.js +28 -1
- package/dist/esm/api/Auth.js.map +1 -1
- package/dist/esm/api/Invite.js +1 -2
- package/dist/esm/api/Invite.js.map +1 -1
- package/dist/esm/api/NotificationApi.js +32 -0
- package/dist/esm/api/NotificationApi.js.map +1 -0
- package/dist/esm/api/RoleApi.js +106 -0
- package/dist/esm/api/RoleApi.js.map +1 -0
- package/dist/esm/api/Roster.js +142 -0
- package/dist/esm/api/Roster.js.map +1 -0
- package/dist/esm/api/SubgroupApi.js +106 -0
- package/dist/esm/api/SubgroupApi.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/AgeThresholdRule.js +14 -0
- package/dist/esm/models/AgeThresholdRule.js.map +1 -0
- package/dist/esm/models/MemberRole.js +8 -0
- package/dist/esm/models/MemberRole.js.map +1 -0
- package/dist/esm/models/Notification.js +17 -0
- package/dist/esm/models/Notification.js.map +1 -0
- package/dist/esm/models/Role.js +24 -0
- package/dist/esm/models/Role.js.map +1 -0
- package/dist/esm/models/RosterMemberModel.js +12 -0
- package/dist/esm/models/RosterMemberModel.js.map +1 -0
- package/dist/esm/models/RosterModel.js +12 -0
- package/dist/esm/models/RosterModel.js.map +1 -0
- package/dist/esm/models/SubgroupModel.js +11 -0
- package/dist/esm/models/SubgroupModel.js.map +1 -0
- package/dist/esm/models/TeamMember.js +1 -2
- package/dist/esm/models/TeamMember.js.map +1 -1
- package/package.json +1 -1
- package/src/api/AgeThresholdApi.ts +99 -0
- package/src/api/Auth.ts +52 -0
- package/src/api/Invite.ts +1 -2
- package/src/api/NotificationApi.ts +49 -0
- package/src/api/RoleApi.ts +130 -0
- package/src/api/Roster.ts +176 -0
- package/src/api/SubgroupApi.ts +146 -0
- package/src/index.ts +24 -0
- package/src/models/AgeThresholdRule.ts +16 -0
- package/src/models/MemberRole.ts +8 -0
- package/src/models/Notification.ts +26 -0
- package/src/models/Role.ts +53 -0
- package/src/models/RosterMemberModel.ts +14 -0
- package/src/models/RosterModel.ts +14 -0
- package/src/models/SubgroupModel.ts +13 -0
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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":[]}
|
package/dist/esm/api/Auth.js
CHANGED
|
@@ -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)).
|
|
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
|
package/dist/esm/api/Auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.js","names":["HttpApiEndpoint","HttpApiGroup","HttpApiMiddleware","HttpApiSchema","HttpApiSecurity","Context","Schema","Gender","Locale","Position","Proficiency","UserId","MIN_AGE","
|
|
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":[]}
|
package/dist/esm/api/Invite.js
CHANGED
|
@@ -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
|
-
|
|
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","
|
|
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
|