@sideline/domain 0.11.0 → 0.12.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/ActivityLogApi.js +126 -0
- package/dist/cjs/api/ActivityLogApi.js.map +1 -0
- package/dist/cjs/api/ActivityStatsApi.js +37 -0
- package/dist/cjs/api/ActivityStatsApi.js.map +1 -0
- package/dist/cjs/index.js +15 -1
- package/dist/cjs/models/ActivityLog.js +24 -0
- package/dist/cjs/models/ActivityLog.js.map +1 -0
- package/dist/cjs/models/ActivityStats.js +120 -0
- package/dist/cjs/models/ActivityStats.js.map +1 -0
- package/dist/cjs/models/ActivityType.js +10 -0
- package/dist/cjs/models/ActivityType.js.map +1 -0
- package/dist/cjs/rpc/SyncRpcs.js +2 -1
- package/dist/cjs/rpc/SyncRpcs.js.map +1 -1
- package/dist/cjs/rpc/activity/ActivityRpcGroup.js +29 -0
- package/dist/cjs/rpc/activity/ActivityRpcGroup.js.map +1 -0
- package/dist/cjs/rpc/activity/ActivityRpcModels.js +31 -0
- package/dist/cjs/rpc/activity/ActivityRpcModels.js.map +1 -0
- package/dist/cjs/rpc/event/EventRpcGroup.js +7 -1
- package/dist/cjs/rpc/event/EventRpcGroup.js.map +1 -1
- package/dist/cjs/rpc/event/EventRpcModels.js +7 -1
- package/dist/cjs/rpc/event/EventRpcModels.js.map +1 -1
- package/dist/dts/api/ActivityLogApi.d.ts +163 -0
- package/dist/dts/api/ActivityLogApi.d.ts.map +1 -0
- package/dist/dts/api/ActivityStatsApi.d.ts +58 -0
- package/dist/dts/api/ActivityStatsApi.d.ts.map +1 -0
- package/dist/dts/api/AgeThresholdApi.d.ts +2 -2
- package/dist/dts/api/EventApi.d.ts +4 -4
- package/dist/dts/api/GroupApi.d.ts +1 -1
- package/dist/dts/index.d.ts +7 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/models/ActivityLog.d.ts +122 -0
- package/dist/dts/models/ActivityLog.d.ts.map +1 -0
- package/dist/dts/models/ActivityStats.d.ts +28 -0
- package/dist/dts/models/ActivityStats.d.ts.map +1 -0
- package/dist/dts/models/ActivityType.d.ts +6 -0
- package/dist/dts/models/ActivityType.d.ts.map +1 -0
- package/dist/dts/models/ChannelSyncEvent.d.ts +4 -4
- package/dist/dts/models/Event.d.ts +2 -2
- package/dist/dts/models/EventRsvp.d.ts +4 -4
- package/dist/dts/models/RoleSyncEvent.d.ts +4 -4
- package/dist/dts/rpc/SyncRpcs.d.ts +14 -2
- package/dist/dts/rpc/SyncRpcs.d.ts.map +1 -1
- package/dist/dts/rpc/activity/ActivityRpcGroup.d.ts +14 -0
- package/dist/dts/rpc/activity/ActivityRpcGroup.d.ts.map +1 -0
- package/dist/dts/rpc/activity/ActivityRpcModels.d.ts +67 -0
- package/dist/dts/rpc/activity/ActivityRpcModels.d.ts.map +1 -0
- package/dist/dts/rpc/event/EventRpcGroup.d.ts +5 -2
- package/dist/dts/rpc/event/EventRpcGroup.d.ts.map +1 -1
- package/dist/dts/rpc/event/EventRpcModels.d.ts +13 -0
- package/dist/dts/rpc/event/EventRpcModels.d.ts.map +1 -1
- package/dist/esm/api/ActivityLogApi.js +108 -0
- package/dist/esm/api/ActivityLogApi.js.map +1 -0
- package/dist/esm/api/ActivityStatsApi.js +27 -0
- package/dist/esm/api/ActivityStatsApi.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/ActivityLog.js +17 -0
- package/dist/esm/models/ActivityLog.js.map +1 -0
- package/dist/esm/models/ActivityStats.js +111 -0
- package/dist/esm/models/ActivityStats.js.map +1 -0
- package/dist/esm/models/ActivityType.js +4 -0
- package/dist/esm/models/ActivityType.js.map +1 -0
- package/dist/esm/rpc/SyncRpcs.js +2 -1
- package/dist/esm/rpc/SyncRpcs.js.map +1 -1
- package/dist/esm/rpc/activity/ActivityRpcGroup.js +23 -0
- package/dist/esm/rpc/activity/ActivityRpcGroup.js.map +1 -0
- package/dist/esm/rpc/activity/ActivityRpcModels.js +21 -0
- package/dist/esm/rpc/activity/ActivityRpcModels.js.map +1 -0
- package/dist/esm/rpc/event/EventRpcGroup.js +9 -3
- package/dist/esm/rpc/event/EventRpcGroup.js.map +1 -1
- package/dist/esm/rpc/event/EventRpcModels.js +5 -0
- package/dist/esm/rpc/event/EventRpcModels.js.map +1 -1
- package/package.json +1 -1
- package/src/api/ActivityLogApi.ts +135 -0
- package/src/api/ActivityStatsApi.ts +42 -0
- package/src/index.ts +12 -0
- package/src/models/ActivityLog.ts +21 -0
- package/src/models/ActivityStats.ts +131 -0
- package/src/models/ActivityType.ts +7 -0
- package/src/rpc/SyncRpcs.ts +2 -0
- package/src/rpc/activity/ActivityRpcGroup.ts +31 -0
- package/src/rpc/activity/ActivityRpcModels.ts +32 -0
- package/src/rpc/event/EventRpcGroup.ts +7 -1
- package/src/rpc/event/EventRpcModels.ts +6 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { HttpApiEndpoint, HttpApiGroup } from '@effect/platform';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { AuthMiddleware } from '../api/Auth.js';
|
|
4
|
+
declare const ActivityLogEntry_base: Schema.Class<ActivityLogEntry, {
|
|
5
|
+
id: Schema.brand<typeof Schema.String, "ActivityLogId">;
|
|
6
|
+
activityTypeId: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
7
|
+
activityTypeName: typeof Schema.String;
|
|
8
|
+
loggedAt: typeof Schema.String;
|
|
9
|
+
durationMinutes: Schema.OptionFromNullOr<typeof Schema.Int>;
|
|
10
|
+
note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
11
|
+
source: Schema.Literal<["manual", "auto"]>;
|
|
12
|
+
}, Schema.Struct.Encoded<{
|
|
13
|
+
id: Schema.brand<typeof Schema.String, "ActivityLogId">;
|
|
14
|
+
activityTypeId: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
15
|
+
activityTypeName: typeof Schema.String;
|
|
16
|
+
loggedAt: typeof Schema.String;
|
|
17
|
+
durationMinutes: Schema.OptionFromNullOr<typeof Schema.Int>;
|
|
18
|
+
note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
19
|
+
source: Schema.Literal<["manual", "auto"]>;
|
|
20
|
+
}>, never, {
|
|
21
|
+
readonly id: string & import("effect/Brand").Brand<"ActivityLogId">;
|
|
22
|
+
} & {
|
|
23
|
+
readonly note: import("effect/Option").Option<string>;
|
|
24
|
+
} & {
|
|
25
|
+
readonly source: "manual" | "auto";
|
|
26
|
+
} & {
|
|
27
|
+
readonly activityTypeId: string & import("effect/Brand").Brand<"ActivityTypeId">;
|
|
28
|
+
} & {
|
|
29
|
+
readonly activityTypeName: string;
|
|
30
|
+
} & {
|
|
31
|
+
readonly loggedAt: string;
|
|
32
|
+
} & {
|
|
33
|
+
readonly durationMinutes: import("effect/Option").Option<number>;
|
|
34
|
+
}, {}, {}>;
|
|
35
|
+
export declare class ActivityLogEntry extends ActivityLogEntry_base {
|
|
36
|
+
}
|
|
37
|
+
declare const ActivityLogListResponse_base: Schema.Class<ActivityLogListResponse, {
|
|
38
|
+
logs: Schema.Array$<typeof ActivityLogEntry>;
|
|
39
|
+
}, Schema.Struct.Encoded<{
|
|
40
|
+
logs: Schema.Array$<typeof ActivityLogEntry>;
|
|
41
|
+
}>, never, {
|
|
42
|
+
readonly logs: readonly ActivityLogEntry[];
|
|
43
|
+
}, {}, {}>;
|
|
44
|
+
export declare class ActivityLogListResponse extends ActivityLogListResponse_base {
|
|
45
|
+
}
|
|
46
|
+
declare const CreateActivityLogRequest_base: Schema.Class<CreateActivityLogRequest, {
|
|
47
|
+
activityTypeId: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
48
|
+
durationMinutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
49
|
+
note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
50
|
+
}, Schema.Struct.Encoded<{
|
|
51
|
+
activityTypeId: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
52
|
+
durationMinutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
53
|
+
note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
54
|
+
}>, never, {
|
|
55
|
+
readonly note: import("effect/Option").Option<string>;
|
|
56
|
+
} & {
|
|
57
|
+
readonly activityTypeId: string & import("effect/Brand").Brand<"ActivityTypeId">;
|
|
58
|
+
} & {
|
|
59
|
+
readonly durationMinutes: import("effect/Option").Option<number>;
|
|
60
|
+
}, {}, {}>;
|
|
61
|
+
export declare class CreateActivityLogRequest extends CreateActivityLogRequest_base {
|
|
62
|
+
}
|
|
63
|
+
declare const UpdateActivityLogRequest_base: Schema.Class<UpdateActivityLogRequest, {
|
|
64
|
+
activityTypeId: Schema.optionalWith<Schema.brand<typeof Schema.String, "ActivityTypeId">, {
|
|
65
|
+
as: "Option";
|
|
66
|
+
}>;
|
|
67
|
+
durationMinutes: Schema.optionalWith<Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>, {
|
|
68
|
+
as: "Option";
|
|
69
|
+
}>;
|
|
70
|
+
note: Schema.optionalWith<Schema.OptionFromNullOr<typeof Schema.String>, {
|
|
71
|
+
as: "Option";
|
|
72
|
+
}>;
|
|
73
|
+
}, Schema.Struct.Encoded<{
|
|
74
|
+
activityTypeId: Schema.optionalWith<Schema.brand<typeof Schema.String, "ActivityTypeId">, {
|
|
75
|
+
as: "Option";
|
|
76
|
+
}>;
|
|
77
|
+
durationMinutes: Schema.optionalWith<Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>, {
|
|
78
|
+
as: "Option";
|
|
79
|
+
}>;
|
|
80
|
+
note: Schema.optionalWith<Schema.OptionFromNullOr<typeof Schema.String>, {
|
|
81
|
+
as: "Option";
|
|
82
|
+
}>;
|
|
83
|
+
}>, never, {
|
|
84
|
+
readonly note: import("effect/Option").Option<import("effect/Option").Option<string>>;
|
|
85
|
+
} & {
|
|
86
|
+
readonly activityTypeId: import("effect/Option").Option<string & import("effect/Brand").Brand<"ActivityTypeId">>;
|
|
87
|
+
} & {
|
|
88
|
+
readonly durationMinutes: import("effect/Option").Option<import("effect/Option").Option<number>>;
|
|
89
|
+
}, {}, {}>;
|
|
90
|
+
export declare class UpdateActivityLogRequest extends UpdateActivityLogRequest_base {
|
|
91
|
+
}
|
|
92
|
+
declare const ActivityTypeEntry_base: Schema.Class<ActivityTypeEntry, {
|
|
93
|
+
id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
94
|
+
name: typeof Schema.String;
|
|
95
|
+
slug: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
96
|
+
}, Schema.Struct.Encoded<{
|
|
97
|
+
id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
98
|
+
name: typeof Schema.String;
|
|
99
|
+
slug: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
100
|
+
}>, never, {
|
|
101
|
+
readonly name: string;
|
|
102
|
+
} & {
|
|
103
|
+
readonly id: string & import("effect/Brand").Brand<"ActivityTypeId">;
|
|
104
|
+
} & {
|
|
105
|
+
readonly slug: import("effect/Option").Option<string>;
|
|
106
|
+
}, {}, {}>;
|
|
107
|
+
export declare class ActivityTypeEntry extends ActivityTypeEntry_base {
|
|
108
|
+
}
|
|
109
|
+
declare const ActivityTypeListResponse_base: Schema.Class<ActivityTypeListResponse, {
|
|
110
|
+
activityTypes: Schema.Array$<typeof ActivityTypeEntry>;
|
|
111
|
+
}, Schema.Struct.Encoded<{
|
|
112
|
+
activityTypes: Schema.Array$<typeof ActivityTypeEntry>;
|
|
113
|
+
}>, never, {
|
|
114
|
+
readonly activityTypes: readonly ActivityTypeEntry[];
|
|
115
|
+
}, {}, {}>;
|
|
116
|
+
export declare class ActivityTypeListResponse extends ActivityTypeListResponse_base {
|
|
117
|
+
}
|
|
118
|
+
declare const MemberNotFound_base: Schema.TaggedErrorClass<MemberNotFound, "ActivityLogMemberNotFound", {
|
|
119
|
+
readonly _tag: Schema.tag<"ActivityLogMemberNotFound">;
|
|
120
|
+
}>;
|
|
121
|
+
export declare class MemberNotFound extends MemberNotFound_base {
|
|
122
|
+
}
|
|
123
|
+
declare const Forbidden_base: Schema.TaggedErrorClass<Forbidden, "ActivityLogForbidden", {
|
|
124
|
+
readonly _tag: Schema.tag<"ActivityLogForbidden">;
|
|
125
|
+
}>;
|
|
126
|
+
export declare class Forbidden extends Forbidden_base {
|
|
127
|
+
}
|
|
128
|
+
declare const LogNotFound_base: Schema.TaggedErrorClass<LogNotFound, "ActivityLogNotFound", {
|
|
129
|
+
readonly _tag: Schema.tag<"ActivityLogNotFound">;
|
|
130
|
+
}>;
|
|
131
|
+
export declare class LogNotFound extends LogNotFound_base {
|
|
132
|
+
}
|
|
133
|
+
declare const MemberInactive_base: Schema.TaggedErrorClass<MemberInactive, "ActivityLogMemberInactive", {
|
|
134
|
+
readonly _tag: Schema.tag<"ActivityLogMemberInactive">;
|
|
135
|
+
}>;
|
|
136
|
+
export declare class MemberInactive extends MemberInactive_base {
|
|
137
|
+
}
|
|
138
|
+
declare const AutoSourceForbidden_base: Schema.TaggedErrorClass<AutoSourceForbidden, "ActivityLogAutoSourceForbidden", {
|
|
139
|
+
readonly _tag: Schema.tag<"ActivityLogAutoSourceForbidden">;
|
|
140
|
+
}>;
|
|
141
|
+
export declare class AutoSourceForbidden extends AutoSourceForbidden_base {
|
|
142
|
+
}
|
|
143
|
+
declare const ActivityLogApiGroup_base: HttpApiGroup.HttpApiGroup<"activityLog", HttpApiEndpoint.HttpApiEndpoint<"listLogs", "GET", {
|
|
144
|
+
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
145
|
+
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
146
|
+
}, never, never, never, ActivityLogListResponse, import("../api/Auth.js").Unauthorized | MemberNotFound | Forbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"createLog", "POST", {
|
|
147
|
+
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
148
|
+
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
149
|
+
}, never, CreateActivityLogRequest, never, ActivityLogEntry, import("../api/Auth.js").Unauthorized | MemberNotFound | Forbidden | MemberInactive, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"updateLog", "PATCH", {
|
|
150
|
+
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
151
|
+
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
152
|
+
readonly logId: string & import("effect/Brand").Brand<"ActivityLogId">;
|
|
153
|
+
}, never, UpdateActivityLogRequest, never, ActivityLogEntry, import("../api/Auth.js").Unauthorized | Forbidden | LogNotFound | MemberInactive | AutoSourceForbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"deleteLog", "POST", {
|
|
154
|
+
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
155
|
+
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
156
|
+
readonly logId: string & import("effect/Brand").Brand<"ActivityLogId">;
|
|
157
|
+
}, never, never, never, void, import("../api/Auth.js").Unauthorized | Forbidden | LogNotFound | MemberInactive | AutoSourceForbidden, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"listActivityTypes", "GET", {
|
|
158
|
+
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
159
|
+
}, never, never, never, ActivityTypeListResponse, import("../api/Auth.js").Unauthorized | Forbidden, AuthMiddleware, never>, never, never, false>;
|
|
160
|
+
export declare class ActivityLogApiGroup extends ActivityLogApiGroup_base {
|
|
161
|
+
}
|
|
162
|
+
export {};
|
|
163
|
+
//# sourceMappingURL=ActivityLogApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityLogApi.d.ts","sourceRoot":"","sources":["../../../src/api/ActivityLogApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAM/C,qBAAa,gBAAiB,SAAQ,qBAQpC;CAAG;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAI3C;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAM5C;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAS5C;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAIrC;CAAG;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;;;;AAEL,qBAAa,cAAe,SAAQ,mBAInC;CAAG;;;;AAEJ,qBAAa,SAAU,SAAQ,cAI9B;CAAG;;;;AAEJ,qBAAa,WAAY,SAAQ,gBAIhC;CAAG;;;;AAEJ,qBAAa,cAAe,SAAQ,mBAInC;CAAG;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAIxC;CAAG;;;;;;;;;;;;;;;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAiDtC;CAAG"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { HttpApiEndpoint, HttpApiGroup } from '@effect/platform';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
import { AuthMiddleware } from '../api/Auth.js';
|
|
4
|
+
declare const ActivityStatsResponse_base: Schema.Class<ActivityStatsResponse, {
|
|
5
|
+
currentStreak: typeof Schema.Int;
|
|
6
|
+
longestStreak: typeof Schema.Int;
|
|
7
|
+
totalActivities: typeof Schema.Int;
|
|
8
|
+
totalDurationMinutes: typeof Schema.Int;
|
|
9
|
+
counts: Schema.Array$<Schema.Struct<{
|
|
10
|
+
activityTypeId: typeof Schema.String;
|
|
11
|
+
activityTypeName: typeof Schema.String;
|
|
12
|
+
count: typeof Schema.Int;
|
|
13
|
+
}>>;
|
|
14
|
+
}, Schema.Struct.Encoded<{
|
|
15
|
+
currentStreak: typeof Schema.Int;
|
|
16
|
+
longestStreak: typeof Schema.Int;
|
|
17
|
+
totalActivities: typeof Schema.Int;
|
|
18
|
+
totalDurationMinutes: typeof Schema.Int;
|
|
19
|
+
counts: Schema.Array$<Schema.Struct<{
|
|
20
|
+
activityTypeId: typeof Schema.String;
|
|
21
|
+
activityTypeName: typeof Schema.String;
|
|
22
|
+
count: typeof Schema.Int;
|
|
23
|
+
}>>;
|
|
24
|
+
}>, never, {
|
|
25
|
+
readonly currentStreak: number;
|
|
26
|
+
} & {
|
|
27
|
+
readonly longestStreak: number;
|
|
28
|
+
} & {
|
|
29
|
+
readonly totalActivities: number;
|
|
30
|
+
} & {
|
|
31
|
+
readonly totalDurationMinutes: number;
|
|
32
|
+
} & {
|
|
33
|
+
readonly counts: readonly {
|
|
34
|
+
readonly activityTypeId: string;
|
|
35
|
+
readonly activityTypeName: string;
|
|
36
|
+
readonly count: number;
|
|
37
|
+
}[];
|
|
38
|
+
}, {}, {}>;
|
|
39
|
+
export declare class ActivityStatsResponse extends ActivityStatsResponse_base {
|
|
40
|
+
}
|
|
41
|
+
declare const MemberNotFound_base: Schema.TaggedErrorClass<MemberNotFound, "ActivityStatsMemberNotFound", {
|
|
42
|
+
readonly _tag: Schema.tag<"ActivityStatsMemberNotFound">;
|
|
43
|
+
}>;
|
|
44
|
+
export declare class MemberNotFound extends MemberNotFound_base {
|
|
45
|
+
}
|
|
46
|
+
declare const Forbidden_base: Schema.TaggedErrorClass<Forbidden, "ActivityStatsForbidden", {
|
|
47
|
+
readonly _tag: Schema.tag<"ActivityStatsForbidden">;
|
|
48
|
+
}>;
|
|
49
|
+
export declare class Forbidden extends Forbidden_base {
|
|
50
|
+
}
|
|
51
|
+
declare const ActivityStatsApiGroup_base: HttpApiGroup.HttpApiGroup<"activityStats", HttpApiEndpoint.HttpApiEndpoint<"getMemberStats", "GET", {
|
|
52
|
+
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
53
|
+
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
54
|
+
}, never, never, never, ActivityStatsResponse, import("../api/Auth.js").Unauthorized | MemberNotFound | Forbidden, AuthMiddleware, never>, never, never, false>;
|
|
55
|
+
export declare class ActivityStatsApiGroup extends ActivityStatsApiGroup_base {
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=ActivityStatsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityStatsApi.d.ts","sourceRoot":"","sources":["../../../src/api/ActivityStatsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI/C,qBAAa,qBAAsB,SAAQ,0BAczC;CAAG;;;;AAEL,qBAAa,cAAe,SAAQ,mBAInC;CAAG;;;;AAEJ,qBAAa,SAAU,SAAQ,cAI9B;CAAG;;;;;AAEJ,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG"}
|
|
@@ -43,11 +43,11 @@ declare const AgeGroupChange_base: Schema.Class<AgeGroupChange, {
|
|
|
43
43
|
groupName: typeof Schema.String;
|
|
44
44
|
action: Schema.Literal<["added", "removed"]>;
|
|
45
45
|
}>, never, {
|
|
46
|
+
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
47
|
+
} & {
|
|
46
48
|
readonly groupId: string & import("effect/Brand").Brand<"GroupId">;
|
|
47
49
|
} & {
|
|
48
50
|
readonly groupName: string;
|
|
49
|
-
} & {
|
|
50
|
-
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
51
51
|
} & {
|
|
52
52
|
readonly memberName: string;
|
|
53
53
|
} & {
|
|
@@ -34,7 +34,7 @@ declare const EventInfo_base: Schema.Class<EventInfo, {
|
|
|
34
34
|
} & {
|
|
35
35
|
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
36
36
|
} & {
|
|
37
|
-
readonly eventType: "other" | "
|
|
37
|
+
readonly eventType: "other" | "training" | "match" | "tournament" | "meeting" | "social";
|
|
38
38
|
} & {
|
|
39
39
|
readonly startAt: import("effect/DateTime").Utc;
|
|
40
40
|
} & {
|
|
@@ -103,7 +103,7 @@ declare const EventDetail_base: Schema.Class<EventDetail, {
|
|
|
103
103
|
} & {
|
|
104
104
|
readonly eventId: string & import("effect/Brand").Brand<"EventId">;
|
|
105
105
|
} & {
|
|
106
|
-
readonly eventType: "other" | "
|
|
106
|
+
readonly eventType: "other" | "training" | "match" | "tournament" | "meeting" | "social";
|
|
107
107
|
} & {
|
|
108
108
|
readonly startAt: import("effect/DateTime").Utc;
|
|
109
109
|
} & {
|
|
@@ -177,7 +177,7 @@ declare const CreateEventRequest_base: Schema.Class<CreateEventRequest, {
|
|
|
177
177
|
} & {
|
|
178
178
|
readonly title: string;
|
|
179
179
|
} & {
|
|
180
|
-
readonly eventType: "other" | "
|
|
180
|
+
readonly eventType: "other" | "training" | "match" | "tournament" | "meeting" | "social";
|
|
181
181
|
} & {
|
|
182
182
|
readonly startAt: import("effect/DateTime").Utc;
|
|
183
183
|
} & {
|
|
@@ -262,7 +262,7 @@ declare const UpdateEventRequest_base: Schema.Class<UpdateEventRequest, {
|
|
|
262
262
|
} & {
|
|
263
263
|
readonly title: import("effect/Option").Option<string>;
|
|
264
264
|
} & {
|
|
265
|
-
readonly eventType: import("effect/Option").Option<"other" | "
|
|
265
|
+
readonly eventType: import("effect/Option").Option<"other" | "training" | "match" | "tournament" | "meeting" | "social">;
|
|
266
266
|
} & {
|
|
267
267
|
readonly startAt: import("effect/Option").Option<import("effect/DateTime").Utc>;
|
|
268
268
|
} & {
|
|
@@ -226,8 +226,8 @@ declare const GroupApiGroup_base: HttpApiGroup.HttpApiGroup<"group", HttpApiEndp
|
|
|
226
226
|
readonly groupId: string & import("effect/Brand").Brand<"GroupId">;
|
|
227
227
|
}, never, AddGroupMemberRequest, never, void, import("../api/Auth.js").Unauthorized | GroupNotFound | Forbidden | MemberNotFound, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"removeGroupMember", "DELETE", {
|
|
228
228
|
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
229
|
-
readonly groupId: string & import("effect/Brand").Brand<"GroupId">;
|
|
230
229
|
readonly memberId: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
230
|
+
readonly groupId: string & import("effect/Brand").Brand<"GroupId">;
|
|
231
231
|
}, never, never, never, void, import("../api/Auth.js").Unauthorized | GroupNotFound | Forbidden | MemberNotFound, AuthMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"assignGroupRole", "POST", {
|
|
232
232
|
readonly teamId: string & import("effect/Brand").Brand<"TeamId">;
|
|
233
233
|
readonly groupId: string & import("effect/Brand").Brand<"GroupId">;
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * as ApiGroup from './ApiGroup.js';
|
|
2
|
+
export * as ActivityLogApi from './api/ActivityLogApi.js';
|
|
3
|
+
export * as ActivityStatsApi from './api/ActivityStatsApi.js';
|
|
2
4
|
export * as AgeThresholdApi from './api/AgeThresholdApi.js';
|
|
3
5
|
export * as Auth from './api/Auth.js';
|
|
4
6
|
export * as EventApi from './api/EventApi.js';
|
|
@@ -12,6 +14,9 @@ export * as RoleApi from './api/RoleApi.js';
|
|
|
12
14
|
export * as Roster from './api/Roster.js';
|
|
13
15
|
export * as TeamSettingsApi from './api/TeamSettingsApi.js';
|
|
14
16
|
export * as TrainingTypeApi from './api/TrainingTypeApi.js';
|
|
17
|
+
export * as ActivityLog from './models/ActivityLog.js';
|
|
18
|
+
export * as ActivityStats from './models/ActivityStats.js';
|
|
19
|
+
export * as ActivityType from './models/ActivityType.js';
|
|
15
20
|
export * as AgeThresholdRule from './models/AgeThresholdRule.js';
|
|
16
21
|
export * as ChannelSyncEvent from './models/ChannelSyncEvent.js';
|
|
17
22
|
export * as Discord from './models/Discord.js';
|
|
@@ -37,6 +42,8 @@ export * as TeamMember from './models/TeamMember.js';
|
|
|
37
42
|
export * as TeamSettings from './models/TeamSettings.js';
|
|
38
43
|
export * as TrainingType from './models/TrainingType.js';
|
|
39
44
|
export * as User from './models/User.js';
|
|
45
|
+
export * as ActivityRpcGroup from './rpc/activity/ActivityRpcGroup.js';
|
|
46
|
+
export * as ActivityRpcModels from './rpc/activity/ActivityRpcModels.js';
|
|
40
47
|
export * as ChannelRpcEvents from './rpc/channel/ChannelRpcEvents.js';
|
|
41
48
|
export * as ChannelRpcGroup from './rpc/channel/ChannelRpcGroup.js';
|
|
42
49
|
export * as ChannelRpcModels from './rpc/channel/ChannelRpcModels.js';
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAE3E,OAAO,KAAK,kBAAkB,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAE3C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AAEzC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AAEzC,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,gBAAgB,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,gBAAgB,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,aAAa,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,aAAa,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Model } from '@effect/sql';
|
|
2
|
+
import { Schema } from 'effect';
|
|
3
|
+
export declare const ActivityLogId: Schema.brand<typeof Schema.String, "ActivityLogId">;
|
|
4
|
+
export type ActivityLogId = typeof ActivityLogId.Type;
|
|
5
|
+
export declare const ActivitySource: Schema.Literal<["manual", "auto"]>;
|
|
6
|
+
export type ActivitySource = typeof ActivitySource.Type;
|
|
7
|
+
declare const ActivityLog_base: import("@effect/experimental/VariantSchema").Class<ActivityLog, {
|
|
8
|
+
readonly id: Model.Generated<Schema.brand<typeof Schema.String, "ActivityLogId">>;
|
|
9
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
10
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
11
|
+
readonly logged_at: Model.DateTimeInsertFromDate;
|
|
12
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
13
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
14
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
15
|
+
readonly created_at: Model.DateTimeInsertFromDate;
|
|
16
|
+
}, import("@effect/experimental/VariantSchema").ExtractFields<"select", {
|
|
17
|
+
readonly id: Model.Generated<Schema.brand<typeof Schema.String, "ActivityLogId">>;
|
|
18
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
19
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
20
|
+
readonly logged_at: Model.DateTimeInsertFromDate;
|
|
21
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
22
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
23
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
24
|
+
readonly created_at: Model.DateTimeInsertFromDate;
|
|
25
|
+
}, true>, {
|
|
26
|
+
readonly id: string & import("effect/Brand").Brand<"ActivityLogId">;
|
|
27
|
+
} & {
|
|
28
|
+
readonly created_at: import("effect/DateTime").Utc;
|
|
29
|
+
} & {
|
|
30
|
+
readonly duration_minutes: import("effect/Option").Option<number>;
|
|
31
|
+
} & {
|
|
32
|
+
readonly note: import("effect/Option").Option<string>;
|
|
33
|
+
} & {
|
|
34
|
+
readonly team_member_id: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
35
|
+
} & {
|
|
36
|
+
readonly activity_type_id: string & import("effect/Brand").Brand<"ActivityTypeId">;
|
|
37
|
+
} & {
|
|
38
|
+
readonly logged_at: import("effect/DateTime").Utc;
|
|
39
|
+
} & {
|
|
40
|
+
readonly source: "manual" | "auto";
|
|
41
|
+
}, Schema.Struct.Encoded<import("@effect/experimental/VariantSchema").ExtractFields<"select", {
|
|
42
|
+
readonly id: Model.Generated<Schema.brand<typeof Schema.String, "ActivityLogId">>;
|
|
43
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
44
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
45
|
+
readonly logged_at: Model.DateTimeInsertFromDate;
|
|
46
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
47
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
48
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
49
|
+
readonly created_at: Model.DateTimeInsertFromDate;
|
|
50
|
+
}, true>>, never, {
|
|
51
|
+
readonly id: string & import("effect/Brand").Brand<"ActivityLogId">;
|
|
52
|
+
} & {
|
|
53
|
+
readonly created_at: import("effect/DateTime").Utc;
|
|
54
|
+
} & {
|
|
55
|
+
readonly duration_minutes: import("effect/Option").Option<number>;
|
|
56
|
+
} & {
|
|
57
|
+
readonly note: import("effect/Option").Option<string>;
|
|
58
|
+
} & {
|
|
59
|
+
readonly team_member_id: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
60
|
+
} & {
|
|
61
|
+
readonly activity_type_id: string & import("effect/Brand").Brand<"ActivityTypeId">;
|
|
62
|
+
} & {
|
|
63
|
+
readonly logged_at: import("effect/DateTime").Utc;
|
|
64
|
+
} & {
|
|
65
|
+
readonly source: "manual" | "auto";
|
|
66
|
+
}> & {
|
|
67
|
+
readonly select: Schema.Struct<{
|
|
68
|
+
readonly id: Schema.brand<typeof Schema.String, "ActivityLogId">;
|
|
69
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
70
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
71
|
+
readonly logged_at: Model.DateTimeFromDate;
|
|
72
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
73
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
74
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
75
|
+
readonly created_at: Model.DateTimeFromDate;
|
|
76
|
+
}>;
|
|
77
|
+
readonly insert: Schema.Struct<{
|
|
78
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
79
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
80
|
+
readonly logged_at: import("@effect/experimental/VariantSchema").Overrideable<import("effect/DateTime").Utc, Date, never>;
|
|
81
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
82
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
83
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
84
|
+
readonly created_at: import("@effect/experimental/VariantSchema").Overrideable<import("effect/DateTime").Utc, Date, never>;
|
|
85
|
+
}>;
|
|
86
|
+
readonly update: Schema.Struct<{
|
|
87
|
+
readonly id: Schema.brand<typeof Schema.String, "ActivityLogId">;
|
|
88
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
89
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
90
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
91
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
92
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
93
|
+
}>;
|
|
94
|
+
readonly json: Schema.Struct<{
|
|
95
|
+
readonly id: Schema.brand<typeof Schema.String, "ActivityLogId">;
|
|
96
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
97
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
98
|
+
readonly logged_at: typeof Schema.DateTimeUtc;
|
|
99
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
100
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
101
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
102
|
+
readonly created_at: typeof Schema.DateTimeUtc;
|
|
103
|
+
}>;
|
|
104
|
+
readonly jsonCreate: Schema.Struct<{
|
|
105
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
106
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
107
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
108
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
109
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
110
|
+
}>;
|
|
111
|
+
readonly jsonUpdate: Schema.Struct<{
|
|
112
|
+
readonly team_member_id: Schema.brand<typeof Schema.String, "TeamMemberId">;
|
|
113
|
+
readonly activity_type_id: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
114
|
+
readonly duration_minutes: Schema.OptionFromNullOr<Schema.filter<typeof Schema.Int>>;
|
|
115
|
+
readonly note: Schema.OptionFromNullOr<typeof Schema.String>;
|
|
116
|
+
readonly source: Schema.Literal<["manual", "auto"]>;
|
|
117
|
+
}>;
|
|
118
|
+
};
|
|
119
|
+
export declare class ActivityLog extends ActivityLog_base {
|
|
120
|
+
}
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=ActivityLog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityLog.d.ts","sourceRoot":"","sources":["../../../src/models/ActivityLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,eAAO,MAAM,aAAa,qDAAoD,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,eAAO,MAAM,cAAc,oCAAmC,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExD,qBAAa,WAAY,SAAQ,gBAS/B;CAAG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Option } from 'effect';
|
|
2
|
+
export interface StreakResult {
|
|
3
|
+
readonly currentStreak: number;
|
|
4
|
+
readonly longestStreak: number;
|
|
5
|
+
}
|
|
6
|
+
export interface StatsResult {
|
|
7
|
+
readonly currentStreak: number;
|
|
8
|
+
readonly longestStreak: number;
|
|
9
|
+
readonly totalActivities: number;
|
|
10
|
+
readonly totalDurationMinutes: number;
|
|
11
|
+
readonly counts: ReadonlyArray<{
|
|
12
|
+
readonly activityTypeId: string;
|
|
13
|
+
readonly activityTypeName: string;
|
|
14
|
+
readonly count: number;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
/** Calculate current and longest streaks from a list of activity dates (ISO date strings like "2026-03-25"). */
|
|
18
|
+
export declare const calculateStreaks: (dates: ReadonlyArray<string>, today: string) => StreakResult;
|
|
19
|
+
/** Calculate full stats from activity rows. */
|
|
20
|
+
export declare const calculateStats: (rows: ReadonlyArray<{
|
|
21
|
+
readonly activity_type_id: string;
|
|
22
|
+
readonly activity_type_name: string;
|
|
23
|
+
readonly logged_at_date: string;
|
|
24
|
+
readonly duration_minutes: Option.Option<number>;
|
|
25
|
+
}>, today: string) => StatsResult;
|
|
26
|
+
/** Returns today's date as an ISO string in the Europe/Prague timezone. */
|
|
27
|
+
export declare const todayInPrague: () => string;
|
|
28
|
+
//# sourceMappingURL=ActivityStats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityStats.d.ts","sourceRoot":"","sources":["../../../src/models/ActivityStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,gHAAgH;AAChH,eAAO,MAAM,gBAAgB,GAAI,OAAO,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,KAAG,YAsC9E,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,cAAc,GACzB,MAAM,aAAa,CAAC;IAClB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAClD,CAAC,EACF,OAAO,MAAM,KACZ,WA0CF,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,aAAa,QAAO,MAUhC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
export declare const ActivityTypeId: Schema.brand<typeof Schema.String, "ActivityTypeId">;
|
|
3
|
+
export type ActivityTypeId = typeof ActivityTypeId.Type;
|
|
4
|
+
export declare const ActivityTypeSlug: Schema.Literal<["gym", "running", "stretching", "training"]>;
|
|
5
|
+
export type ActivityTypeSlug = typeof ActivityTypeSlug.Type;
|
|
6
|
+
//# sourceMappingURL=ActivityType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityType.d.ts","sourceRoot":"","sources":["../../../src/models/ActivityType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,cAAc,sDAAqD,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,gBAAgB,8DAA6D,CAAC;AAC3F,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC"}
|
|
@@ -38,12 +38,12 @@ declare const ChannelSyncEvent_base: import("@effect/experimental/VariantSchema"
|
|
|
38
38
|
readonly team_id: string & import("effect/Brand").Brand<"TeamId">;
|
|
39
39
|
} & {
|
|
40
40
|
readonly error: import("effect/Option").Option<string>;
|
|
41
|
+
} & {
|
|
42
|
+
readonly team_member_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"TeamMemberId">>;
|
|
41
43
|
} & {
|
|
42
44
|
readonly group_id: string & import("effect/Brand").Brand<"GroupId">;
|
|
43
45
|
} & {
|
|
44
46
|
readonly event_type: "channel_created" | "channel_deleted" | "member_added" | "member_removed";
|
|
45
|
-
} & {
|
|
46
|
-
readonly team_member_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"TeamMemberId">>;
|
|
47
47
|
} & {
|
|
48
48
|
readonly group_name: import("effect/Option").Option<string>;
|
|
49
49
|
} & {
|
|
@@ -72,12 +72,12 @@ declare const ChannelSyncEvent_base: import("@effect/experimental/VariantSchema"
|
|
|
72
72
|
readonly team_id: string & import("effect/Brand").Brand<"TeamId">;
|
|
73
73
|
} & {
|
|
74
74
|
readonly error: import("effect/Option").Option<string>;
|
|
75
|
+
} & {
|
|
76
|
+
readonly team_member_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"TeamMemberId">>;
|
|
75
77
|
} & {
|
|
76
78
|
readonly group_id: string & import("effect/Brand").Brand<"GroupId">;
|
|
77
79
|
} & {
|
|
78
80
|
readonly event_type: "channel_created" | "channel_deleted" | "member_added" | "member_removed";
|
|
79
|
-
} & {
|
|
80
|
-
readonly team_member_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"TeamMemberId">>;
|
|
81
81
|
} & {
|
|
82
82
|
readonly group_name: import("effect/Option").Option<string>;
|
|
83
83
|
} & {
|
|
@@ -83,7 +83,7 @@ declare const Event_base: import("@effect/experimental/VariantSchema").Class<Eve
|
|
|
83
83
|
} & {
|
|
84
84
|
readonly series_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"EventSeriesId">>;
|
|
85
85
|
} & {
|
|
86
|
-
readonly event_type: "other" | "
|
|
86
|
+
readonly event_type: "other" | "training" | "match" | "tournament" | "meeting" | "social";
|
|
87
87
|
} & {
|
|
88
88
|
readonly start_at: import("effect/DateTime").Utc;
|
|
89
89
|
} & {
|
|
@@ -141,7 +141,7 @@ declare const Event_base: import("@effect/experimental/VariantSchema").Class<Eve
|
|
|
141
141
|
} & {
|
|
142
142
|
readonly series_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"EventSeriesId">>;
|
|
143
143
|
} & {
|
|
144
|
-
readonly event_type: "other" | "
|
|
144
|
+
readonly event_type: "other" | "training" | "match" | "tournament" | "meeting" | "social";
|
|
145
145
|
} & {
|
|
146
146
|
readonly start_at: import("effect/DateTime").Utc;
|
|
147
147
|
} & {
|
|
@@ -26,12 +26,12 @@ declare const EventRsvp_base: import("@effect/experimental/VariantSchema").Class
|
|
|
26
26
|
readonly created_at: import("effect/DateTime").Utc;
|
|
27
27
|
} & {
|
|
28
28
|
readonly updated_at: import("effect/DateTime").Utc;
|
|
29
|
+
} & {
|
|
30
|
+
readonly team_member_id: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
29
31
|
} & {
|
|
30
32
|
readonly message: import("effect/Option").Option<string>;
|
|
31
33
|
} & {
|
|
32
34
|
readonly event_id: string & import("effect/Brand").Brand<"EventId">;
|
|
33
|
-
} & {
|
|
34
|
-
readonly team_member_id: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
35
35
|
} & {
|
|
36
36
|
readonly response: "yes" | "no" | "maybe";
|
|
37
37
|
}, Schema.Struct.Encoded<import("@effect/experimental/VariantSchema").ExtractFields<"select", {
|
|
@@ -48,12 +48,12 @@ declare const EventRsvp_base: import("@effect/experimental/VariantSchema").Class
|
|
|
48
48
|
readonly created_at: import("effect/DateTime").Utc;
|
|
49
49
|
} & {
|
|
50
50
|
readonly updated_at: import("effect/DateTime").Utc;
|
|
51
|
+
} & {
|
|
52
|
+
readonly team_member_id: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
51
53
|
} & {
|
|
52
54
|
readonly message: import("effect/Option").Option<string>;
|
|
53
55
|
} & {
|
|
54
56
|
readonly event_id: string & import("effect/Brand").Brand<"EventId">;
|
|
55
|
-
} & {
|
|
56
|
-
readonly team_member_id: string & import("effect/Brand").Brand<"TeamMemberId">;
|
|
57
57
|
} & {
|
|
58
58
|
readonly response: "yes" | "no" | "maybe";
|
|
59
59
|
}> & {
|
|
@@ -40,10 +40,10 @@ declare const RoleSyncEvent_base: import("@effect/experimental/VariantSchema").C
|
|
|
40
40
|
readonly role_id: string & import("effect/Brand").Brand<"RoleId">;
|
|
41
41
|
} & {
|
|
42
42
|
readonly error: import("effect/Option").Option<string>;
|
|
43
|
-
} & {
|
|
44
|
-
readonly event_type: "role_assigned" | "role_unassigned" | "role_created" | "role_deleted";
|
|
45
43
|
} & {
|
|
46
44
|
readonly team_member_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"TeamMemberId">>;
|
|
45
|
+
} & {
|
|
46
|
+
readonly event_type: "role_assigned" | "role_unassigned" | "role_created" | "role_deleted";
|
|
47
47
|
} & {
|
|
48
48
|
readonly discord_user_id: import("effect/Option").Option<string>;
|
|
49
49
|
} & {
|
|
@@ -74,10 +74,10 @@ declare const RoleSyncEvent_base: import("@effect/experimental/VariantSchema").C
|
|
|
74
74
|
readonly role_id: string & import("effect/Brand").Brand<"RoleId">;
|
|
75
75
|
} & {
|
|
76
76
|
readonly error: import("effect/Option").Option<string>;
|
|
77
|
-
} & {
|
|
78
|
-
readonly event_type: "role_assigned" | "role_unassigned" | "role_created" | "role_deleted";
|
|
79
77
|
} & {
|
|
80
78
|
readonly team_member_id: import("effect/Option").Option<string & import("effect/Brand").Brand<"TeamMemberId">>;
|
|
79
|
+
} & {
|
|
80
|
+
readonly event_type: "role_assigned" | "role_unassigned" | "role_created" | "role_deleted";
|
|
81
81
|
} & {
|
|
82
82
|
readonly discord_user_id: import("effect/Option").Option<string>;
|
|
83
83
|
} & {
|