feat: a public showcase of each project
A public endpoint sums up a public project for websites: epics with their dates and progress, the latest releases with the notes of shipped ones, the sprint under way and open tickets labelled good-first-issue. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -917,6 +917,26 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/explore/projects/{project}/showcase": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/**
|
||||
* A public project's showcase (no token needed)
|
||||
* @description For public websites: epics with their dates and progress, the latest releases (with the notes of shipped ones), the sprint under way and open tickets labelled good-first-issue. Paths point into the web app.
|
||||
*/
|
||||
get: operations["ExploreController_showcase"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/me/notifications": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -2115,6 +2135,63 @@ export interface components {
|
||||
*/
|
||||
markdown: string;
|
||||
};
|
||||
ShowcaseProjectDto: {
|
||||
/** Format: uuid */
|
||||
id: string;
|
||||
/** @example WEB */
|
||||
key: string;
|
||||
name: string;
|
||||
description: string | null;
|
||||
};
|
||||
ShowcaseSprintDto: {
|
||||
name: string;
|
||||
goal: string | null;
|
||||
/** Format: date */
|
||||
startDate: string;
|
||||
/** Format: date */
|
||||
endDate: string;
|
||||
percent: number;
|
||||
};
|
||||
ShowcaseEpicDto: {
|
||||
key: string;
|
||||
title: string;
|
||||
/** Format: date */
|
||||
startDate: string | null;
|
||||
/** Format: date */
|
||||
dueDate: string | null;
|
||||
percent: number;
|
||||
done: boolean;
|
||||
/**
|
||||
* @description In the web app
|
||||
* @example /p/WEB/issues/WEB-3
|
||||
*/
|
||||
path: string;
|
||||
};
|
||||
ShowcaseReleaseDto: {
|
||||
name: string;
|
||||
status: components["schemas"]["ReleaseStatus"];
|
||||
targetDate: string | null;
|
||||
releasedAt: string | null;
|
||||
percent: number;
|
||||
/** @description Shipped ones only */
|
||||
notes: string | null;
|
||||
};
|
||||
ShowcaseIssueDto: {
|
||||
key: string;
|
||||
title: string;
|
||||
/** @description A ticket type id */
|
||||
type: string;
|
||||
/** @example /p/WEB/issues/WEB-9 */
|
||||
path: string;
|
||||
};
|
||||
ShowcaseDto: {
|
||||
project: components["schemas"]["ShowcaseProjectDto"];
|
||||
activeSprint: components["schemas"]["ShowcaseSprintDto"] | null;
|
||||
roadmap: components["schemas"]["ShowcaseEpicDto"][];
|
||||
releases: components["schemas"]["ShowcaseReleaseDto"][];
|
||||
/** @description Open tickets labelled good-first-issue */
|
||||
goodFirst: components["schemas"]["ShowcaseIssueDto"][];
|
||||
};
|
||||
Object: Record<string, never>;
|
||||
/** @enum {string} */
|
||||
NotificationKind: "ASSIGNED" | "STATUS_CHANGED" | "QA_FAILED" | "COMMENTED" | "MENTIONED" | "WATCHED" | "ADDED_TO_PROJECT" | "REMINDER";
|
||||
@@ -6652,6 +6729,35 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
ExploreController_showcase: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
/** @description Project id or key */
|
||||
project: string;
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["ShowcaseDto"];
|
||||
};
|
||||
};
|
||||
/** @description Not a public project */
|
||||
404: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content?: never;
|
||||
};
|
||||
};
|
||||
};
|
||||
NotificationsController_mine: {
|
||||
parameters: {
|
||||
query?: {
|
||||
|
||||
Reference in New Issue
Block a user