Skip to content

Commit e13e63b

Browse files
authored
Merge pull request #51 from takker99:project
feat: Keep up with the latest scrapbox REST API types
2 parents ce13eda + 90580b0 commit e13e63b

File tree

1 file changed

+52
-11
lines changed

1 file changed

+52
-11
lines changed

response.ts

Lines changed: 52 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -201,12 +201,6 @@ export interface Project {
201201

202202
loginStrategies: string[];
203203

204-
theme: string;
205-
206-
gyazoTeamsName: string | null;
207-
208-
googleAnalyticsCode: string | null;
209-
210204
/** planの種類
211205
*
212206
* public projectの場合は`null`になる
@@ -215,11 +209,21 @@ export interface Project {
215209
*/
216210
plan?: string | null;
217211

212+
theme: string;
213+
214+
gyazoTeamsName: string | null;
215+
216+
translation: boolean;
217+
218+
infobox: boolean;
219+
218220
created: UnixTime;
219221

220222
updated: UnixTime;
221223

222224
isMember: boolean;
225+
226+
trialing: boolean;
223227
}
224228

225229
/** the response type of /api/projects */
@@ -228,25 +232,26 @@ export interface ProjectResponse {
228232
}
229233

230234
/** project information which isn't joined */
231-
export interface NotMemberProject extends Omit<Project, "isMember"> {
235+
export interface NotMemberProject
236+
extends Omit<Project, "isMember" | "plan" | "trialing"> {
232237
image?: string;
233238

234239
isMember: false;
235240
}
236241

237242
/** project information which is joined */
238-
export interface MemberProject extends Omit<NotMemberProject, "isMember"> {
243+
export interface MemberProject extends Omit<Project, "isMember"> {
239244
isMember: true;
240245

241-
plan?: string | null;
246+
image?: string;
242247

243248
users: UserInfo[];
244249

245250
admins: UserId[];
246251

247252
owner: UserId;
248253

249-
trialing: boolean;
254+
isUserPageExists: boolean;
250255

251256
trialMaxPages: number;
252257

@@ -258,6 +263,8 @@ export interface MemberProject extends Omit<NotMemberProject, "isMember"> {
258263

259264
emailAddressPatterns: string[];
260265

266+
projectScript: boolean;
267+
261268
backuped: UnixTime | null;
262269
}
263270

@@ -420,6 +427,8 @@ export interface SearchResult {
420427
/** 検索文字列と完全一致するタイトルが見つかったら`true` */
421428
existsExactTitleMatch: boolean;
422429

430+
field: "title" | "helpfeels" | "lines";
431+
423432
/** 全文検索エンジンの名前 */
424433
backend: string;
425434

@@ -450,6 +459,18 @@ export interface FoundPage {
450459
lines: string[];
451460
}
452461

462+
/** the response type of /api/pages/:projectname/search/files */
463+
export interface FileSearchResult
464+
extends Omit<SearchResult, "field" | "pages"> {
465+
/** 見つかったページ */
466+
pages: FoundPageByFile[];
467+
}
468+
469+
/** /api/pages/:projectname/search/files で見つかったページ */
470+
export interface FoundPageByFile extends FoundPage {
471+
file: string;
472+
}
473+
453474
/** the response type of /api/projects/search/query and /api/projects/search/watch-list */
454475
export interface ProjectSearchResult {
455476
/** 検索文字列 */
@@ -495,13 +516,33 @@ export interface CommitsResponse {
495516
}
496517

497518
/** the response type of /api/page-snapshots/:projectname/:pageid */
498-
export interface PageSnapshot {
519+
export interface PageSnapshotList {
499520
pageId: PageId;
500521

522+
/** 作成されているsnapshotsのtimestamp idのリスト */
523+
timestamps: SnapshotTimestamp[];
524+
501525
/** 作成されているsnapshots */
502526
snapshots: Snapshot[];
503527
}
504528

529+
export interface SnapshotTimestamp {
530+
id: string;
531+
created: UnixTime;
532+
}
533+
534+
/** the response type of /api/page-snapshots/:projectname/:pageid/:timestampid */
535+
export interface PageSnapshotResult {
536+
page: PageWithSnapshot;
537+
538+
snapshot: Snapshot;
539+
}
540+
541+
export interface PageWithSnapshot extends BasePage {
542+
user: Pick<User, "id">;
543+
lastupdateUser: Pick<User, "id"> | null;
544+
}
545+
505546
/** a page snapshot */
506547
export interface Snapshot {
507548
/** snapshotを撮ったときのページタイトル */

0 commit comments

Comments
 (0)