@sideline/domain 0.2.0 → 0.4.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 +6 -6
- package/dist/cjs/api/AgeThresholdApi.js.map +1 -1
- package/dist/cjs/api/Auth.js +2 -13
- package/dist/cjs/api/Auth.js.map +1 -1
- package/dist/cjs/api/Roster.js +1 -5
- package/dist/cjs/api/Roster.js.map +1 -1
- package/dist/cjs/api/TrainingTypeApi.js +115 -0
- package/dist/cjs/api/TrainingTypeApi.js.map +1 -0
- package/dist/cjs/index.js +29 -1
- package/dist/cjs/models/ChannelSyncEvent.js +28 -0
- package/dist/cjs/models/ChannelSyncEvent.js.map +1 -0
- package/dist/cjs/models/Discord.js +9 -0
- package/dist/cjs/models/Discord.js.map +1 -0
- package/dist/cjs/models/DiscordChannelMapping.js +21 -0
- package/dist/cjs/models/DiscordChannelMapping.js.map +1 -0
- package/dist/cjs/models/DiscordRoleMapping.js +20 -0
- package/dist/cjs/models/DiscordRoleMapping.js.map +1 -0
- package/dist/cjs/models/RoleSyncEvent.js +28 -0
- package/dist/cjs/models/RoleSyncEvent.js.map +1 -0
- package/dist/cjs/models/TeamMember.js +1 -0
- package/dist/cjs/models/TeamMember.js.map +1 -1
- package/dist/cjs/models/TrainingType.js +18 -0
- package/dist/cjs/models/TrainingType.js.map +1 -0
- package/dist/cjs/models/User.js +1 -6
- package/dist/cjs/models/User.js.map +1 -1
- package/dist/cjs/rpc/SyncRpcs.js +12 -0
- package/dist/cjs/rpc/SyncRpcs.js.map +1 -0
- package/dist/cjs/rpc/channel/ChannelRpcEvents.js +44 -0
- package/dist/cjs/rpc/channel/ChannelRpcEvents.js.map +1 -0
- package/dist/cjs/rpc/channel/ChannelRpcGroup.js +45 -0
- package/dist/cjs/rpc/channel/ChannelRpcGroup.js.map +1 -0
- package/dist/cjs/rpc/channel/ChannelRpcModels.js +17 -0
- package/dist/cjs/rpc/channel/ChannelRpcModels.js.map +1 -0
- package/dist/cjs/rpc/role/RoleRpcEvents.js +44 -0
- package/dist/cjs/rpc/role/RoleRpcEvents.js.map +1 -0
- package/dist/cjs/rpc/role/RoleRpcGroup.js +44 -0
- package/dist/cjs/rpc/role/RoleRpcGroup.js.map +1 -0
- package/dist/cjs/rpc/role/RoleRpcModels.js +16 -0
- package/dist/cjs/rpc/role/RoleRpcModels.js.map +1 -0
- package/dist/dts/api/AgeThresholdApi.d.ts +18 -18
- package/dist/dts/api/Auth.d.ts +0 -40
- package/dist/dts/api/Auth.d.ts.map +1 -1
- package/dist/dts/api/Roster.d.ts +2 -18
- package/dist/dts/api/Roster.d.ts.map +1 -1
- package/dist/dts/api/TrainingTypeApi.d.ts +141 -0
- package/dist/dts/api/TrainingTypeApi.d.ts.map +1 -0
- package/dist/dts/index.d.ts +14 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/models/ChannelSyncEvent.d.ts +164 -0
- package/dist/dts/models/ChannelSyncEvent.d.ts.map +1 -0
- package/dist/dts/models/Discord.d.ts +4 -0
- package/dist/dts/models/Discord.d.ts.map +1 -0
- package/dist/dts/models/DiscordChannelMapping.d.ts +97 -0
- package/dist/dts/models/DiscordChannelMapping.d.ts.map +1 -0
- package/dist/dts/models/DiscordRoleMapping.d.ts +84 -0
- package/dist/dts/models/DiscordRoleMapping.d.ts.map +1 -0
- package/dist/dts/models/RoleSyncEvent.d.ts +164 -0
- package/dist/dts/models/RoleSyncEvent.d.ts.map +1 -0
- package/dist/dts/models/TeamMember.d.ts +30 -0
- package/dist/dts/models/TeamMember.d.ts.map +1 -1
- package/dist/dts/models/TrainingType.d.ts +71 -0
- package/dist/dts/models/TrainingType.d.ts.map +1 -0
- package/dist/dts/models/User.d.ts +0 -43
- package/dist/dts/models/User.d.ts.map +1 -1
- package/dist/dts/rpc/SyncRpcs.d.ts +41 -0
- package/dist/dts/rpc/SyncRpcs.d.ts.map +1 -0
- package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts +51 -0
- package/dist/dts/rpc/channel/ChannelRpcEvents.d.ts.map +1 -0
- package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts +23 -0
- package/dist/dts/rpc/channel/ChannelRpcGroup.d.ts.map +1 -0
- package/dist/dts/rpc/channel/ChannelRpcModels.d.ts +28 -0
- package/dist/dts/rpc/channel/ChannelRpcModels.d.ts.map +1 -0
- package/dist/dts/rpc/role/RoleRpcEvents.d.ts +51 -0
- package/dist/dts/rpc/role/RoleRpcEvents.d.ts.map +1 -0
- package/dist/dts/rpc/role/RoleRpcGroup.d.ts +22 -0
- package/dist/dts/rpc/role/RoleRpcGroup.d.ts.map +1 -0
- package/dist/dts/rpc/role/RoleRpcModels.d.ts +24 -0
- package/dist/dts/rpc/role/RoleRpcModels.d.ts.map +1 -0
- package/dist/esm/api/AgeThresholdApi.js +6 -6
- package/dist/esm/api/AgeThresholdApi.js.map +1 -1
- package/dist/esm/api/Auth.js +3 -14
- package/dist/esm/api/Auth.js.map +1 -1
- package/dist/esm/api/Roster.js +2 -6
- package/dist/esm/api/Roster.js.map +1 -1
- package/dist/esm/api/TrainingTypeApi.js +99 -0
- package/dist/esm/api/TrainingTypeApi.js.map +1 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/ChannelSyncEvent.js +21 -0
- package/dist/esm/models/ChannelSyncEvent.js.map +1 -0
- package/dist/esm/models/Discord.js +3 -0
- package/dist/esm/models/Discord.js.map +1 -0
- package/dist/esm/models/DiscordChannelMapping.js +14 -0
- package/dist/esm/models/DiscordChannelMapping.js.map +1 -0
- package/dist/esm/models/DiscordRoleMapping.js +13 -0
- package/dist/esm/models/DiscordRoleMapping.js.map +1 -0
- package/dist/esm/models/RoleSyncEvent.js +21 -0
- package/dist/esm/models/RoleSyncEvent.js.map +1 -0
- package/dist/esm/models/TeamMember.js +1 -0
- package/dist/esm/models/TeamMember.js.map +1 -1
- package/dist/esm/models/TrainingType.js +11 -0
- package/dist/esm/models/TrainingType.js.map +1 -0
- package/dist/esm/models/User.js +0 -5
- package/dist/esm/models/User.js.map +1 -1
- package/dist/esm/rpc/SyncRpcs.js +5 -0
- package/dist/esm/rpc/SyncRpcs.js.map +1 -0
- package/dist/esm/rpc/channel/ChannelRpcEvents.js +34 -0
- package/dist/esm/rpc/channel/ChannelRpcEvents.js.map +1 -0
- package/dist/esm/rpc/channel/ChannelRpcGroup.js +39 -0
- package/dist/esm/rpc/channel/ChannelRpcGroup.js.map +1 -0
- package/dist/esm/rpc/channel/ChannelRpcModels.js +10 -0
- package/dist/esm/rpc/channel/ChannelRpcModels.js.map +1 -0
- package/dist/esm/rpc/role/RoleRpcEvents.js +34 -0
- package/dist/esm/rpc/role/RoleRpcEvents.js.map +1 -0
- package/dist/esm/rpc/role/RoleRpcGroup.js +38 -0
- package/dist/esm/rpc/role/RoleRpcGroup.js.map +1 -0
- package/dist/esm/rpc/role/RoleRpcModels.js +9 -0
- package/dist/esm/rpc/role/RoleRpcModels.js.map +1 -0
- package/package.json +2 -1
- package/src/api/AgeThresholdApi.ts +6 -6
- package/src/api/Auth.ts +1 -12
- package/src/api/Roster.ts +1 -5
- package/src/api/TrainingTypeApi.ts +143 -0
- package/src/index.ts +21 -0
- package/src/models/ChannelSyncEvent.ts +30 -0
- package/src/models/Discord.ts +4 -0
- package/src/models/DiscordChannelMapping.ts +18 -0
- package/src/models/DiscordRoleMapping.ts +15 -0
- package/src/models/RoleSyncEvent.ts +30 -0
- package/src/models/TeamMember.ts +1 -0
- package/src/models/TrainingType.ts +13 -0
- package/src/models/User.ts +0 -9
- package/src/rpc/SyncRpcs.ts +5 -0
- package/src/rpc/channel/ChannelRpcEvents.ts +57 -0
- package/src/rpc/channel/ChannelRpcGroup.ts +33 -0
- package/src/rpc/channel/ChannelRpcModels.ts +10 -0
- package/src/rpc/role/RoleRpcEvents.ts +48 -0
- package/src/rpc/role/RoleRpcGroup.ts +33 -0
- package/src/rpc/role/RoleRpcModels.ts +9 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Model } from '@effect/sql';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { RoleId } from '../models/Role.js';
|
|
4
|
+
import { TeamId } from '../models/Team.js';
|
|
5
|
+
import { TeamMemberId } from '../models/TeamMember.js';
|
|
6
|
+
export const RoleSyncEventId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('RoleSyncEventId'));
|
|
7
|
+
export const RoleSyncEventType = /*#__PURE__*/Schema.Literal('role_assigned', 'role_unassigned', 'role_created', 'role_deleted');
|
|
8
|
+
export class RoleSyncEvent extends /*#__PURE__*/Model.Class('RoleSyncEvent')({
|
|
9
|
+
id: /*#__PURE__*/Model.Generated(RoleSyncEventId),
|
|
10
|
+
team_id: TeamId,
|
|
11
|
+
guild_id: Schema.String,
|
|
12
|
+
event_type: RoleSyncEventType,
|
|
13
|
+
role_id: RoleId,
|
|
14
|
+
role_name: /*#__PURE__*/Schema.NullOr(Schema.String),
|
|
15
|
+
team_member_id: /*#__PURE__*/Schema.NullOr(TeamMemberId),
|
|
16
|
+
discord_user_id: /*#__PURE__*/Schema.NullOr(Schema.String),
|
|
17
|
+
processed_at: /*#__PURE__*/Schema.NullOr(Schema.String),
|
|
18
|
+
error: /*#__PURE__*/Schema.NullOr(Schema.String),
|
|
19
|
+
created_at: Model.DateTimeInsertFromDate
|
|
20
|
+
}) {}
|
|
21
|
+
//# sourceMappingURL=RoleSyncEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleSyncEvent.js","names":["Model","Schema","RoleId","TeamId","TeamMemberId","RoleSyncEventId","String","pipe","brand","RoleSyncEventType","Literal","RoleSyncEvent","Class","id","Generated","team_id","guild_id","event_type","role_id","role_name","NullOr","team_member_id","discord_user_id","processed_at","error","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/RoleSyncEvent.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,YAAY,QAAQ,yBAAyB;AAEtD,OAAO,MAAMC,eAAe,gBAAGJ,MAAM,CAACK,MAAM,CAACC,IAAI,cAACN,MAAM,CAACO,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAGlF,OAAO,MAAMC,iBAAiB,gBAAGR,MAAM,CAACS,OAAO,CAC7C,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,CACf;AAGD,OAAM,MAAOC,aAAc,sBAAQX,KAAK,CAACY,KAAK,CAAgB,eAAe,CAAC,CAAC;EAC7EC,EAAE,eAAEb,KAAK,CAACc,SAAS,CAACT,eAAe,CAAC;EACpCU,OAAO,EAAEZ,MAAM;EACfa,QAAQ,EAAEf,MAAM,CAACK,MAAM;EACvBW,UAAU,EAAER,iBAAiB;EAC7BS,OAAO,EAAEhB,MAAM;EACfiB,SAAS,eAAElB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EACvCe,cAAc,eAAEpB,MAAM,CAACmB,MAAM,CAAChB,YAAY,CAAC;EAC3CkB,eAAe,eAAErB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EAC7CiB,YAAY,eAAEtB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EAC1CkB,KAAK,eAAEvB,MAAM,CAACmB,MAAM,CAACnB,MAAM,CAACK,MAAM,CAAC;EACnCmB,UAAU,EAAEzB,KAAK,CAAC0B;CACnB,CAAC","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ export class TeamMember extends /*#__PURE__*/Model.Class('TeamMember')({
|
|
|
8
8
|
team_id: TeamId,
|
|
9
9
|
user_id: UserId,
|
|
10
10
|
active: Schema.Boolean,
|
|
11
|
+
jersey_number: /*#__PURE__*/Model.FieldExcept('insert')(/*#__PURE__*/Schema.NullOr(Schema.Number)),
|
|
11
12
|
joined_at: Model.DateTimeInsertFromDate
|
|
12
13
|
}) {}
|
|
13
14
|
//# sourceMappingURL=TeamMember.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamMember.js","names":["Model","Schema","TeamId","UserId","TeamMemberId","String","pipe","brand","TeamMember","Class","id","Generated","team_id","user_id","active","Boolean","joined_at","DateTimeInsertFromDate"],"sources":["../../../src/models/TeamMember.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,YAAY,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,cAAc,CAAC,CAAC;AAG5E,OAAM,MAAOC,UAAW,sBAAQR,KAAK,CAACS,KAAK,CAAa,YAAY,CAAC,CAAC;EACpEC,EAAE,eAAEV,KAAK,CAACW,SAAS,CAACP,YAAY,CAAC;EACjCQ,OAAO,EAAEV,MAAM;EACfW,OAAO,EAAEV,MAAM;EACfW,MAAM,EAAEb,MAAM,CAACc,OAAO;EACtBC,
|
|
1
|
+
{"version":3,"file":"TeamMember.js","names":["Model","Schema","TeamId","UserId","TeamMemberId","String","pipe","brand","TeamMember","Class","id","Generated","team_id","user_id","active","Boolean","jersey_number","FieldExcept","NullOr","Number","joined_at","DateTimeInsertFromDate"],"sources":["../../../src/models/TeamMember.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,YAAY,gBAAGH,MAAM,CAACI,MAAM,CAACC,IAAI,cAACL,MAAM,CAACM,KAAK,CAAC,cAAc,CAAC,CAAC;AAG5E,OAAM,MAAOC,UAAW,sBAAQR,KAAK,CAACS,KAAK,CAAa,YAAY,CAAC,CAAC;EACpEC,EAAE,eAAEV,KAAK,CAACW,SAAS,CAACP,YAAY,CAAC;EACjCQ,OAAO,EAAEV,MAAM;EACfW,OAAO,EAAEV,MAAM;EACfW,MAAM,EAAEb,MAAM,CAACc,OAAO;EACtBC,aAAa,eAAEhB,KAAK,CAACiB,WAAW,CAAC,QAAQ,CAAC,cAAChB,MAAM,CAACiB,MAAM,CAACjB,MAAM,CAACkB,MAAM,CAAC,CAAC;EACxEC,SAAS,EAAEpB,KAAK,CAACqB;CAClB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Model } from '@effect/sql';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { TeamId } from '../models/Team.js';
|
|
4
|
+
export const TrainingTypeId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('TrainingTypeId'));
|
|
5
|
+
export class TrainingType extends /*#__PURE__*/Model.Class('TrainingType')({
|
|
6
|
+
id: /*#__PURE__*/Model.Generated(TrainingTypeId),
|
|
7
|
+
team_id: TeamId,
|
|
8
|
+
name: Schema.String,
|
|
9
|
+
created_at: Model.DateTimeInsertFromDate
|
|
10
|
+
}) {}
|
|
11
|
+
//# sourceMappingURL=TrainingType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrainingType.js","names":["Model","Schema","TeamId","TrainingTypeId","String","pipe","brand","TrainingType","Class","id","Generated","team_id","name","created_at","DateTimeInsertFromDate"],"sources":["../../../src/models/TrainingType.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,OAAO,MAAMC,cAAc,gBAAGF,MAAM,CAACG,MAAM,CAACC,IAAI,cAACJ,MAAM,CAACK,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAGhF,OAAM,MAAOC,YAAa,sBAAQP,KAAK,CAACQ,KAAK,CAAe,cAAc,CAAC,CAAC;EAC1EC,EAAE,eAAET,KAAK,CAACU,SAAS,CAACP,cAAc,CAAC;EACnCQ,OAAO,EAAET,MAAM;EACfU,IAAI,EAAEX,MAAM,CAACG,MAAM;EACnBS,UAAU,EAAEb,KAAK,CAACc;CACnB,CAAC","ignoreList":[]}
|
package/dist/esm/models/User.js
CHANGED
|
@@ -2,8 +2,6 @@ import { Model } from '@effect/sql';
|
|
|
2
2
|
import { Schema } from 'effect';
|
|
3
3
|
export const UserId = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.brand('UserId'));
|
|
4
4
|
export const Gender = /*#__PURE__*/Schema.Literal('male', 'female', 'other');
|
|
5
|
-
export const Position = /*#__PURE__*/Schema.Literal('goalkeeper', 'defender', 'midfielder', 'forward');
|
|
6
|
-
export const Proficiency = /*#__PURE__*/Schema.Literal('beginner', 'intermediate', 'advanced', 'pro');
|
|
7
5
|
export const Locale = /*#__PURE__*/Schema.Literal('en', 'cs');
|
|
8
6
|
export class User extends /*#__PURE__*/Model.Class('User')({
|
|
9
7
|
id: /*#__PURE__*/Model.Generated(UserId),
|
|
@@ -15,9 +13,6 @@ export class User extends /*#__PURE__*/Model.Class('User')({
|
|
|
15
13
|
name: /*#__PURE__*/Schema.NullOr(Schema.String),
|
|
16
14
|
birth_year: /*#__PURE__*/Schema.NullOr(Schema.Number),
|
|
17
15
|
gender: /*#__PURE__*/Schema.NullOr(Gender),
|
|
18
|
-
jersey_number: /*#__PURE__*/Schema.NullOr(Schema.Number),
|
|
19
|
-
position: /*#__PURE__*/Schema.NullOr(Position),
|
|
20
|
-
proficiency: /*#__PURE__*/Schema.NullOr(Proficiency),
|
|
21
16
|
locale: Locale,
|
|
22
17
|
created_at: Model.DateTimeInsertFromDate,
|
|
23
18
|
is_profile_complete: Schema.Boolean,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","names":["Model","Schema","UserId","String","pipe","brand","Gender","Literal","
|
|
1
|
+
{"version":3,"file":"User.js","names":["Model","Schema","UserId","String","pipe","brand","Gender","Literal","Locale","User","Class","id","Generated","discord_id","discord_username","discord_avatar","NullOr","discord_access_token","Sensitive","discord_refresh_token","name","birth_year","Number","gender","locale","created_at","DateTimeInsertFromDate","is_profile_complete","Boolean","updated_at","DateTimeUpdateFromDate"],"sources":["../../../src/models/User.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,MAAM,gBAAGD,MAAM,CAACE,MAAM,CAACC,IAAI,cAACH,MAAM,CAACI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAGhE,OAAO,MAAMC,MAAM,gBAAGL,MAAM,CAACM,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AAG/D,OAAO,MAAMC,MAAM,gBAAGP,MAAM,CAACM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAGhD,OAAM,MAAOE,IAAK,sBAAQT,KAAK,CAACU,KAAK,CAAO,MAAM,CAAC,CAAC;EAClDC,EAAE,eAAEX,KAAK,CAACY,SAAS,CAACV,MAAM,CAAC;EAC3BW,UAAU,EAAEZ,MAAM,CAACE,MAAM;EACzBW,gBAAgB,EAAEb,MAAM,CAACE,MAAM;EAC/BY,cAAc,eAAEd,MAAM,CAACe,MAAM,CAACf,MAAM,CAACE,MAAM,CAAC;EAC5Cc,oBAAoB,eAAEjB,KAAK,CAACkB,SAAS,CAACjB,MAAM,CAACE,MAAM,CAAC;EACpDgB,qBAAqB,eAAEnB,KAAK,CAACkB,SAAS,cAACjB,MAAM,CAACe,MAAM,CAACf,MAAM,CAACE,MAAM,CAAC,CAAC;EACpEiB,IAAI,eAAEnB,MAAM,CAACe,MAAM,CAACf,MAAM,CAACE,MAAM,CAAC;EAClCkB,UAAU,eAAEpB,MAAM,CAACe,MAAM,CAACf,MAAM,CAACqB,MAAM,CAAC;EACxCC,MAAM,eAAEtB,MAAM,CAACe,MAAM,CAACV,MAAM,CAAC;EAC7BkB,MAAM,EAAEhB,MAAM;EACdiB,UAAU,EAAEzB,KAAK,CAAC0B,sBAAsB;EACxCC,mBAAmB,EAAE1B,MAAM,CAAC2B,OAAO;EACnCC,UAAU,EAAE7B,KAAK,CAAC8B;CACnB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RpcGroup } from '@effect/rpc';
|
|
2
|
+
import { ChannelRpcGroup } from './channel/ChannelRpcGroup.js';
|
|
3
|
+
import { RoleRpcGroup } from './role/RoleRpcGroup.js';
|
|
4
|
+
export class SyncRpcs extends /*#__PURE__*/RpcGroup.make().merge(RoleRpcGroup, ChannelRpcGroup) {}
|
|
5
|
+
//# sourceMappingURL=SyncRpcs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncRpcs.js","names":["RpcGroup","ChannelRpcGroup","RoleRpcGroup","SyncRpcs","make","merge"],"sources":["../../../src/rpc/SyncRpcs.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAa;AACtC,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,YAAY,QAAQ,wBAAwB;AAErD,OAAM,MAAOC,QAAS,sBAAQH,QAAQ,CAACI,IAAI,EAAE,CAACC,KAAK,CAACH,YAAY,EAAED,eAAe,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { ChannelSyncEvent, Discord, SubgroupModel, Team, TeamMember } from '../../index.js';
|
|
3
|
+
export class ChannelCreatedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_created', {
|
|
4
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
5
|
+
team_id: Team.TeamId,
|
|
6
|
+
guild_id: Discord.Snowflake,
|
|
7
|
+
subgroup_id: SubgroupModel.SubgroupId,
|
|
8
|
+
subgroup_name: Schema.String
|
|
9
|
+
}) {}
|
|
10
|
+
export class ChannelDeletedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_deleted', {
|
|
11
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
12
|
+
team_id: Team.TeamId,
|
|
13
|
+
guild_id: Discord.Snowflake,
|
|
14
|
+
subgroup_id: SubgroupModel.SubgroupId
|
|
15
|
+
}) {}
|
|
16
|
+
export class ChannelMemberAddedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_member_added', {
|
|
17
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
18
|
+
team_id: Team.TeamId,
|
|
19
|
+
guild_id: Discord.Snowflake,
|
|
20
|
+
subgroup_id: SubgroupModel.SubgroupId,
|
|
21
|
+
subgroup_name: Schema.String,
|
|
22
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
23
|
+
discord_user_id: Discord.Snowflake
|
|
24
|
+
}) {}
|
|
25
|
+
export class ChannelMemberRemovedEvent extends /*#__PURE__*/Schema.TaggedClass()('channel_member_removed', {
|
|
26
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
27
|
+
team_id: Team.TeamId,
|
|
28
|
+
guild_id: Discord.Snowflake,
|
|
29
|
+
subgroup_id: SubgroupModel.SubgroupId,
|
|
30
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
31
|
+
discord_user_id: Discord.Snowflake
|
|
32
|
+
}) {}
|
|
33
|
+
export const UnprocessedChannelEvent = /*#__PURE__*/Schema.Union(ChannelCreatedEvent, ChannelDeletedEvent, ChannelMemberAddedEvent, ChannelMemberRemovedEvent);
|
|
34
|
+
//# sourceMappingURL=ChannelRpcEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelRpcEvents.js","names":["Schema","ChannelSyncEvent","Discord","SubgroupModel","Team","TeamMember","ChannelCreatedEvent","TaggedClass","id","ChannelSyncEventId","team_id","TeamId","guild_id","Snowflake","subgroup_id","SubgroupId","subgroup_name","String","ChannelDeletedEvent","ChannelMemberAddedEvent","team_member_id","TeamMemberId","discord_user_id","ChannelMemberRemovedEvent","UnprocessedChannelEvent","Union"],"sources":["../../../../src/rpc/channel/ChannelRpcEvents.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,OAAO,EAAEC,aAAa,EAAEC,IAAI,EAAEC,UAAU,QAAQ,gBAAa;AAExF,OAAM,MAAOC,mBAAoB,sBAAQN,MAAM,CAACO,WAAW,EAAuB,CAChF,iBAAiB,EACjB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,WAAW,EAAEX,aAAa,CAACY,UAAU;EACrCC,aAAa,EAAEhB,MAAM,CAACiB;CACvB,CACF;AAED,OAAM,MAAOC,mBAAoB,sBAAQlB,MAAM,CAACO,WAAW,EAAuB,CAChF,iBAAiB,EACjB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,WAAW,EAAEX,aAAa,CAACY;CAC5B,CACF;AAED,OAAM,MAAOI,uBAAwB,sBAAQnB,MAAM,CAACO,WAAW,EAA2B,CACxF,sBAAsB,EACtB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,WAAW,EAAEX,aAAa,CAACY,UAAU;EACrCC,aAAa,EAAEhB,MAAM,CAACiB,MAAM;EAC5BG,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAEpB,OAAO,CAACW;CAC1B,CACF;AAED,OAAM,MAAOU,yBAA0B,sBAAQvB,MAAM,CAACO,WAAW,EAA6B,CAC5F,wBAAwB,EACxB;EACEC,EAAE,EAAEP,gBAAgB,CAACQ,kBAAkB;EACvCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEV,OAAO,CAACW,SAAS;EAC3BC,WAAW,EAAEX,aAAa,CAACY,UAAU;EACrCK,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAEpB,OAAO,CAACW;CAC1B,CACF;AAED,OAAO,MAAMW,uBAAuB,gBAAGxB,MAAM,CAACyB,KAAK,CACjDnB,mBAAmB,EACnBY,mBAAmB,EACnBC,uBAAuB,EACvBI,yBAAyB,CAC1B","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Rpc, RpcGroup } from '@effect/rpc';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { ChannelSyncEvent, Discord, SubgroupModel, Team } from '../../index.js';
|
|
4
|
+
import { UnprocessedChannelEvent } from './ChannelRpcEvents.js';
|
|
5
|
+
import { ChannelMapping } from './ChannelRpcModels.js';
|
|
6
|
+
export const ChannelRpcGroup = /*#__PURE__*/RpcGroup.make(Rpc.make('GetUnprocessedEvents', {
|
|
7
|
+
payload: {
|
|
8
|
+
limit: Schema.Number
|
|
9
|
+
},
|
|
10
|
+
success: Schema.Array(UnprocessedChannelEvent)
|
|
11
|
+
}), Rpc.make('MarkEventProcessed', {
|
|
12
|
+
payload: {
|
|
13
|
+
id: ChannelSyncEvent.ChannelSyncEventId
|
|
14
|
+
}
|
|
15
|
+
}), Rpc.make('MarkEventFailed', {
|
|
16
|
+
payload: {
|
|
17
|
+
id: ChannelSyncEvent.ChannelSyncEventId,
|
|
18
|
+
error: Schema.String
|
|
19
|
+
}
|
|
20
|
+
}), Rpc.make('GetMapping', {
|
|
21
|
+
payload: {
|
|
22
|
+
team_id: Team.TeamId,
|
|
23
|
+
subgroup_id: SubgroupModel.SubgroupId
|
|
24
|
+
},
|
|
25
|
+
success: Schema.OptionFromNullOr(ChannelMapping)
|
|
26
|
+
}), Rpc.make('UpsertMapping', {
|
|
27
|
+
payload: {
|
|
28
|
+
team_id: Team.TeamId,
|
|
29
|
+
subgroup_id: SubgroupModel.SubgroupId,
|
|
30
|
+
discord_channel_id: Discord.Snowflake,
|
|
31
|
+
discord_role_id: Discord.Snowflake
|
|
32
|
+
}
|
|
33
|
+
}), Rpc.make('DeleteMapping', {
|
|
34
|
+
payload: {
|
|
35
|
+
team_id: Team.TeamId,
|
|
36
|
+
subgroup_id: SubgroupModel.SubgroupId
|
|
37
|
+
}
|
|
38
|
+
})).prefix('Channel/');
|
|
39
|
+
//# sourceMappingURL=ChannelRpcGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelRpcGroup.js","names":["Rpc","RpcGroup","Schema","ChannelSyncEvent","Discord","SubgroupModel","Team","UnprocessedChannelEvent","ChannelMapping","ChannelRpcGroup","make","payload","limit","Number","success","Array","id","ChannelSyncEventId","error","String","team_id","TeamId","subgroup_id","SubgroupId","OptionFromNullOr","discord_channel_id","Snowflake","discord_role_id","prefix"],"sources":["../../../../src/rpc/channel/ChannelRpcGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,aAAa;AAC3C,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,OAAO,EAAEC,aAAa,EAAEC,IAAI,QAAQ,gBAAa;AAC5E,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAO,MAAMC,eAAe,gBAAGR,QAAQ,CAACS,IAAI,CAC1CV,GAAG,CAACU,IAAI,CAAC,sBAAsB,EAAE;EAC/BC,OAAO,EAAE;IAAEC,KAAK,EAAEV,MAAM,CAACW;EAAM,CAAE;EACjCC,OAAO,EAAEZ,MAAM,CAACa,KAAK,CAACR,uBAAuB;CAC9C,CAAC,EACFP,GAAG,CAACU,IAAI,CAAC,oBAAoB,EAAE;EAC7BC,OAAO,EAAE;IAAEK,EAAE,EAAEb,gBAAgB,CAACc;EAAkB;CACnD,CAAC,EACFjB,GAAG,CAACU,IAAI,CAAC,iBAAiB,EAAE;EAC1BC,OAAO,EAAE;IAAEK,EAAE,EAAEb,gBAAgB,CAACc,kBAAkB;IAAEC,KAAK,EAAEhB,MAAM,CAACiB;EAAM;CACzE,CAAC,EACFnB,GAAG,CAACU,IAAI,CAAC,YAAY,EAAE;EACrBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,WAAW,EAAEjB,aAAa,CAACkB;EAAU,CAAE;EACxET,OAAO,EAAEZ,MAAM,CAACsB,gBAAgB,CAAChB,cAAc;CAChD,CAAC,EACFR,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IACPS,OAAO,EAAEd,IAAI,CAACe,MAAM;IACpBC,WAAW,EAAEjB,aAAa,CAACkB,UAAU;IACrCE,kBAAkB,EAAErB,OAAO,CAACsB,SAAS;IACrCC,eAAe,EAAEvB,OAAO,CAACsB;;CAE5B,CAAC,EACF1B,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,WAAW,EAAEjB,aAAa,CAACkB;EAAU;CACvE,CAAC,CACH,CAACK,MAAM,CAAC,UAAU,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { Discord, DiscordChannelMapping, SubgroupModel, Team } from '../../index.js';
|
|
3
|
+
export class ChannelMapping extends /*#__PURE__*/Schema.Class('ChannelMapping')({
|
|
4
|
+
id: DiscordChannelMapping.DiscordChannelMappingId,
|
|
5
|
+
team_id: Team.TeamId,
|
|
6
|
+
subgroup_id: SubgroupModel.SubgroupId,
|
|
7
|
+
discord_channel_id: Discord.Snowflake,
|
|
8
|
+
discord_role_id: /*#__PURE__*/Schema.OptionFromNullOr(Discord.Snowflake)
|
|
9
|
+
}) {}
|
|
10
|
+
//# sourceMappingURL=ChannelRpcModels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelRpcModels.js","names":["Schema","Discord","DiscordChannelMapping","SubgroupModel","Team","ChannelMapping","Class","id","DiscordChannelMappingId","team_id","TeamId","subgroup_id","SubgroupId","discord_channel_id","Snowflake","discord_role_id","OptionFromNullOr"],"sources":["../../../../src/rpc/channel/ChannelRpcModels.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,qBAAqB,EAAEC,aAAa,EAAEC,IAAI,QAAQ,gBAAa;AAEjF,OAAM,MAAOC,cAAe,sBAAQL,MAAM,CAACM,KAAK,CAAiB,gBAAgB,CAAC,CAAC;EACjFC,EAAE,EAAEL,qBAAqB,CAACM,uBAAuB;EACjDC,OAAO,EAAEL,IAAI,CAACM,MAAM;EACpBC,WAAW,EAAER,aAAa,CAACS,UAAU;EACrCC,kBAAkB,EAAEZ,OAAO,CAACa,SAAS;EACrCC,eAAe,eAAEf,MAAM,CAACgB,gBAAgB,CAACf,OAAO,CAACa,SAAS;CAC3D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { Discord, Role, RoleSyncEvent, Team, TeamMember } from '../../index.js';
|
|
3
|
+
export class RoleCreatedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_created', {
|
|
4
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
5
|
+
team_id: Team.TeamId,
|
|
6
|
+
guild_id: Discord.Snowflake,
|
|
7
|
+
role_id: Role.RoleId,
|
|
8
|
+
role_name: Schema.String
|
|
9
|
+
}) {}
|
|
10
|
+
export class RoleDeletedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_deleted', {
|
|
11
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
12
|
+
team_id: Team.TeamId,
|
|
13
|
+
guild_id: Discord.Snowflake,
|
|
14
|
+
role_id: Role.RoleId
|
|
15
|
+
}) {}
|
|
16
|
+
export class RoleAssignedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_assigned', {
|
|
17
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
18
|
+
team_id: Team.TeamId,
|
|
19
|
+
guild_id: Discord.Snowflake,
|
|
20
|
+
role_id: Role.RoleId,
|
|
21
|
+
role_name: Schema.String,
|
|
22
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
23
|
+
discord_user_id: Discord.Snowflake
|
|
24
|
+
}) {}
|
|
25
|
+
export class RoleUnassignedEvent extends /*#__PURE__*/Schema.TaggedClass()('role_unassigned', {
|
|
26
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
27
|
+
team_id: Team.TeamId,
|
|
28
|
+
guild_id: Discord.Snowflake,
|
|
29
|
+
role_id: Role.RoleId,
|
|
30
|
+
team_member_id: TeamMember.TeamMemberId,
|
|
31
|
+
discord_user_id: Discord.Snowflake
|
|
32
|
+
}) {}
|
|
33
|
+
export const UnprocessedRoleEvent = /*#__PURE__*/Schema.Union(RoleCreatedEvent, RoleDeletedEvent, RoleAssignedEvent, RoleUnassignedEvent);
|
|
34
|
+
//# sourceMappingURL=RoleRpcEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleRpcEvents.js","names":["Schema","Discord","Role","RoleSyncEvent","Team","TeamMember","RoleCreatedEvent","TaggedClass","id","RoleSyncEventId","team_id","TeamId","guild_id","Snowflake","role_id","RoleId","role_name","String","RoleDeletedEvent","RoleAssignedEvent","team_member_id","TeamMemberId","discord_user_id","RoleUnassignedEvent","UnprocessedRoleEvent","Union"],"sources":["../../../../src/rpc/role/RoleRpcEvents.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,IAAI,EAAEC,aAAa,EAAEC,IAAI,EAAEC,UAAU,QAAQ,gBAAa;AAE5E,OAAM,MAAOC,gBAAiB,sBAAQN,MAAM,CAACO,WAAW,EAAoB,CAAC,cAAc,EAAE;EAC3FC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa,MAAM;EACpBC,SAAS,EAAEhB,MAAM,CAACiB;CACnB,CAAC;AAEF,OAAM,MAAOC,gBAAiB,sBAAQlB,MAAM,CAACO,WAAW,EAAoB,CAAC,cAAc,EAAE;EAC3FC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa;CACf,CAAC;AAEF,OAAM,MAAOI,iBAAkB,sBAAQnB,MAAM,CAACO,WAAW,EAAqB,CAAC,eAAe,EAAE;EAC9FC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa,MAAM;EACpBC,SAAS,EAAEhB,MAAM,CAACiB,MAAM;EACxBG,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAErB,OAAO,CAACY;CAC1B,CAAC;AAEF,OAAM,MAAOU,mBAAoB,sBAAQvB,MAAM,CAACO,WAAW,EAAuB,CAChF,iBAAiB,EACjB;EACEC,EAAE,EAAEL,aAAa,CAACM,eAAe;EACjCC,OAAO,EAAEN,IAAI,CAACO,MAAM;EACpBC,QAAQ,EAAEX,OAAO,CAACY,SAAS;EAC3BC,OAAO,EAAEZ,IAAI,CAACa,MAAM;EACpBK,cAAc,EAAEf,UAAU,CAACgB,YAAY;EACvCC,eAAe,EAAErB,OAAO,CAACY;CAC1B,CACF;AAED,OAAO,MAAMW,oBAAoB,gBAAGxB,MAAM,CAACyB,KAAK,CAC9CnB,gBAAgB,EAChBY,gBAAgB,EAChBC,iBAAiB,EACjBI,mBAAmB,CACpB","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Rpc, RpcGroup } from '@effect/rpc';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { Discord, Role, RoleSyncEvent, Team } from '../../index.js';
|
|
4
|
+
import { UnprocessedRoleEvent } from './RoleRpcEvents.js';
|
|
5
|
+
import { RoleMapping } from './RoleRpcModels.js';
|
|
6
|
+
export const RoleRpcGroup = /*#__PURE__*/RpcGroup.make(Rpc.make('GetUnprocessedEvents', {
|
|
7
|
+
payload: {
|
|
8
|
+
limit: Schema.Number
|
|
9
|
+
},
|
|
10
|
+
success: Schema.Array(UnprocessedRoleEvent)
|
|
11
|
+
}), Rpc.make('MarkEventProcessed', {
|
|
12
|
+
payload: {
|
|
13
|
+
id: RoleSyncEvent.RoleSyncEventId
|
|
14
|
+
}
|
|
15
|
+
}), Rpc.make('MarkEventFailed', {
|
|
16
|
+
payload: {
|
|
17
|
+
id: RoleSyncEvent.RoleSyncEventId,
|
|
18
|
+
error: Schema.String
|
|
19
|
+
}
|
|
20
|
+
}), Rpc.make('GetMapping', {
|
|
21
|
+
payload: {
|
|
22
|
+
team_id: Team.TeamId,
|
|
23
|
+
role_id: Role.RoleId
|
|
24
|
+
},
|
|
25
|
+
success: Schema.OptionFromNullOr(RoleMapping)
|
|
26
|
+
}), Rpc.make('UpsertMapping', {
|
|
27
|
+
payload: {
|
|
28
|
+
team_id: Team.TeamId,
|
|
29
|
+
role_id: Role.RoleId,
|
|
30
|
+
discord_role_id: Discord.Snowflake
|
|
31
|
+
}
|
|
32
|
+
}), Rpc.make('DeleteMapping', {
|
|
33
|
+
payload: {
|
|
34
|
+
team_id: Team.TeamId,
|
|
35
|
+
role_id: Role.RoleId
|
|
36
|
+
}
|
|
37
|
+
})).prefix('Role/');
|
|
38
|
+
//# sourceMappingURL=RoleRpcGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleRpcGroup.js","names":["Rpc","RpcGroup","Schema","Discord","Role","RoleSyncEvent","Team","UnprocessedRoleEvent","RoleMapping","RoleRpcGroup","make","payload","limit","Number","success","Array","id","RoleSyncEventId","error","String","team_id","TeamId","role_id","RoleId","OptionFromNullOr","discord_role_id","Snowflake","prefix"],"sources":["../../../../src/rpc/role/RoleRpcGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,aAAa;AAC3C,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,IAAI,EAAEC,aAAa,EAAEC,IAAI,QAAQ,gBAAa;AAChE,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,OAAO,MAAMC,YAAY,gBAAGR,QAAQ,CAACS,IAAI,CACvCV,GAAG,CAACU,IAAI,CAAC,sBAAsB,EAAE;EAC/BC,OAAO,EAAE;IAAEC,KAAK,EAAEV,MAAM,CAACW;EAAM,CAAE;EACjCC,OAAO,EAAEZ,MAAM,CAACa,KAAK,CAACR,oBAAoB;CAC3C,CAAC,EACFP,GAAG,CAACU,IAAI,CAAC,oBAAoB,EAAE;EAC7BC,OAAO,EAAE;IAAEK,EAAE,EAAEX,aAAa,CAACY;EAAe;CAC7C,CAAC,EACFjB,GAAG,CAACU,IAAI,CAAC,iBAAiB,EAAE;EAC1BC,OAAO,EAAE;IAAEK,EAAE,EAAEX,aAAa,CAACY,eAAe;IAAEC,KAAK,EAAEhB,MAAM,CAACiB;EAAM;CACnE,CAAC,EACFnB,GAAG,CAACU,IAAI,CAAC,YAAY,EAAE;EACrBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,OAAO,EAAElB,IAAI,CAACmB;EAAM,CAAE;EACvDT,OAAO,EAAEZ,MAAM,CAACsB,gBAAgB,CAAChB,WAAW;CAC7C,CAAC,EACFR,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IACPS,OAAO,EAAEd,IAAI,CAACe,MAAM;IACpBC,OAAO,EAAElB,IAAI,CAACmB,MAAM;IACpBE,eAAe,EAAEtB,OAAO,CAACuB;;CAE5B,CAAC,EAEF1B,GAAG,CAACU,IAAI,CAAC,eAAe,EAAE;EACxBC,OAAO,EAAE;IAAES,OAAO,EAAEd,IAAI,CAACe,MAAM;IAAEC,OAAO,EAAElB,IAAI,CAACmB;EAAM;CACtD,CAAC,CACH,CAACI,MAAM,CAAC,OAAO,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import { Discord, DiscordRoleMapping, Role, Team } from '../../index.js';
|
|
3
|
+
export class RoleMapping extends /*#__PURE__*/Schema.Class('RoleMapping')({
|
|
4
|
+
id: DiscordRoleMapping.DiscordRoleMappingId,
|
|
5
|
+
team_id: Team.TeamId,
|
|
6
|
+
role_id: Role.RoleId,
|
|
7
|
+
discord_role_id: Discord.Snowflake
|
|
8
|
+
}) {}
|
|
9
|
+
//# sourceMappingURL=RoleRpcModels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleRpcModels.js","names":["Schema","Discord","DiscordRoleMapping","Role","Team","RoleMapping","Class","id","DiscordRoleMappingId","team_id","TeamId","role_id","RoleId","discord_role_id","Snowflake"],"sources":["../../../../src/rpc/role/RoleRpcModels.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,EAAEC,kBAAkB,EAAEC,IAAI,EAAEC,IAAI,QAAQ,gBAAa;AAErE,OAAM,MAAOC,WAAY,sBAAQL,MAAM,CAACM,KAAK,CAAc,aAAa,CAAC,CAAC;EACxEC,EAAE,EAAEL,kBAAkB,CAACM,oBAAoB;EAC3CC,OAAO,EAAEL,IAAI,CAACM,MAAM;EACpBC,OAAO,EAAER,IAAI,CAACS,MAAM;EACpBC,eAAe,EAAEZ,OAAO,CAACa;CAC1B,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sideline/domain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "The domain template",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@effect/experimental": "0.58.0",
|
|
14
14
|
"@effect/platform": "0.94.5",
|
|
15
|
+
"@effect/rpc": "0.73.0",
|
|
15
16
|
"@effect/sql": "0.49.0",
|
|
16
17
|
"effect": "3.19.18"
|
|
17
18
|
},
|
|
@@ -11,8 +11,8 @@ export class AgeThresholdInfo extends Schema.Class<AgeThresholdInfo>('AgeThresho
|
|
|
11
11
|
teamId: TeamId,
|
|
12
12
|
roleId: RoleId,
|
|
13
13
|
roleName: Schema.String,
|
|
14
|
-
minAge: Schema.
|
|
15
|
-
maxAge: Schema.
|
|
14
|
+
minAge: Schema.OptionFromNullOr(Schema.Number),
|
|
15
|
+
maxAge: Schema.OptionFromNullOr(Schema.Number),
|
|
16
16
|
}) {}
|
|
17
17
|
|
|
18
18
|
export class AgeRoleChange extends Schema.Class<AgeRoleChange>('AgeRoleChange')({
|
|
@@ -27,15 +27,15 @@ export class CreateAgeThresholdRequest extends Schema.Class<CreateAgeThresholdRe
|
|
|
27
27
|
'CreateAgeThresholdRequest',
|
|
28
28
|
)({
|
|
29
29
|
roleId: RoleId,
|
|
30
|
-
minAge: Schema.
|
|
31
|
-
maxAge: Schema.
|
|
30
|
+
minAge: Schema.OptionFromNullOr(Schema.Number),
|
|
31
|
+
maxAge: Schema.OptionFromNullOr(Schema.Number),
|
|
32
32
|
}) {}
|
|
33
33
|
|
|
34
34
|
export class UpdateAgeThresholdRequest extends Schema.Class<UpdateAgeThresholdRequest>(
|
|
35
35
|
'UpdateAgeThresholdRequest',
|
|
36
36
|
)({
|
|
37
|
-
minAge: Schema.
|
|
38
|
-
maxAge: Schema.
|
|
37
|
+
minAge: Schema.OptionFromNullOr(Schema.Number),
|
|
38
|
+
maxAge: Schema.OptionFromNullOr(Schema.Number),
|
|
39
39
|
}) {}
|
|
40
40
|
|
|
41
41
|
export class Forbidden extends Schema.TaggedError<Forbidden>()(
|
package/src/api/Auth.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import { Context, Schema } from 'effect';
|
|
9
9
|
import { Permission } from '~/models/Role.js';
|
|
10
10
|
import { TeamId } from '~/models/Team.js';
|
|
11
|
-
import { Gender, Locale,
|
|
11
|
+
import { Gender, Locale, UserId } from '~/models/User.js';
|
|
12
12
|
|
|
13
13
|
export { UserId } from '~/models/User.js';
|
|
14
14
|
|
|
@@ -30,9 +30,6 @@ export class CurrentUser extends Schema.Class<CurrentUser>('CurrentUser')({
|
|
|
30
30
|
name: Schema.NullOr(Schema.String),
|
|
31
31
|
birthYear: Schema.NullOr(Schema.Number),
|
|
32
32
|
gender: Schema.NullOr(Gender),
|
|
33
|
-
jerseyNumber: Schema.NullOr(Schema.Number),
|
|
34
|
-
position: Schema.NullOr(Position),
|
|
35
|
-
proficiency: Schema.NullOr(Proficiency),
|
|
36
33
|
locale: Locale,
|
|
37
34
|
}) {}
|
|
38
35
|
|
|
@@ -56,11 +53,6 @@ export class CompleteProfileRequest extends Schema.Class<CompleteProfileRequest>
|
|
|
56
53
|
}),
|
|
57
54
|
),
|
|
58
55
|
gender: Gender,
|
|
59
|
-
jerseyNumber: Schema.optionalWith(Schema.Number.pipe(Schema.int(), Schema.between(0, 99)), {
|
|
60
|
-
as: 'Option',
|
|
61
|
-
}),
|
|
62
|
-
position: Position,
|
|
63
|
-
proficiency: Proficiency,
|
|
64
56
|
}) {}
|
|
65
57
|
|
|
66
58
|
export class UpdateProfileRequest extends Schema.Class<UpdateProfileRequest>(
|
|
@@ -77,9 +69,6 @@ export class UpdateProfileRequest extends Schema.Class<UpdateProfileRequest>(
|
|
|
77
69
|
),
|
|
78
70
|
),
|
|
79
71
|
gender: Schema.NullOr(Gender),
|
|
80
|
-
jerseyNumber: Schema.NullOr(Schema.Number.pipe(Schema.int(), Schema.between(0, 99))),
|
|
81
|
-
position: Schema.NullOr(Position),
|
|
82
|
-
proficiency: Schema.NullOr(Proficiency),
|
|
83
72
|
}) {}
|
|
84
73
|
|
|
85
74
|
export class Unauthorized extends Schema.TaggedError<Unauthorized>()(
|
package/src/api/Roster.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Permission } from '~/models/Role.js';
|
|
|
5
5
|
import { RosterId } from '~/models/RosterModel.js';
|
|
6
6
|
import { TeamId } from '~/models/Team.js';
|
|
7
7
|
import { TeamMemberId } from '~/models/TeamMember.js';
|
|
8
|
-
import { Gender,
|
|
8
|
+
import { Gender, UserId } from '~/models/User.js';
|
|
9
9
|
|
|
10
10
|
export class RosterPlayer extends Schema.Class<RosterPlayer>('RosterPlayer')({
|
|
11
11
|
memberId: TeamMemberId,
|
|
@@ -16,8 +16,6 @@ export class RosterPlayer extends Schema.Class<RosterPlayer>('RosterPlayer')({
|
|
|
16
16
|
birthYear: Schema.NullOr(Schema.Number),
|
|
17
17
|
gender: Schema.NullOr(Gender),
|
|
18
18
|
jerseyNumber: Schema.NullOr(Schema.Number),
|
|
19
|
-
position: Schema.NullOr(Position),
|
|
20
|
-
proficiency: Schema.NullOr(Proficiency),
|
|
21
19
|
discordUsername: Schema.String,
|
|
22
20
|
discordAvatar: Schema.NullOr(Schema.String),
|
|
23
21
|
}) {}
|
|
@@ -27,8 +25,6 @@ export class UpdatePlayerRequest extends Schema.Class<UpdatePlayerRequest>('Upda
|
|
|
27
25
|
birthYear: Schema.NullOr(Schema.Number),
|
|
28
26
|
gender: Schema.NullOr(Gender),
|
|
29
27
|
jerseyNumber: Schema.NullOr(Schema.Number),
|
|
30
|
-
position: Schema.NullOr(Position),
|
|
31
|
-
proficiency: Schema.NullOr(Proficiency),
|
|
32
28
|
}) {}
|
|
33
29
|
|
|
34
30
|
export class PlayerNotFound extends Schema.TaggedError<PlayerNotFound>()(
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from '@effect/platform';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { AuthMiddleware } from '~/api/Auth.js';
|
|
4
|
+
import { TeamId } from '~/models/Team.js';
|
|
5
|
+
import { TeamMemberId } from '~/models/TeamMember.js';
|
|
6
|
+
import { TrainingTypeId } from '~/models/TrainingType.js';
|
|
7
|
+
|
|
8
|
+
export class TrainingTypeInfo extends Schema.Class<TrainingTypeInfo>('TrainingTypeInfo')({
|
|
9
|
+
trainingTypeId: TrainingTypeId,
|
|
10
|
+
teamId: TeamId,
|
|
11
|
+
name: Schema.String,
|
|
12
|
+
coachCount: Schema.Number,
|
|
13
|
+
}) {}
|
|
14
|
+
|
|
15
|
+
export class TrainingTypeDetail extends Schema.Class<TrainingTypeDetail>('TrainingTypeDetail')({
|
|
16
|
+
trainingTypeId: TrainingTypeId,
|
|
17
|
+
teamId: TeamId,
|
|
18
|
+
name: Schema.String,
|
|
19
|
+
canAdmin: Schema.Boolean,
|
|
20
|
+
coaches: Schema.Array(
|
|
21
|
+
Schema.Struct({
|
|
22
|
+
memberId: TeamMemberId,
|
|
23
|
+
name: Schema.NullOr(Schema.String),
|
|
24
|
+
discordUsername: Schema.String,
|
|
25
|
+
}),
|
|
26
|
+
),
|
|
27
|
+
}) {}
|
|
28
|
+
|
|
29
|
+
export class TrainingTypeListResponse extends Schema.Class<TrainingTypeListResponse>(
|
|
30
|
+
'TrainingTypeListResponse',
|
|
31
|
+
)({
|
|
32
|
+
canAdmin: Schema.Boolean,
|
|
33
|
+
trainingTypes: Schema.Array(TrainingTypeInfo),
|
|
34
|
+
}) {}
|
|
35
|
+
|
|
36
|
+
export class CreateTrainingTypeRequest extends Schema.Class<CreateTrainingTypeRequest>(
|
|
37
|
+
'CreateTrainingTypeRequest',
|
|
38
|
+
)({
|
|
39
|
+
name: Schema.NonEmptyString,
|
|
40
|
+
}) {}
|
|
41
|
+
|
|
42
|
+
export class UpdateTrainingTypeRequest extends Schema.Class<UpdateTrainingTypeRequest>(
|
|
43
|
+
'UpdateTrainingTypeRequest',
|
|
44
|
+
)({
|
|
45
|
+
name: Schema.NonEmptyString,
|
|
46
|
+
}) {}
|
|
47
|
+
|
|
48
|
+
export class AddTrainingTypeCoachRequest extends Schema.Class<AddTrainingTypeCoachRequest>(
|
|
49
|
+
'AddTrainingTypeCoachRequest',
|
|
50
|
+
)({
|
|
51
|
+
memberId: TeamMemberId,
|
|
52
|
+
}) {}
|
|
53
|
+
|
|
54
|
+
export class TrainingTypeNotFound extends Schema.TaggedError<TrainingTypeNotFound>()(
|
|
55
|
+
'TrainingTypeNotFound',
|
|
56
|
+
{},
|
|
57
|
+
HttpApiSchema.annotations({ status: 404 }),
|
|
58
|
+
) {}
|
|
59
|
+
|
|
60
|
+
export class Forbidden extends Schema.TaggedError<Forbidden>()(
|
|
61
|
+
'TrainingTypeForbidden',
|
|
62
|
+
{},
|
|
63
|
+
HttpApiSchema.annotations({ status: 403 }),
|
|
64
|
+
) {}
|
|
65
|
+
|
|
66
|
+
export class MemberNotFound extends Schema.TaggedError<MemberNotFound>()(
|
|
67
|
+
'TrainingTypeMemberNotFound',
|
|
68
|
+
{},
|
|
69
|
+
HttpApiSchema.annotations({ status: 404 }),
|
|
70
|
+
) {}
|
|
71
|
+
|
|
72
|
+
export class TrainingTypeApiGroup extends HttpApiGroup.make('trainingType')
|
|
73
|
+
.add(
|
|
74
|
+
HttpApiEndpoint.get('listTrainingTypes', '/teams/:teamId/training-types')
|
|
75
|
+
.addSuccess(TrainingTypeListResponse)
|
|
76
|
+
.addError(Forbidden, { status: 403 })
|
|
77
|
+
.setPath(Schema.Struct({ teamId: TeamId }))
|
|
78
|
+
.middleware(AuthMiddleware),
|
|
79
|
+
)
|
|
80
|
+
.add(
|
|
81
|
+
HttpApiEndpoint.post('createTrainingType', '/teams/:teamId/training-types')
|
|
82
|
+
.addSuccess(TrainingTypeInfo, { status: 201 })
|
|
83
|
+
.addError(Forbidden, { status: 403 })
|
|
84
|
+
.setPath(Schema.Struct({ teamId: TeamId }))
|
|
85
|
+
.setPayload(CreateTrainingTypeRequest)
|
|
86
|
+
.middleware(AuthMiddleware),
|
|
87
|
+
)
|
|
88
|
+
.add(
|
|
89
|
+
HttpApiEndpoint.get('getTrainingType', '/teams/:teamId/training-types/:trainingTypeId')
|
|
90
|
+
.addSuccess(TrainingTypeDetail)
|
|
91
|
+
.addError(Forbidden, { status: 403 })
|
|
92
|
+
.addError(TrainingTypeNotFound, { status: 404 })
|
|
93
|
+
.setPath(Schema.Struct({ teamId: TeamId, trainingTypeId: TrainingTypeId }))
|
|
94
|
+
.middleware(AuthMiddleware),
|
|
95
|
+
)
|
|
96
|
+
.add(
|
|
97
|
+
HttpApiEndpoint.patch('updateTrainingType', '/teams/:teamId/training-types/:trainingTypeId')
|
|
98
|
+
.addSuccess(TrainingTypeInfo)
|
|
99
|
+
.addError(Forbidden, { status: 403 })
|
|
100
|
+
.addError(TrainingTypeNotFound, { status: 404 })
|
|
101
|
+
.setPath(Schema.Struct({ teamId: TeamId, trainingTypeId: TrainingTypeId }))
|
|
102
|
+
.setPayload(UpdateTrainingTypeRequest)
|
|
103
|
+
.middleware(AuthMiddleware),
|
|
104
|
+
)
|
|
105
|
+
.add(
|
|
106
|
+
HttpApiEndpoint.del('deleteTrainingType', '/teams/:teamId/training-types/:trainingTypeId')
|
|
107
|
+
.addSuccess(Schema.Void)
|
|
108
|
+
.addError(Forbidden, { status: 403 })
|
|
109
|
+
.addError(TrainingTypeNotFound, { status: 404 })
|
|
110
|
+
.setPath(Schema.Struct({ teamId: TeamId, trainingTypeId: TrainingTypeId }))
|
|
111
|
+
.middleware(AuthMiddleware),
|
|
112
|
+
)
|
|
113
|
+
.add(
|
|
114
|
+
HttpApiEndpoint.post(
|
|
115
|
+
'addTrainingTypeCoach',
|
|
116
|
+
'/teams/:teamId/training-types/:trainingTypeId/coaches',
|
|
117
|
+
)
|
|
118
|
+
.addSuccess(Schema.Void, { status: 204 })
|
|
119
|
+
.addError(Forbidden, { status: 403 })
|
|
120
|
+
.addError(TrainingTypeNotFound, { status: 404 })
|
|
121
|
+
.addError(MemberNotFound, { status: 404 })
|
|
122
|
+
.setPath(Schema.Struct({ teamId: TeamId, trainingTypeId: TrainingTypeId }))
|
|
123
|
+
.setPayload(AddTrainingTypeCoachRequest)
|
|
124
|
+
.middleware(AuthMiddleware),
|
|
125
|
+
)
|
|
126
|
+
.add(
|
|
127
|
+
HttpApiEndpoint.del(
|
|
128
|
+
'removeTrainingTypeCoach',
|
|
129
|
+
'/teams/:teamId/training-types/:trainingTypeId/coaches/:memberId',
|
|
130
|
+
)
|
|
131
|
+
.addSuccess(Schema.Void)
|
|
132
|
+
.addError(Forbidden, { status: 403 })
|
|
133
|
+
.addError(TrainingTypeNotFound, { status: 404 })
|
|
134
|
+
.addError(MemberNotFound, { status: 404 })
|
|
135
|
+
.setPath(
|
|
136
|
+
Schema.Struct({
|
|
137
|
+
teamId: TeamId,
|
|
138
|
+
trainingTypeId: TrainingTypeId,
|
|
139
|
+
memberId: TeamMemberId,
|
|
140
|
+
}),
|
|
141
|
+
)
|
|
142
|
+
.middleware(AuthMiddleware),
|
|
143
|
+
) {}
|
package/src/index.ts
CHANGED
|
@@ -14,14 +14,26 @@ export * as Roster from './api/Roster.js';
|
|
|
14
14
|
|
|
15
15
|
export * as SubgroupApi from './api/SubgroupApi.js';
|
|
16
16
|
|
|
17
|
+
export * as TrainingTypeApi from './api/TrainingTypeApi.js';
|
|
18
|
+
|
|
17
19
|
export * as AgeThresholdRule from './models/AgeThresholdRule.js';
|
|
18
20
|
|
|
21
|
+
export * as ChannelSyncEvent from './models/ChannelSyncEvent.js';
|
|
22
|
+
|
|
23
|
+
export * as Discord from './models/Discord.js';
|
|
24
|
+
|
|
25
|
+
export * as DiscordChannelMapping from './models/DiscordChannelMapping.js';
|
|
26
|
+
|
|
27
|
+
export * as DiscordRoleMapping from './models/DiscordRoleMapping.js';
|
|
28
|
+
|
|
19
29
|
export * as MemberRole from './models/MemberRole.js';
|
|
20
30
|
|
|
21
31
|
export * as Notification from './models/Notification.js';
|
|
22
32
|
|
|
23
33
|
export * as Role from './models/Role.js';
|
|
24
34
|
|
|
35
|
+
export * as RoleSyncEvent from './models/RoleSyncEvent.js';
|
|
36
|
+
|
|
25
37
|
export * as RosterMemberModel from './models/RosterMemberModel.js';
|
|
26
38
|
|
|
27
39
|
export * as RosterModel from './models/RosterModel.js';
|
|
@@ -36,4 +48,13 @@ export * as TeamInvite from './models/TeamInvite.js';
|
|
|
36
48
|
|
|
37
49
|
export * as TeamMember from './models/TeamMember.js';
|
|
38
50
|
|
|
51
|
+
export * as TrainingType from './models/TrainingType.js';
|
|
52
|
+
|
|
39
53
|
export * as User from './models/User.js';
|
|
54
|
+
export * as ChannelRpcEvents from './rpc/channel/ChannelRpcEvents.js';
|
|
55
|
+
export * as ChannelRpcGroup from './rpc/channel/ChannelRpcGroup.js';
|
|
56
|
+
export * as ChannelRpcModels from './rpc/channel/ChannelRpcModels.js';
|
|
57
|
+
export * as RoleRpcEvents from './rpc/role/RoleRpcEvents.js';
|
|
58
|
+
export * as RoleRpcGroup from './rpc/role/RoleRpcGroup.js';
|
|
59
|
+
export * as RoleRpcModels from './rpc/role/RoleRpcModels.js';
|
|
60
|
+
export * as SyncRpcs from './rpc/SyncRpcs.js';
|