@shizuoka-its/core 2.1.0 → 2.1.2
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/README.md +13 -19
- package/dist/index.cjs +1914 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +754 -0
- package/dist/index.d.ts +754 -2
- package/dist/index.js +1873 -16
- package/dist/index.js.map +1 -0
- package/package.json +26 -14
- package/dist/application/exceptions/ApplicationExceptions.d.ts +0 -24
- package/dist/application/exceptions/ApplicationExceptions.js +0 -66
- package/dist/application/exceptions/index.d.ts +0 -1
- package/dist/application/exceptions/index.js +0 -17
- package/dist/application/index.d.ts +0 -4
- package/dist/application/index.js +0 -20
- package/dist/application/usecase/base.d.ts +0 -8
- package/dist/application/usecase/base.js +0 -11
- package/dist/application/usecase/event/AddExhibitToEvent.d.ts +0 -23
- package/dist/application/usecase/event/AddExhibitToEvent.js +0 -27
- package/dist/application/usecase/event/ChangeExhibitDescription.d.ts +0 -18
- package/dist/application/usecase/event/ChangeExhibitDescription.js +0 -24
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.d.ts +0 -18
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.js +0 -24
- package/dist/application/usecase/event/ChangeExhibitName.d.ts +0 -18
- package/dist/application/usecase/event/ChangeExhibitName.js +0 -24
- package/dist/application/usecase/event/ChangeExhibitUrl.d.ts +0 -18
- package/dist/application/usecase/event/ChangeExhibitUrl.js +0 -24
- package/dist/application/usecase/event/ChangeLightningTalkDuration.d.ts +0 -18
- package/dist/application/usecase/event/ChangeLightningTalkDuration.js +0 -24
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.d.ts +0 -18
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.js +0 -24
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.d.ts +0 -18
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.js +0 -24
- package/dist/application/usecase/event/CreateEvent.d.ts +0 -18
- package/dist/application/usecase/event/CreateEvent.js +0 -23
- package/dist/application/usecase/event/DeleteEvent.d.ts +0 -16
- package/dist/application/usecase/event/DeleteEvent.js +0 -23
- package/dist/application/usecase/event/GetEvent.d.ts +0 -16
- package/dist/application/usecase/event/GetEvent.js +0 -18
- package/dist/application/usecase/event/GetEventList.d.ts +0 -11
- package/dist/application/usecase/event/GetEventList.js +0 -15
- package/dist/application/usecase/event/RemoveExhibitFromEvent.d.ts +0 -17
- package/dist/application/usecase/event/RemoveExhibitFromEvent.js +0 -24
- package/dist/application/usecase/event/UpdateEvent.d.ts +0 -15
- package/dist/application/usecase/event/UpdateEvent.js +0 -26
- package/dist/application/usecase/event/index.d.ts +0 -14
- package/dist/application/usecase/event/index.js +0 -30
- package/dist/application/usecase/eventParticipation/GetEventsByMember.d.ts +0 -13
- package/dist/application/usecase/eventParticipation/GetEventsByMember.js +0 -15
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.d.ts +0 -13
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.js +0 -23
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.d.ts +0 -14
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.js +0 -23
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.d.ts +0 -14
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.js +0 -24
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.d.ts +0 -15
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.js +0 -26
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.d.ts +0 -15
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.js +0 -26
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.d.ts +0 -15
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.js +0 -22
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.d.ts +0 -15
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.js +0 -22
- package/dist/application/usecase/eventParticipation/index.d.ts +0 -8
- package/dist/application/usecase/eventParticipation/index.js +0 -25
- package/dist/application/usecase/index.d.ts +0 -4
- package/dist/application/usecase/index.js +0 -20
- package/dist/application/usecase/member/ChangeDiscordNickName.d.ts +0 -14
- package/dist/application/usecase/member/ChangeDiscordNickName.js +0 -25
- package/dist/application/usecase/member/ConnectDiscordAccount.d.ts +0 -15
- package/dist/application/usecase/member/ConnectDiscordAccount.js +0 -24
- package/dist/application/usecase/member/GetMember.d.ts +0 -13
- package/dist/application/usecase/member/GetMember.js +0 -15
- package/dist/application/usecase/member/GetMemberByDiscordId.d.ts +0 -13
- package/dist/application/usecase/member/GetMemberByDiscordId.js +0 -15
- package/dist/application/usecase/member/GetMemberByEmail.d.ts +0 -13
- package/dist/application/usecase/member/GetMemberByEmail.js +0 -15
- package/dist/application/usecase/member/GetMemberList.d.ts +0 -11
- package/dist/application/usecase/member/GetMemberList.js +0 -15
- package/dist/application/usecase/member/RegisterMember.d.ts +0 -21
- package/dist/application/usecase/member/RegisterMember.js +0 -31
- package/dist/application/usecase/member/UpdateMember.d.ts +0 -20
- package/dist/application/usecase/member/UpdateMember.js +0 -40
- package/dist/application/usecase/member/index.d.ts +0 -8
- package/dist/application/usecase/member/index.js +0 -24
- package/dist/domain/aggregates/event/Event.d.ts +0 -49
- package/dist/domain/aggregates/event/Event.js +0 -103
- package/dist/domain/aggregates/event/EventRepository.d.ts +0 -9
- package/dist/domain/aggregates/event/EventRepository.js +0 -2
- package/dist/domain/aggregates/event/Exhibit.d.ts +0 -42
- package/dist/domain/aggregates/event/Exhibit.js +0 -87
- package/dist/domain/aggregates/event/LightningTalk.d.ts +0 -20
- package/dist/domain/aggregates/event/LightningTalk.js +0 -39
- package/dist/domain/aggregates/event/index.d.ts +0 -4
- package/dist/domain/aggregates/event/index.js +0 -20
- package/dist/domain/aggregates/index.d.ts +0 -2
- package/dist/domain/aggregates/index.js +0 -18
- package/dist/domain/aggregates/member/DiscordAccount.d.ts +0 -15
- package/dist/domain/aggregates/member/DiscordAccount.js +0 -28
- package/dist/domain/aggregates/member/Member.d.ts +0 -43
- package/dist/domain/aggregates/member/Member.js +0 -83
- package/dist/domain/aggregates/member/MemberRepository.d.ts +0 -9
- package/dist/domain/aggregates/member/MemberRepository.js +0 -2
- package/dist/domain/aggregates/member/index.d.ts +0 -3
- package/dist/domain/aggregates/member/index.js +0 -19
- package/dist/domain/exceptions/DomainExceptions.d.ts +0 -42
- package/dist/domain/exceptions/DomainExceptions.js +0 -101
- package/dist/domain/exceptions/index.d.ts +0 -1
- package/dist/domain/exceptions/index.js +0 -17
- package/dist/domain/index.d.ts +0 -3
- package/dist/domain/index.js +0 -19
- package/dist/domain/value-objects/Departments.d.ts +0 -7
- package/dist/domain/value-objects/Departments.js +0 -22
- package/dist/domain/value-objects/Email.d.ts +0 -4
- package/dist/domain/value-objects/Email.js +0 -12
- package/dist/domain/value-objects/LightningTalkDuration.d.ts +0 -4
- package/dist/domain/value-objects/LightningTalkDuration.js +0 -11
- package/dist/domain/value-objects/UniversityEmail.d.ts +0 -4
- package/dist/domain/value-objects/UniversityEmail.js +0 -13
- package/dist/domain/value-objects/Url.d.ts +0 -4
- package/dist/domain/value-objects/Url.js +0 -19
- package/dist/domain/value-objects/ValueObject.d.ts +0 -8
- package/dist/domain/value-objects/ValueObject.js +0 -24
- package/dist/domain/value-objects/index.d.ts +0 -6
- package/dist/domain/value-objects/index.js +0 -22
- package/dist/executable/event.d.ts +0 -30
- package/dist/executable/event.js +0 -60
- package/dist/executable/index.d.ts +0 -2
- package/dist/executable/index.js +0 -18
- package/dist/executable/member.d.ts +0 -12
- package/dist/executable/member.js +0 -18
- package/dist/infrastructure/index.d.ts +0 -1
- package/dist/infrastructure/index.js +0 -17
- package/dist/infrastructure/prisma/PrismaEventRepository.d.ts +0 -23
- package/dist/infrastructure/prisma/PrismaEventRepository.js +0 -239
- package/dist/infrastructure/prisma/PrismaMemberRepository.d.ts +0 -11
- package/dist/infrastructure/prisma/PrismaMemberRepository.js +0 -99
- package/dist/infrastructure/prisma/index.d.ts +0 -2
- package/dist/infrastructure/prisma/index.js +0 -18
- package/prisma/migrations/20241107053440_init/migration.sql +0 -97
- package/prisma/migrations/20241107095139_/migration.sql +0 -14
- package/prisma/migrations/20241108213534_add_markdown_content_exhibit/migration.sql +0 -2
- package/prisma/migrations/migration_lock.toml +0 -3
- package/prisma/schema.prisma +0 -109
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,754 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ユースケースの基底抽象クラス
|
|
3
|
+
* TInputはユースケースへの入力型
|
|
4
|
+
* TOutputはユースケースからの出力型
|
|
5
|
+
*/
|
|
6
|
+
declare abstract class IUseCase<Input, Output> {
|
|
7
|
+
abstract execute(input: Input): Promise<Output>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare abstract class ValueObject<T> {
|
|
11
|
+
protected readonly value: T;
|
|
12
|
+
constructor(value: T);
|
|
13
|
+
protected abstract validate(): void;
|
|
14
|
+
getValue(): T;
|
|
15
|
+
equals(vo?: ValueObject<T>): boolean;
|
|
16
|
+
protected throwIfInvalid(isValid: boolean, exception: Error): void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type AllowedDepartment = "CS" | "BI" | "IA" | "GRADUATE" | "ALUMNI" | "OTHERS";
|
|
20
|
+
declare class Department extends ValueObject<AllowedDepartment> {
|
|
21
|
+
static fromString(value: string): Department;
|
|
22
|
+
protected validate(): void;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
declare class Email extends ValueObject<string> {
|
|
26
|
+
protected validate(): void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare class LightningTalkDuration extends ValueObject<number> {
|
|
30
|
+
protected validate(): void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
declare class UniversityEmail extends Email {
|
|
34
|
+
protected validate(): void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
declare class Url extends ValueObject<string> {
|
|
38
|
+
protected validate(): void;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare class DomainException extends Error {
|
|
42
|
+
constructor(message: string);
|
|
43
|
+
}
|
|
44
|
+
declare class InvalidEmailFormatException extends DomainException {
|
|
45
|
+
constructor(email: string);
|
|
46
|
+
}
|
|
47
|
+
declare class DiscordAccountAlreadyConnectedException extends DomainException {
|
|
48
|
+
constructor();
|
|
49
|
+
}
|
|
50
|
+
declare class DiscordAccountNotConnectedException extends DomainException {
|
|
51
|
+
constructor();
|
|
52
|
+
}
|
|
53
|
+
declare class InvalidUniversityEmailException extends DomainException {
|
|
54
|
+
constructor(email: string);
|
|
55
|
+
}
|
|
56
|
+
declare class InvalidDepartmentException extends DomainException {
|
|
57
|
+
constructor(department: string);
|
|
58
|
+
}
|
|
59
|
+
declare class InvalidLightningTalkDurationException extends DomainException {
|
|
60
|
+
constructor(duration: number);
|
|
61
|
+
}
|
|
62
|
+
declare class InvalidUrlException extends DomainException {
|
|
63
|
+
constructor(url: string);
|
|
64
|
+
}
|
|
65
|
+
declare class InvalidUrlProtocolException extends DomainException {
|
|
66
|
+
constructor(url: string, protocol: string);
|
|
67
|
+
}
|
|
68
|
+
declare class ExhibitAlreadyExistsException extends DomainException {
|
|
69
|
+
constructor(exhibitId: string);
|
|
70
|
+
}
|
|
71
|
+
declare class ExhibitNotFoundException extends DomainException {
|
|
72
|
+
constructor(exhibitId: string);
|
|
73
|
+
}
|
|
74
|
+
declare class LightningTalkNotFoundException extends DomainException {
|
|
75
|
+
constructor(lightningTalkId: string);
|
|
76
|
+
}
|
|
77
|
+
declare class LightningTalkExhibitIdMismatchException extends DomainException {
|
|
78
|
+
constructor(lightningTalkId: string, exhibitId: string);
|
|
79
|
+
}
|
|
80
|
+
declare class ExhibitHasMemberException extends DomainException {
|
|
81
|
+
constructor(exhibitId: string, memberId: string);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
declare class LightningTalk {
|
|
85
|
+
readonly exhibitId: string;
|
|
86
|
+
private startTime;
|
|
87
|
+
private durationMinutes;
|
|
88
|
+
private slideUrl?;
|
|
89
|
+
constructor(exhibitId: string, startTime: Date, durationMinutes: LightningTalkDuration, slideUrl?: Url | undefined);
|
|
90
|
+
getStartTime(): Date;
|
|
91
|
+
getDurationMinutes(): LightningTalkDuration;
|
|
92
|
+
getSlideUrl(): Url | undefined;
|
|
93
|
+
changeSlideUrl(newSlideUrl: Url): void;
|
|
94
|
+
changeDuration(newDuration: LightningTalkDuration): void;
|
|
95
|
+
changeStartTime(newStartTime: Date): void;
|
|
96
|
+
toSnapshot(): {
|
|
97
|
+
exhibitId: string;
|
|
98
|
+
startTime: Date;
|
|
99
|
+
durationMinutes: LightningTalkDuration;
|
|
100
|
+
slideUrl: Url | undefined;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
declare class Exhibit {
|
|
105
|
+
readonly id: string;
|
|
106
|
+
private name;
|
|
107
|
+
private description?;
|
|
108
|
+
private markdownContent?;
|
|
109
|
+
private url?;
|
|
110
|
+
private lightningTalk?;
|
|
111
|
+
private memberIds;
|
|
112
|
+
static createWithLightningTalk(id: string, name: string, lt: LightningTalk, description?: string, markdownContent?: string, url?: Url): Exhibit;
|
|
113
|
+
constructor(id: string, name: string, description?: string | undefined, markdownContent?: string | undefined, url?: Url | undefined);
|
|
114
|
+
getName(): string;
|
|
115
|
+
getDescription(): string | undefined;
|
|
116
|
+
getMarkdownContent(): string | undefined;
|
|
117
|
+
getUrl(): Url | undefined;
|
|
118
|
+
getLightningTalk(): LightningTalk | undefined;
|
|
119
|
+
getMemberIds(): string[];
|
|
120
|
+
changeName(newName: string): void;
|
|
121
|
+
changeDescription(newDescription: string): void;
|
|
122
|
+
changeMarkdownContent(newMarkdownContent: string): void;
|
|
123
|
+
changeUrl(newUrl: Url): void;
|
|
124
|
+
changeLightningTalkStartTime(newStartTime: Date): void;
|
|
125
|
+
changeLightningTalkDuration(newDuration: LightningTalkDuration): void;
|
|
126
|
+
changeLightningTalkSlideUrl(newSlideUrl: Url): void;
|
|
127
|
+
addMemberId(memberId: string): void;
|
|
128
|
+
removeMemberId(memberId: string): void;
|
|
129
|
+
private getLightningTalkOrThrow;
|
|
130
|
+
toSnapshot(): {
|
|
131
|
+
id: string;
|
|
132
|
+
name: string;
|
|
133
|
+
description: string | undefined;
|
|
134
|
+
markdownContent: string | undefined;
|
|
135
|
+
url: Url | undefined;
|
|
136
|
+
lightningTalk: {
|
|
137
|
+
exhibitId: string;
|
|
138
|
+
startTime: Date;
|
|
139
|
+
durationMinutes: LightningTalkDuration;
|
|
140
|
+
slideUrl: Url | undefined;
|
|
141
|
+
} | undefined;
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
declare class Event {
|
|
146
|
+
readonly id: string;
|
|
147
|
+
private name;
|
|
148
|
+
private date;
|
|
149
|
+
private exhibits;
|
|
150
|
+
private memberIds;
|
|
151
|
+
constructor(id: string, name: string, date: Date);
|
|
152
|
+
getName(): string;
|
|
153
|
+
getDate(): Date;
|
|
154
|
+
getExhibits(): Exhibit[];
|
|
155
|
+
getMemberIds(): string[];
|
|
156
|
+
changeName(newName: string): void;
|
|
157
|
+
changeDate(newDate: Date): void;
|
|
158
|
+
addExhibit(exhibit: Exhibit): void;
|
|
159
|
+
removeExhibit(exhibitId: string): void;
|
|
160
|
+
changeExhibitName(exhibitId: string, newName: string): void;
|
|
161
|
+
changeExhibitDescription(exhibitId: string, newDescription: string): void;
|
|
162
|
+
changeExhibitMarkdownContent(exhibitId: string, newMarkdownContent: string): void;
|
|
163
|
+
changeExhibitUrl(exhibitId: string, newUrl: Url): void;
|
|
164
|
+
changeExhibitLightningTalkStartTime(exhibitId: string, newStartTime: Date): void;
|
|
165
|
+
changeExhibitLightningTalkDuration(exhibitId: string, newDuration: LightningTalkDuration): void;
|
|
166
|
+
changeExhibitLightningTalkSlideUrl(exhibitId: string, newSlideUrl: Url): void;
|
|
167
|
+
private getExhibitOrThrow;
|
|
168
|
+
addMemberId(memberId: string): void;
|
|
169
|
+
removeMemberId(memberId: string): void;
|
|
170
|
+
addExhibitMemberId(exhibitId: string, memberId: string): void;
|
|
171
|
+
removeExhibitMemberId(exhibitId: string, memberId: string): void;
|
|
172
|
+
toSnapshot(): {
|
|
173
|
+
id: string;
|
|
174
|
+
name: string;
|
|
175
|
+
date: Date;
|
|
176
|
+
exhibits: {
|
|
177
|
+
id: string;
|
|
178
|
+
name: string;
|
|
179
|
+
description: string | undefined;
|
|
180
|
+
markdownContent: string | undefined;
|
|
181
|
+
url: Url | undefined;
|
|
182
|
+
lightningTalk: {
|
|
183
|
+
exhibitId: string;
|
|
184
|
+
startTime: Date;
|
|
185
|
+
durationMinutes: LightningTalkDuration;
|
|
186
|
+
slideUrl: Url | undefined;
|
|
187
|
+
} | undefined;
|
|
188
|
+
}[];
|
|
189
|
+
memberIds: string[];
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
interface EventRepository {
|
|
194
|
+
findById(id: string): Promise<Event | null>;
|
|
195
|
+
findByParticipantMemberId(memberId: string): Promise<Event[]>;
|
|
196
|
+
findByExhibitId(exhibitId: string): Promise<Event | null>;
|
|
197
|
+
findAll(): Promise<Event[]>;
|
|
198
|
+
save(event: Event): Promise<void>;
|
|
199
|
+
delete(eventId: string): Promise<void>;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
declare class DiscordAccount {
|
|
203
|
+
readonly id: string;
|
|
204
|
+
private nickName;
|
|
205
|
+
private memberId;
|
|
206
|
+
constructor(id: string, // Discord ID
|
|
207
|
+
nickName: string, memberId: string);
|
|
208
|
+
getNickName(): string;
|
|
209
|
+
getMemberId(): string;
|
|
210
|
+
setNickName(newNickName: string): void;
|
|
211
|
+
toSnapshot(): {
|
|
212
|
+
id: string;
|
|
213
|
+
nickName: string;
|
|
214
|
+
memberId: string;
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
declare class Member {
|
|
219
|
+
readonly id: string;
|
|
220
|
+
private name;
|
|
221
|
+
private studentId;
|
|
222
|
+
private department;
|
|
223
|
+
private email;
|
|
224
|
+
private personalEmail?;
|
|
225
|
+
private discordAccounts;
|
|
226
|
+
constructor(id: string, name: string, studentId: string, department: Department, email: UniversityEmail, personalEmail?: Email | undefined);
|
|
227
|
+
getName(): string;
|
|
228
|
+
getStudentId(): string;
|
|
229
|
+
getDepartment(): Department;
|
|
230
|
+
getEmail(): UniversityEmail;
|
|
231
|
+
getPersonalEmail(): Email | undefined;
|
|
232
|
+
getDiscordAccounts(): DiscordAccount[];
|
|
233
|
+
setName(newName: string): void;
|
|
234
|
+
setStudentId(newStudentId: string): void;
|
|
235
|
+
setDepartment(newDepartment: Department): void;
|
|
236
|
+
setEmail(newEmail: UniversityEmail): void;
|
|
237
|
+
setPersonalEmail(newPersonalEmail?: Email): void;
|
|
238
|
+
addDiscordAccount(discordAccount: DiscordAccount): void;
|
|
239
|
+
removeDiscordAccount(discordAccountId: string): void;
|
|
240
|
+
getDiscordAccountById(discordAccountId: string): DiscordAccount | undefined;
|
|
241
|
+
getDiscordAccountOrThrow(discordAccountId: string): DiscordAccount;
|
|
242
|
+
setDiscordAccountNickName(discordAccountId: string, newNickName: string): void;
|
|
243
|
+
toSnapshot(): {
|
|
244
|
+
id: string;
|
|
245
|
+
name: string;
|
|
246
|
+
studentId: string;
|
|
247
|
+
department: Department;
|
|
248
|
+
email: UniversityEmail;
|
|
249
|
+
personalEmail: Email | undefined;
|
|
250
|
+
discordAccounts: {
|
|
251
|
+
id: string;
|
|
252
|
+
nickName: string;
|
|
253
|
+
memberId: string;
|
|
254
|
+
}[];
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
interface MemberRepository {
|
|
259
|
+
findById(id: string): Promise<Member | null>;
|
|
260
|
+
findByEmail(email: string): Promise<Member | null>;
|
|
261
|
+
findByDiscordAccountId(discordAccountId: string): Promise<Member | null>;
|
|
262
|
+
findAll(): Promise<Member[]>;
|
|
263
|
+
save(member: Member): Promise<void>;
|
|
264
|
+
delete(memberId: string): Promise<void>;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
interface ChangeDiscordNickNameInput {
|
|
268
|
+
discordAccountId: string;
|
|
269
|
+
discordNickName: string;
|
|
270
|
+
}
|
|
271
|
+
interface ChangeDiscordNickNameOutput {
|
|
272
|
+
member: Member;
|
|
273
|
+
}
|
|
274
|
+
declare class ChangeDiscordNickNameUseCase extends IUseCase<ChangeDiscordNickNameInput, ChangeDiscordNickNameOutput> {
|
|
275
|
+
private readonly memberRepo;
|
|
276
|
+
constructor(memberRepo: MemberRepository);
|
|
277
|
+
execute(input: ChangeDiscordNickNameInput): Promise<ChangeDiscordNickNameOutput>;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
interface ConnectDiscordAccountInput {
|
|
281
|
+
memberId: string;
|
|
282
|
+
discordAccountId: string;
|
|
283
|
+
discordNickName?: string;
|
|
284
|
+
}
|
|
285
|
+
interface ConnectDiscordAccountOutput {
|
|
286
|
+
member: Member;
|
|
287
|
+
}
|
|
288
|
+
declare class ConnectDiscordAccountUseCase extends IUseCase<ConnectDiscordAccountInput, ConnectDiscordAccountOutput> {
|
|
289
|
+
private readonly memberRepo;
|
|
290
|
+
constructor(memberRepo: MemberRepository);
|
|
291
|
+
execute(input: ConnectDiscordAccountInput): Promise<ConnectDiscordAccountOutput>;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
interface GetMemberInput {
|
|
295
|
+
id: string;
|
|
296
|
+
}
|
|
297
|
+
interface GetMemberOutput {
|
|
298
|
+
member: Member | null;
|
|
299
|
+
}
|
|
300
|
+
declare class GetMemberUseCase extends IUseCase<GetMemberInput, GetMemberOutput> {
|
|
301
|
+
private readonly memberRepo;
|
|
302
|
+
constructor(memberRepo: MemberRepository);
|
|
303
|
+
execute(input: GetMemberInput): Promise<GetMemberOutput>;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
interface GetMemberByEmailInput {
|
|
307
|
+
email: string;
|
|
308
|
+
}
|
|
309
|
+
interface GetMemberByEmailOutput {
|
|
310
|
+
member: Member | null;
|
|
311
|
+
}
|
|
312
|
+
declare class GetMemberByEmailUseCase extends IUseCase<GetMemberByEmailInput, GetMemberByEmailOutput> {
|
|
313
|
+
private readonly memberRepo;
|
|
314
|
+
constructor(memberRepo: MemberRepository);
|
|
315
|
+
execute(input: GetMemberByEmailInput): Promise<GetMemberByEmailOutput>;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
interface GetMemberByDiscordIdInput {
|
|
319
|
+
discordId: string;
|
|
320
|
+
}
|
|
321
|
+
interface GetMemberByDiscordIdOutput {
|
|
322
|
+
member: Member | null;
|
|
323
|
+
}
|
|
324
|
+
declare class GetMemberByDiscordIdUseCase extends IUseCase<GetMemberByDiscordIdInput, GetMemberByDiscordIdOutput> {
|
|
325
|
+
private readonly memberRepo;
|
|
326
|
+
constructor(memberRepo: MemberRepository);
|
|
327
|
+
execute(input: GetMemberByDiscordIdInput): Promise<GetMemberByDiscordIdOutput>;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
type GetMemberListInput = Record<string, never>;
|
|
331
|
+
interface GetMemberListOutput {
|
|
332
|
+
members: Member[];
|
|
333
|
+
}
|
|
334
|
+
declare class GetMemberListUseCase extends IUseCase<GetMemberListInput, GetMemberListOutput> {
|
|
335
|
+
private readonly memberRepo;
|
|
336
|
+
constructor(memberRepo: MemberRepository);
|
|
337
|
+
execute(_input: GetMemberListInput): Promise<GetMemberListOutput>;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
interface RegisterMemberInput {
|
|
341
|
+
name: string;
|
|
342
|
+
studentId: string;
|
|
343
|
+
department: string;
|
|
344
|
+
email: string;
|
|
345
|
+
personalEmail?: string;
|
|
346
|
+
discordInfo?: {
|
|
347
|
+
accountId: string;
|
|
348
|
+
nickName: string;
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
interface RegisterMemberOutput {
|
|
352
|
+
member: Member;
|
|
353
|
+
}
|
|
354
|
+
declare class RegisterMemberUseCase extends IUseCase<RegisterMemberInput, RegisterMemberOutput> {
|
|
355
|
+
private readonly memberRepo;
|
|
356
|
+
constructor(memberRepo: MemberRepository);
|
|
357
|
+
execute(input: RegisterMemberInput): Promise<RegisterMemberOutput>;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
interface UpdateMemberInput {
|
|
361
|
+
memberId: string;
|
|
362
|
+
name?: string;
|
|
363
|
+
studentId?: string;
|
|
364
|
+
department?: string;
|
|
365
|
+
email?: string;
|
|
366
|
+
personalEmail?: string;
|
|
367
|
+
discordAccountId?: string;
|
|
368
|
+
discordNickName?: string;
|
|
369
|
+
}
|
|
370
|
+
interface UpdateMemberOutput {
|
|
371
|
+
member: Member;
|
|
372
|
+
}
|
|
373
|
+
declare class UpdateMemberUseCase extends IUseCase<UpdateMemberInput, UpdateMemberOutput> {
|
|
374
|
+
private readonly memberRepo;
|
|
375
|
+
constructor(memberRepo: MemberRepository);
|
|
376
|
+
execute(input: UpdateMemberInput): Promise<UpdateMemberOutput>;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
interface AddExhibitToEventInput {
|
|
380
|
+
eventId: string;
|
|
381
|
+
exhibit: {
|
|
382
|
+
id: string;
|
|
383
|
+
name: string;
|
|
384
|
+
description?: string;
|
|
385
|
+
markdownContent?: string;
|
|
386
|
+
url?: Url;
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
interface AddExhibitToEventOutput {
|
|
390
|
+
event: Event;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* イベントに展示を追加するユースケース
|
|
394
|
+
*/
|
|
395
|
+
declare class AddExhibitToEvent extends IUseCase<AddExhibitToEventInput, AddExhibitToEventOutput> {
|
|
396
|
+
private readonly eventRepository;
|
|
397
|
+
constructor(eventRepository: EventRepository);
|
|
398
|
+
execute(input: AddExhibitToEventInput): Promise<AddExhibitToEventOutput>;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
interface ChangeExhibitDescriptionInput {
|
|
402
|
+
eventId: string;
|
|
403
|
+
exhibitId: string;
|
|
404
|
+
newDescription: string;
|
|
405
|
+
}
|
|
406
|
+
interface ChangeExhibitDescriptionOutput {
|
|
407
|
+
event: Event;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* 展示説明変更ユースケース
|
|
411
|
+
*/
|
|
412
|
+
declare class ChangeExhibitDescription extends IUseCase<ChangeExhibitDescriptionInput, ChangeExhibitDescriptionOutput> {
|
|
413
|
+
private readonly eventRepository;
|
|
414
|
+
constructor(eventRepository: EventRepository);
|
|
415
|
+
execute(input: ChangeExhibitDescriptionInput): Promise<ChangeExhibitDescriptionOutput>;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
interface ChangeExhibitMarkdownContentInput {
|
|
419
|
+
eventId: string;
|
|
420
|
+
exhibitId: string;
|
|
421
|
+
newMarkdownContent: string;
|
|
422
|
+
}
|
|
423
|
+
interface ChangeExhibitMarkdownContentOutput {
|
|
424
|
+
event: Event;
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* 展示マークダウンコンテンツ変更ユースケース
|
|
428
|
+
*/
|
|
429
|
+
declare class ChangeExhibitMarkdownContent extends IUseCase<ChangeExhibitMarkdownContentInput, ChangeExhibitMarkdownContentOutput> {
|
|
430
|
+
private readonly eventRepository;
|
|
431
|
+
constructor(eventRepository: EventRepository);
|
|
432
|
+
execute(input: ChangeExhibitMarkdownContentInput): Promise<ChangeExhibitMarkdownContentOutput>;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
interface ChangeExhibitNameInput {
|
|
436
|
+
eventId: string;
|
|
437
|
+
exhibitId: string;
|
|
438
|
+
newName: string;
|
|
439
|
+
}
|
|
440
|
+
interface ChangeExhibitNameOutput {
|
|
441
|
+
event: Event;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* 展示名変更ユースケース
|
|
445
|
+
*/
|
|
446
|
+
declare class ChangeExhibitName extends IUseCase<ChangeExhibitNameInput, ChangeExhibitNameOutput> {
|
|
447
|
+
private readonly eventRepository;
|
|
448
|
+
constructor(eventRepository: EventRepository);
|
|
449
|
+
execute(input: ChangeExhibitNameInput): Promise<ChangeExhibitNameOutput>;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
interface ChangeExhibitUrlInput {
|
|
453
|
+
eventId: string;
|
|
454
|
+
exhibitId: string;
|
|
455
|
+
newUrl: Url;
|
|
456
|
+
}
|
|
457
|
+
interface ChangeExhibitUrlOutput {
|
|
458
|
+
event: Event;
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* 展示URL変更ユースケース
|
|
462
|
+
*/
|
|
463
|
+
declare class ChangeExhibitUrl extends IUseCase<ChangeExhibitUrlInput, ChangeExhibitUrlOutput> {
|
|
464
|
+
private readonly eventRepository;
|
|
465
|
+
constructor(eventRepository: EventRepository);
|
|
466
|
+
execute(input: ChangeExhibitUrlInput): Promise<ChangeExhibitUrlOutput>;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
interface ChangeLightningTalkDurationInput {
|
|
470
|
+
eventId: string;
|
|
471
|
+
exhibitId: string;
|
|
472
|
+
newDuration: LightningTalkDuration;
|
|
473
|
+
}
|
|
474
|
+
interface ChangeLightningTalkDurationOutput {
|
|
475
|
+
event: Event;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* ライトニングトーク時間変更ユースケース
|
|
479
|
+
*/
|
|
480
|
+
declare class ChangeLightningTalkDuration extends IUseCase<ChangeLightningTalkDurationInput, ChangeLightningTalkDurationOutput> {
|
|
481
|
+
private readonly eventRepository;
|
|
482
|
+
constructor(eventRepository: EventRepository);
|
|
483
|
+
execute(input: ChangeLightningTalkDurationInput): Promise<ChangeLightningTalkDurationOutput>;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
interface ChangeLightningTalkSlideUrlInput {
|
|
487
|
+
eventId: string;
|
|
488
|
+
exhibitId: string;
|
|
489
|
+
newSlideUrl: Url;
|
|
490
|
+
}
|
|
491
|
+
interface ChangeLightningTalkSlideUrlOutput {
|
|
492
|
+
event: Event;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* ライトニングトークスライドURL変更ユースケース
|
|
496
|
+
*/
|
|
497
|
+
declare class ChangeLightningTalkSlideUrl extends IUseCase<ChangeLightningTalkSlideUrlInput, ChangeLightningTalkSlideUrlOutput> {
|
|
498
|
+
private readonly eventRepository;
|
|
499
|
+
constructor(eventRepository: EventRepository);
|
|
500
|
+
execute(input: ChangeLightningTalkSlideUrlInput): Promise<ChangeLightningTalkSlideUrlOutput>;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
interface ChangeLightningTalkStartTimeInput {
|
|
504
|
+
eventId: string;
|
|
505
|
+
exhibitId: string;
|
|
506
|
+
newStartTime: Date;
|
|
507
|
+
}
|
|
508
|
+
interface ChangeLightningTalkStartTimeOutput {
|
|
509
|
+
event: Event;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* ライトニングトーク開始時間変更ユースケース
|
|
513
|
+
*/
|
|
514
|
+
declare class ChangeLightningTalkStartTime extends IUseCase<ChangeLightningTalkStartTimeInput, ChangeLightningTalkStartTimeOutput> {
|
|
515
|
+
private readonly eventRepository;
|
|
516
|
+
constructor(eventRepository: EventRepository);
|
|
517
|
+
execute(input: ChangeLightningTalkStartTimeInput): Promise<ChangeLightningTalkStartTimeOutput>;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
interface CreateEventInput {
|
|
521
|
+
id: string;
|
|
522
|
+
name: string;
|
|
523
|
+
date: Date;
|
|
524
|
+
}
|
|
525
|
+
interface CreateEventOutput {
|
|
526
|
+
event: Event;
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* 新しいEventを作成し、DBに保存するユースケース。
|
|
530
|
+
*/
|
|
531
|
+
declare class CreateEvent extends IUseCase<CreateEventInput, CreateEventOutput> {
|
|
532
|
+
private readonly eventRepository;
|
|
533
|
+
constructor(eventRepository: EventRepository);
|
|
534
|
+
execute(input: CreateEventInput): Promise<CreateEventOutput>;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
interface DeleteEventInput {
|
|
538
|
+
eventId: string;
|
|
539
|
+
}
|
|
540
|
+
interface DeleteEventOutput {
|
|
541
|
+
event: Event;
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* イベント削除ユースケース
|
|
545
|
+
*/
|
|
546
|
+
declare class DeleteEvent extends IUseCase<DeleteEventInput, DeleteEventOutput> {
|
|
547
|
+
private readonly eventRepository;
|
|
548
|
+
constructor(eventRepository: EventRepository);
|
|
549
|
+
execute(input: DeleteEventInput): Promise<DeleteEventOutput>;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
interface GetEventInput {
|
|
553
|
+
eventId: string;
|
|
554
|
+
}
|
|
555
|
+
interface GetEventOutput {
|
|
556
|
+
event: Event | null;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* 指定したEvent IDに該当するEventを取得
|
|
560
|
+
*/
|
|
561
|
+
declare class GetEvent extends IUseCase<GetEventInput, GetEventOutput> {
|
|
562
|
+
private readonly eventRepository;
|
|
563
|
+
constructor(eventRepository: EventRepository);
|
|
564
|
+
execute(input: GetEventInput): Promise<GetEventOutput>;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
type GetEventListInput = Record<string, never>;
|
|
568
|
+
interface GetEventListOutput {
|
|
569
|
+
events: Event[];
|
|
570
|
+
}
|
|
571
|
+
declare class GetEventList extends IUseCase<GetEventListInput, GetEventListOutput> {
|
|
572
|
+
private readonly eventRepository;
|
|
573
|
+
constructor(eventRepository: EventRepository);
|
|
574
|
+
execute(_input: GetEventListInput): Promise<GetEventListOutput>;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
interface RemoveExhibitFromEventInput {
|
|
578
|
+
eventId: string;
|
|
579
|
+
exhibitId: string;
|
|
580
|
+
}
|
|
581
|
+
interface RemoveExhibitFromEventOutput {
|
|
582
|
+
event: Event;
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* イベントから展示を削除するユースケース
|
|
586
|
+
*/
|
|
587
|
+
declare class RemoveExhibitFromEvent extends IUseCase<RemoveExhibitFromEventInput, RemoveExhibitFromEventOutput> {
|
|
588
|
+
private readonly eventRepository;
|
|
589
|
+
constructor(eventRepository: EventRepository);
|
|
590
|
+
execute(input: RemoveExhibitFromEventInput): Promise<RemoveExhibitFromEventOutput>;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
interface UpdateEventInput {
|
|
594
|
+
eventId: string;
|
|
595
|
+
name?: string;
|
|
596
|
+
date?: Date;
|
|
597
|
+
}
|
|
598
|
+
interface UpdateEventOutput {
|
|
599
|
+
event: Event;
|
|
600
|
+
}
|
|
601
|
+
declare class UpdateEvent extends IUseCase<UpdateEventInput, UpdateEventOutput> {
|
|
602
|
+
private readonly eventRepository;
|
|
603
|
+
constructor(eventRepository: EventRepository);
|
|
604
|
+
execute(input: UpdateEventInput): Promise<UpdateEventOutput>;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
interface RegisterMemberToEventInput {
|
|
608
|
+
memberId: string;
|
|
609
|
+
eventId: string;
|
|
610
|
+
}
|
|
611
|
+
interface RegisterMemberToEventOutput {
|
|
612
|
+
event: Event;
|
|
613
|
+
}
|
|
614
|
+
declare class RegisterMemberToEvent extends IUseCase<RegisterMemberToEventInput, RegisterMemberToEventOutput> {
|
|
615
|
+
private readonly eventRepository;
|
|
616
|
+
private readonly memberRepository;
|
|
617
|
+
constructor(eventRepository: EventRepository, memberRepository: MemberRepository);
|
|
618
|
+
execute(input: RegisterMemberToEventInput): Promise<RegisterMemberToEventOutput>;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
interface RemoveMemberFromEventInput {
|
|
622
|
+
memberId: string;
|
|
623
|
+
eventId: string;
|
|
624
|
+
}
|
|
625
|
+
interface RemoveMemberFromEventOutput {
|
|
626
|
+
event: Event;
|
|
627
|
+
}
|
|
628
|
+
declare class RemoveMemberFromEvent extends IUseCase<RemoveMemberFromEventInput, RemoveMemberFromEventOutput> {
|
|
629
|
+
private readonly eventRepository;
|
|
630
|
+
private readonly memberRepository;
|
|
631
|
+
constructor(eventRepository: EventRepository, memberRepository: MemberRepository);
|
|
632
|
+
execute(input: RemoveMemberFromEventInput): Promise<RemoveMemberFromEventOutput>;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
interface GetEventsByMemberInput {
|
|
636
|
+
memberId: string;
|
|
637
|
+
}
|
|
638
|
+
interface GetEventsByMemberOutput {
|
|
639
|
+
events: Event[];
|
|
640
|
+
}
|
|
641
|
+
declare class GetEventsByMember extends IUseCase<GetEventsByMemberInput, GetEventsByMemberOutput> {
|
|
642
|
+
private readonly eventRepository;
|
|
643
|
+
constructor(eventRepository: EventRepository);
|
|
644
|
+
execute(input: GetEventsByMemberInput): Promise<GetEventsByMemberOutput>;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
interface GetMembersByEventInput {
|
|
648
|
+
eventId: string;
|
|
649
|
+
}
|
|
650
|
+
interface GetMembersByEventOutput {
|
|
651
|
+
members: Member[];
|
|
652
|
+
}
|
|
653
|
+
declare class GetMembersByEvent extends IUseCase<GetMembersByEventInput, GetMembersByEventOutput> {
|
|
654
|
+
private readonly eventRepository;
|
|
655
|
+
private readonly memberRepository;
|
|
656
|
+
constructor(eventRepository: EventRepository, memberRepository: MemberRepository);
|
|
657
|
+
execute(input: GetMembersByEventInput): Promise<GetMembersByEventOutput>;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
interface RegisterMemberToExhibitInput {
|
|
661
|
+
memberId: string;
|
|
662
|
+
exhibitId: string;
|
|
663
|
+
}
|
|
664
|
+
interface RegisterMemberToExhibitOutput {
|
|
665
|
+
event: Event;
|
|
666
|
+
}
|
|
667
|
+
declare class RegisterMemberToExhibit extends IUseCase<RegisterMemberToExhibitInput, RegisterMemberToExhibitOutput> {
|
|
668
|
+
private readonly eventRepository;
|
|
669
|
+
private readonly memberRepository;
|
|
670
|
+
constructor(eventRepository: EventRepository, memberRepository: MemberRepository);
|
|
671
|
+
execute(input: RegisterMemberToExhibitInput): Promise<RegisterMemberToExhibitOutput>;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
interface RemoveMemberFromExhibitInput {
|
|
675
|
+
memberId: string;
|
|
676
|
+
exhibitId: string;
|
|
677
|
+
}
|
|
678
|
+
interface RemoveMemberFromExhibitOutput {
|
|
679
|
+
event: Event;
|
|
680
|
+
}
|
|
681
|
+
declare class RemoveMemberFromExhibit extends IUseCase<RemoveMemberFromExhibitInput, RemoveMemberFromExhibitOutput> {
|
|
682
|
+
private readonly memberRepository;
|
|
683
|
+
private readonly eventRepository;
|
|
684
|
+
constructor(memberRepository: MemberRepository, eventRepository: EventRepository);
|
|
685
|
+
execute(input: RemoveMemberFromExhibitInput): Promise<RemoveMemberFromExhibitOutput>;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
interface GetExhibitsByMemberInput {
|
|
689
|
+
memberId: string;
|
|
690
|
+
}
|
|
691
|
+
interface GetExhibitsByMemberOutput {
|
|
692
|
+
exhibits: Exhibit[];
|
|
693
|
+
}
|
|
694
|
+
declare class GetExhibitsByMember extends IUseCase<GetExhibitsByMemberInput, GetExhibitsByMemberOutput> {
|
|
695
|
+
private readonly eventRepository;
|
|
696
|
+
constructor(eventRepository: EventRepository);
|
|
697
|
+
execute(input: GetExhibitsByMemberInput): Promise<GetExhibitsByMemberOutput>;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
interface GetMembersByExhibitInput {
|
|
701
|
+
exhibitId: string;
|
|
702
|
+
}
|
|
703
|
+
interface GetMembersByExhibitOutput {
|
|
704
|
+
members: Member[];
|
|
705
|
+
}
|
|
706
|
+
declare class GetMembersByExhibit extends IUseCase<GetMembersByExhibitInput, GetMembersByExhibitOutput> {
|
|
707
|
+
private readonly memberRepository;
|
|
708
|
+
private readonly eventRepository;
|
|
709
|
+
constructor(memberRepository: MemberRepository, eventRepository: EventRepository);
|
|
710
|
+
execute(input: GetMembersByExhibitInput): Promise<GetMembersByExhibitOutput>;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
type MemberUseCases = {
|
|
714
|
+
registerMember: RegisterMemberUseCase;
|
|
715
|
+
updateMember: UpdateMemberUseCase;
|
|
716
|
+
getMember: GetMemberUseCase;
|
|
717
|
+
getMemberByEmail: GetMemberByEmailUseCase;
|
|
718
|
+
getMemberByDiscordId: GetMemberByDiscordIdUseCase;
|
|
719
|
+
getMemberList: GetMemberListUseCase;
|
|
720
|
+
changeDiscordNickName: ChangeDiscordNickNameUseCase;
|
|
721
|
+
connectDiscordAccount: ConnectDiscordAccountUseCase;
|
|
722
|
+
};
|
|
723
|
+
declare function createMemberUseCases(): MemberUseCases;
|
|
724
|
+
|
|
725
|
+
type EventUseCases = {
|
|
726
|
+
createEvent: CreateEvent;
|
|
727
|
+
updateEvent: UpdateEvent;
|
|
728
|
+
deleteEvent: DeleteEvent;
|
|
729
|
+
getEvent: GetEvent;
|
|
730
|
+
getEventList: GetEventList;
|
|
731
|
+
addExhibitToEvent: AddExhibitToEvent;
|
|
732
|
+
changeExhibitDescription: ChangeExhibitDescription;
|
|
733
|
+
changeExhibitMarkdownContent: ChangeExhibitMarkdownContent;
|
|
734
|
+
changeExhibitName: ChangeExhibitName;
|
|
735
|
+
changeExhibitUrl: ChangeExhibitUrl;
|
|
736
|
+
changeLightningTalkDuration: ChangeLightningTalkDuration;
|
|
737
|
+
changeLightningTalkSlideUrl: ChangeLightningTalkSlideUrl;
|
|
738
|
+
changeLightningTalkStartTime: ChangeLightningTalkStartTime;
|
|
739
|
+
removeExhibitFromEvent: RemoveExhibitFromEvent;
|
|
740
|
+
registerMemberToEvent: RegisterMemberToEvent;
|
|
741
|
+
removeMemberFromEvent: RemoveMemberFromEvent;
|
|
742
|
+
getEventsByMember: GetEventsByMember;
|
|
743
|
+
getMembersByEvent: GetMembersByEvent;
|
|
744
|
+
registerMemberToExhibit: RegisterMemberToExhibit;
|
|
745
|
+
removeMemberFromExhibit: RemoveMemberFromExhibit;
|
|
746
|
+
getExhibitsByMember: GetExhibitsByMember;
|
|
747
|
+
getMembersByExhibit: GetMembersByExhibit;
|
|
748
|
+
};
|
|
749
|
+
/**
|
|
750
|
+
* @beta 将来的にAPIが変更される可能性があります。
|
|
751
|
+
*/
|
|
752
|
+
declare function createEventUseCases(): EventUseCases;
|
|
753
|
+
|
|
754
|
+
export { Department, DiscordAccount, DiscordAccountAlreadyConnectedException, DiscordAccountNotConnectedException, DomainException, Email, Event, type EventRepository, type EventUseCases, Exhibit, ExhibitAlreadyExistsException, ExhibitHasMemberException, ExhibitNotFoundException, InvalidDepartmentException, InvalidEmailFormatException, InvalidLightningTalkDurationException, InvalidUniversityEmailException, InvalidUrlException, InvalidUrlProtocolException, LightningTalk, LightningTalkDuration, LightningTalkExhibitIdMismatchException, LightningTalkNotFoundException, Member, type MemberRepository, type MemberUseCases, UniversityEmail, Url, ValueObject, createEventUseCases, createMemberUseCases };
|