게시한 질문이 홈 최근 기록에 나오지 않았다. 계약의 `LatestEntry.entryType` 이 네 값만
허용해 백엔드가 담을 수 없었다 — design-package ef49d3a 에서 `QUESTION` 을 더했고 여기서
계약을 다시 생성한다. 포트의 `LatestRecordEntry.entryType` 도 같이 넓히고, 홈의 표기는
목록의 다른 이름들과 같은 규칙(대문자에 공백)을 따라 `OPEN QUESTION` 으로 적는다.
문서 머리말의 주제 링크는 `/topics/:slug` 로 가고 있었는데, 그 화면은 `jpa`/`authentication`
/`redis` 세 개를 하드코딩해 두고 있어 실제 주제는 무엇이든 404 가 됐다. 게시한 모든 문서의
주제 링크가 거기로 갔다.
주제 페이지를 채우는 대신 링크를 탐색 필터로 돌린다. 지금 그 페이지만 줄 수 있는 것 —
설명, 범위, 선별한 대표 기록 — 이 전부 비어 있고, Studio 의 주제 만들기는 `{name, slug}` 만
보내므로 설명을 쓸 칸조차 없다. 독자가 거기서 기대하는 것은 같은 주제의 기록 목록이고,
그것은 `/explore?topic=` 이 그대로 준다. 주제가 여러 개가 되고 설명을 쓸 수 있게 되면 그때
페이지를 만드는 것이 순서다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0189NzCryfeqDzS81EWidnBx
1694 lines
53 KiB
TypeScript
1694 lines
53 KiB
TypeScript
/**
|
|
* This file was auto-generated by openapi-typescript.
|
|
* Do not make direct changes to the file.
|
|
*/
|
|
|
|
export interface paths {
|
|
"/site": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicSite"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/home": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicHome"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/explore/knowledge": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** @description Frontend의 `/explore`, `/explore/cases`, `/explore/references` 화면이
|
|
* 호출한다. 화면 route별로 별도 endpoint를 만들지 않고 `type` 필터로 구분한다.
|
|
*
|
|
* ```text
|
|
* /explore/cases → type=CASE
|
|
* /explore/references → type=REFERENCE
|
|
* /explore → type 생략
|
|
* ```
|
|
* */
|
|
get: operations["exploreKnowledge"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/explore/questions": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** @description Frontend의 `/explore/questions` 화면이 호출한다.
|
|
*
|
|
* 여기의 공개 상태는 `OPEN`/`RESOLVED` 축약 표현이다. Backend Inquiry의
|
|
* `INVESTIGATING`/`PAUSED`는 `OPEN`으로 표현되며 `ARCHIVED`는 공개되지 않는다.
|
|
* Domain lifecycle 자체는 축소되지 않는다.
|
|
* */
|
|
get: operations["exploreQuestions"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/topics": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["listPublicTopics"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/topics/{topicSlug}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicTopic"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/cases/{slug}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicCase"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/references/{slug}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicReference"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/questions/{slug}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicQuestion"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/projects": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["listPublicProjects"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/projects/{slug}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicProject"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/projects/{slug}/decisions": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["listPublicProjectDecisions"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/projects/{slug}/records": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["listPublicProjectRecords"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/projects/{slug}/activities": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["listPublicProjectActivities"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/releases": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["listPublicReleases"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/releases/{version}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicRelease"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/profile": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["getPublicProfile"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/search": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["searchPublicResources"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/media/{assetId}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** @description 업로드한 Asset 의 바이트를 그대로 돌려준다. 이 경로가 없어서 Asset 은 저장은 되지만
|
|
* 어디에서도 보이지 않았다 — 문서와 공개 화면이 모두 이 주소를 가리키는데 서빙하는 곳이
|
|
* 없었다.
|
|
*
|
|
* `READY` 인 Asset 만 나간다. "발행된 기록이 참조하는 것만" 으로 더 좁히지 않는 이유는
|
|
* 그러면 Studio 미리보기가 깨지기 때문이다 — 미리보기는 아직 발행되지 않은 기록을 보는
|
|
* 화면이다. 대신 주소가 추측 불가능한 UUID 다.
|
|
*
|
|
* 봉투를 쓰지 않는다. 바이트를 반환하므로 감쌀 것이 없고, `<img src>` 는 JSON 을 읽지
|
|
* 않는다. */
|
|
get: operations["getPublicMedia"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
}
|
|
export type webhooks = Record<string, never>;
|
|
export interface components {
|
|
schemas: {
|
|
FieldError: {
|
|
field: string;
|
|
code: string;
|
|
message: string;
|
|
};
|
|
PageMetadata: {
|
|
number: number;
|
|
size: number;
|
|
/** Format: int64 */
|
|
totalElements: number;
|
|
totalPages: number;
|
|
hasPrevious: boolean;
|
|
hasNext: boolean;
|
|
};
|
|
TopicSummary: {
|
|
name: string;
|
|
slug: string;
|
|
};
|
|
TagSummary: {
|
|
name: string;
|
|
slug: string;
|
|
};
|
|
ProjectSummary: {
|
|
name: string;
|
|
slug: string;
|
|
path: string;
|
|
};
|
|
AssetReference: {
|
|
/** Format: uuid */
|
|
assetId: string;
|
|
url: string;
|
|
altText?: string;
|
|
width?: number;
|
|
height?: number;
|
|
contentType?: string;
|
|
};
|
|
/** @description 본문이 `:::evidence key="..."` 로 가리키는 Asset 이다.
|
|
*
|
|
* 본문은 Markdown 원문으로 나가고 그 안에는 key 만 있는데, `/media/{assetId}` 는 UUID
|
|
* 로만 서빙한다 — 주소가 추측 불가능한 것이 의도된 성질이므로 key 에서 주소를 만들 수
|
|
* 없다. 그래서 공개 화면이 key 를 해석할 수 있도록, 게시된 기록이 실제로 참조하는 Asset 을
|
|
* 함께 준다.
|
|
*
|
|
* 목록은 게시 시점에 고정된 `PUBLISHED` scope 의 참조에서 온다. 게시 이후 작업본이 Asset
|
|
* 을 바꿔도 이미 공개된 본문이 가리키는 대상은 달라지지 않는다.
|
|
* */
|
|
BodyAsset: {
|
|
assetKey: string;
|
|
/** Format: uuid */
|
|
assetId: string;
|
|
url: string;
|
|
contentType: string;
|
|
altText?: string;
|
|
width?: number;
|
|
height?: number;
|
|
/** @description 장식용이면 대체 텍스트가 비어 있어도 된다. 게시 검증이 이 값으로 판정하므로 공개
|
|
* 화면도 같은 값을 보고 `alt` 를 정해야 판정과 표시가 어긋나지 않는다.
|
|
* */
|
|
decorative: boolean;
|
|
};
|
|
RelatedEntry: {
|
|
/** @enum {string} */
|
|
type: "CASE" | "REFERENCE" | "QUESTION" | "PROJECT" | "PROJECT_DECISION" | "RELEASE";
|
|
title: string;
|
|
summary?: string;
|
|
path: string;
|
|
};
|
|
ContactLink: {
|
|
type: string;
|
|
label: string;
|
|
/** Format: uri */
|
|
url: string;
|
|
};
|
|
SiteResponse: {
|
|
brand: {
|
|
title: string;
|
|
identityStatement: string;
|
|
};
|
|
operator: {
|
|
displayName: string;
|
|
shortIdentity?: string;
|
|
avatar?: components["schemas"]["AssetReference"];
|
|
profilePath: string;
|
|
};
|
|
contacts: components["schemas"]["ContactLink"][];
|
|
};
|
|
CurrentWorkFocus: {
|
|
projectName: string;
|
|
projectPath: string;
|
|
purpose: string;
|
|
/** @enum {string} */
|
|
phase: "RESEARCH" | "DESIGN" | "IMPLEMENTATION" | "VERIFICATION" | "MAINTENANCE" | "PAUSED" | "COMPLETED";
|
|
currentObjective: string;
|
|
nextStep?: string;
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
};
|
|
OpenQuestionFocus: {
|
|
question: string;
|
|
questionPath: string;
|
|
summary: string;
|
|
knownFacts: string[];
|
|
unresolvedPoints: string[];
|
|
nextVerification: string;
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
};
|
|
RecentDecisionFocus: {
|
|
statement: string;
|
|
decisionPath: string;
|
|
rationale: string;
|
|
consequences: string[];
|
|
/** Format: date-time */
|
|
decidedAt: string;
|
|
};
|
|
LatestEntry: {
|
|
/** @enum {string} */
|
|
entryType: "CASE" | "REFERENCE" | "QUESTION" | "PROJECT_ACTIVITY" | "RELEASE";
|
|
title: string;
|
|
summary: string;
|
|
path: string;
|
|
primaryTopic?: components["schemas"]["TopicSummary"];
|
|
primaryProject?: components["schemas"]["ProjectSummary"];
|
|
/** Format: date-time */
|
|
publishedAt: string;
|
|
};
|
|
HomeResponse: {
|
|
focus: {
|
|
/** @enum {string} */
|
|
defaultType: "CURRENT_WORK" | "OPEN_QUESTION" | "RECENT_DECISION";
|
|
currentWork?: components["schemas"]["CurrentWorkFocus"];
|
|
openQuestion?: components["schemas"]["OpenQuestionFocus"];
|
|
recentDecision?: components["schemas"]["RecentDecisionFocus"];
|
|
};
|
|
latestEntries: components["schemas"]["LatestEntry"][];
|
|
};
|
|
KnowledgeListItem: {
|
|
/** @enum {string} */
|
|
type: "CASE" | "REFERENCE";
|
|
title: string;
|
|
path: string;
|
|
primarySummary: string;
|
|
secondarySummary?: string;
|
|
primaryTopic?: components["schemas"]["TopicSummary"];
|
|
primaryProject?: components["schemas"]["ProjectSummary"];
|
|
/** Format: date-time */
|
|
publishedAt: string;
|
|
/** Format: date-time */
|
|
lastVerifiedAt?: string;
|
|
freshnessStatus?: string;
|
|
};
|
|
KnowledgePage: {
|
|
items: components["schemas"]["KnowledgeListItem"][];
|
|
page: components["schemas"]["PageMetadata"];
|
|
};
|
|
QuestionListItem: {
|
|
question: string;
|
|
path: string;
|
|
/** @enum {string} */
|
|
status: "OPEN" | "INVESTIGATING" | "PAUSED" | "RESOLVED";
|
|
summary: string;
|
|
currentUnderstanding?: string;
|
|
nextVerification?: string;
|
|
primaryProject?: components["schemas"]["ProjectSummary"];
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
};
|
|
QuestionPage: {
|
|
items: components["schemas"]["QuestionListItem"][];
|
|
page: components["schemas"]["PageMetadata"];
|
|
};
|
|
TopicListItem: {
|
|
name: string;
|
|
slug: string;
|
|
description: string;
|
|
recordCount?: number;
|
|
};
|
|
TopicListResponse: {
|
|
items: components["schemas"]["TopicListItem"][];
|
|
};
|
|
TopicDetailResponse: {
|
|
topic: {
|
|
name: string;
|
|
slug: string;
|
|
description: string;
|
|
scope?: string;
|
|
};
|
|
featuredReference?: components["schemas"]["RelatedEntry"];
|
|
featuredCases: components["schemas"]["RelatedEntry"][];
|
|
activeQuestions: components["schemas"]["RelatedEntry"][];
|
|
relatedProjects: components["schemas"]["RelatedEntry"][];
|
|
latestRecords: components["schemas"]["LatestEntry"][];
|
|
};
|
|
CaseDetailResponse: {
|
|
canonicalPath: string;
|
|
/** @default true */
|
|
indexable: boolean;
|
|
case: {
|
|
title: string;
|
|
summary?: string;
|
|
problemSummary: string;
|
|
conclusionSummary: string;
|
|
environmentSummary?: string[];
|
|
content: string;
|
|
/** @enum {string} */
|
|
contentFormat: "MARKDOWN";
|
|
contentFormatVersion: number;
|
|
primaryTopic?: components["schemas"]["TopicSummary"];
|
|
tags: components["schemas"]["TagSummary"][];
|
|
primaryProject?: components["schemas"]["ProjectSummary"];
|
|
coverAsset?: components["schemas"]["AssetReference"];
|
|
/** @description 본문이 참조하는 Asset. 비어 있을 수 있다 — 본문에 evidence 가 없거나, 참조한
|
|
* Asset 이 더 이상 서빙되지 않는 경우다.
|
|
* */
|
|
bodyAssets?: components["schemas"]["BodyAsset"][];
|
|
/** Format: date-time */
|
|
publishedAt: string;
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
/** Format: date-time */
|
|
lastVerifiedAt?: string;
|
|
};
|
|
relations: {
|
|
originQuestion?: components["schemas"]["RelatedEntry"];
|
|
projectDecisions: components["schemas"]["RelatedEntry"][];
|
|
derivedReferences: components["schemas"]["RelatedEntry"][];
|
|
relatedCases: components["schemas"]["RelatedEntry"][];
|
|
};
|
|
};
|
|
ReferenceDetailResponse: {
|
|
canonicalPath: string;
|
|
/** @default true */
|
|
indexable: boolean;
|
|
reference: {
|
|
title: string;
|
|
summary?: string;
|
|
scopeSummary: string;
|
|
appliesTo: string[];
|
|
excludedScope: string[];
|
|
rules?: {
|
|
title: string;
|
|
body: string;
|
|
}[];
|
|
examples?: string[];
|
|
/** @enum {string} */
|
|
freshnessStatus: "CURRENT" | "REVIEW_DUE" | "HISTORICAL";
|
|
content: string;
|
|
/** @enum {string} */
|
|
contentFormat: "MARKDOWN";
|
|
contentFormatVersion: number;
|
|
primaryTopic?: components["schemas"]["TopicSummary"];
|
|
tags: components["schemas"]["TagSummary"][];
|
|
primaryProject?: components["schemas"]["ProjectSummary"];
|
|
coverAsset?: components["schemas"]["AssetReference"];
|
|
/** Format: date-time */
|
|
publishedAt: string;
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
/** Format: date-time */
|
|
lastVerifiedAt?: string;
|
|
};
|
|
relations: {
|
|
supportingCases: components["schemas"]["RelatedEntry"][];
|
|
relatedDecisions: components["schemas"]["RelatedEntry"][];
|
|
relatedReferences: components["schemas"]["RelatedEntry"][];
|
|
};
|
|
};
|
|
QuestionPointGroup: {
|
|
facts: string[];
|
|
assumptions: string[];
|
|
unknowns: string[];
|
|
constraints: string[];
|
|
};
|
|
QuestionUpdatePublic: {
|
|
type: string;
|
|
title: string;
|
|
bodyMarkdown: string;
|
|
/** Format: date-time */
|
|
occurredAt: string;
|
|
};
|
|
QuestionDetailResponse: {
|
|
canonicalPath: string;
|
|
indexable: boolean;
|
|
question: {
|
|
question: string;
|
|
summary: string;
|
|
context: string;
|
|
importance: string;
|
|
/** @enum {string} */
|
|
status: "OPEN" | "INVESTIGATING" | "PAUSED" | "RESOLVED";
|
|
nextVerification?: string;
|
|
points: components["schemas"]["QuestionPointGroup"];
|
|
updates: components["schemas"]["QuestionUpdatePublic"][];
|
|
resolution?: {
|
|
type?: string;
|
|
summary?: string;
|
|
/** Format: date-time */
|
|
resolvedAt?: string;
|
|
};
|
|
/** Format: date-time */
|
|
openedAt: string;
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
};
|
|
relations: {
|
|
primaryProject?: components["schemas"]["RelatedEntry"];
|
|
resultCase?: components["schemas"]["RelatedEntry"];
|
|
producedDecision?: components["schemas"]["RelatedEntry"];
|
|
derivedReferences: components["schemas"]["RelatedEntry"][];
|
|
};
|
|
};
|
|
ProjectListItem: {
|
|
name: string;
|
|
slug: string;
|
|
path: string;
|
|
oneLinePurpose: string;
|
|
phase: string;
|
|
currentObjective?: string;
|
|
nextStep?: string;
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
};
|
|
ProjectListResponse: {
|
|
items: components["schemas"]["ProjectListItem"][];
|
|
};
|
|
ProjectDetailResponse: {
|
|
canonicalPath: string;
|
|
/** @default true */
|
|
indexable: boolean;
|
|
project: {
|
|
name: string;
|
|
slug: string;
|
|
oneLinePurpose: string;
|
|
purpose: string;
|
|
boundary: string;
|
|
phase: string;
|
|
currentObjective?: string;
|
|
nextStep?: string;
|
|
systemOverviewMarkdown?: string;
|
|
technologies?: string[];
|
|
/** @description 이 프로젝트가 다루는 주제. 프로젝트 화면의 "주요 주제" 가 이 목록을 그린다.
|
|
* 화면은 처음부터 이 값을 읽고 있었지만 계약에 자리가 없어 늘 비어 있었다. */
|
|
topics?: components["schemas"]["TopicSummary"][];
|
|
/** Format: date-time */
|
|
updatedAt: string;
|
|
};
|
|
featuredDecision?: components["schemas"]["RelatedEntry"];
|
|
activeQuestion?: components["schemas"]["RelatedEntry"];
|
|
selectedRecords: components["schemas"]["RelatedEntry"][];
|
|
};
|
|
ProjectDecisionItem: {
|
|
/** Format: uuid */
|
|
id: string;
|
|
statement: string;
|
|
status: string;
|
|
rationaleSummary?: string;
|
|
/** Format: date-time */
|
|
decidedAt: string;
|
|
sourceQuestion?: components["schemas"]["RelatedEntry"];
|
|
sourceCase?: components["schemas"]["RelatedEntry"];
|
|
};
|
|
ProjectDecisionPage: {
|
|
items: components["schemas"]["ProjectDecisionItem"][];
|
|
page: components["schemas"]["PageMetadata"];
|
|
};
|
|
ProjectRecordPage: {
|
|
items: components["schemas"]["RelatedEntry"][];
|
|
page: components["schemas"]["PageMetadata"];
|
|
};
|
|
ProjectActivityItem: {
|
|
type: string;
|
|
title: string;
|
|
summary?: string;
|
|
/** Format: date-time */
|
|
occurredAt: string;
|
|
relatedPath?: string;
|
|
};
|
|
ProjectActivityPage: {
|
|
items: components["schemas"]["ProjectActivityItem"][];
|
|
page: components["schemas"]["PageMetadata"];
|
|
};
|
|
ReleaseListItem: {
|
|
version: string;
|
|
title: string;
|
|
summary: string;
|
|
/** Format: date */
|
|
releasedOn: string;
|
|
changeTypes: string[];
|
|
path: string;
|
|
};
|
|
ReleaseListResponse: {
|
|
items: components["schemas"]["ReleaseListItem"][];
|
|
};
|
|
ReleaseDetailResponse: {
|
|
version: string;
|
|
title: string;
|
|
summary: string;
|
|
/** Format: date */
|
|
releasedOn: string;
|
|
changeTypes: string[];
|
|
reasonMarkdown?: string;
|
|
changesMarkdown: string;
|
|
userImpactMarkdown?: string;
|
|
implementationImpactMarkdown?: string;
|
|
verificationMarkdown: string;
|
|
knownLimitationsMarkdown?: string;
|
|
relatedRecords: components["schemas"]["RelatedEntry"][];
|
|
};
|
|
ProfileResponse: {
|
|
position: {
|
|
headline: string;
|
|
description: string;
|
|
};
|
|
workingModel: {
|
|
name: string;
|
|
description: string;
|
|
}[];
|
|
territories: {
|
|
name: string;
|
|
currentQuestion?: string;
|
|
topicPath?: string;
|
|
}[];
|
|
selectedEvidence: components["schemas"]["RelatedEntry"][];
|
|
trajectory: {
|
|
title: string;
|
|
description: string;
|
|
}[];
|
|
contacts: components["schemas"]["ContactLink"][];
|
|
};
|
|
SearchResultItem: {
|
|
contentType: string;
|
|
title: string;
|
|
path: string;
|
|
snippet: string;
|
|
matchedFields: string[];
|
|
primaryTopic?: components["schemas"]["TopicSummary"];
|
|
primaryProject?: components["schemas"]["ProjectSummary"];
|
|
/** Format: date-time */
|
|
publishedAt?: string;
|
|
/** Format: date-time */
|
|
updatedAt?: string;
|
|
};
|
|
SearchResultPage: {
|
|
query: string;
|
|
items: components["schemas"]["SearchResultItem"][];
|
|
page: components["schemas"]["PageMetadata"];
|
|
};
|
|
ResponseMeta: {
|
|
requestId: string;
|
|
traceId: string;
|
|
correlationId?: string | null;
|
|
/** @description offset 페이지네이션 정보는 각 페이지 payload 의 `page` 필드가 소유한다. 이 필드는 백엔드 템플릿의 ResponseMeta record 가 직렬화하는 자리이며 공개 조회에서는 항상 null 이다. */
|
|
page?: {
|
|
[key: string]: unknown;
|
|
} | null;
|
|
};
|
|
ValidationErrorDetails: {
|
|
fieldErrors: components["schemas"]["FieldError"][];
|
|
};
|
|
ApiError: {
|
|
/**
|
|
* @description `INTERNAL_ERROR` 는 이 기능이 아니라 스켈레톤의 공통 처리기가 내는 코드다. 계약이 그것까지 열거해야 500 응답이 계약을 벗어나지 않는다.
|
|
* @enum {string}
|
|
*/
|
|
code: "PUBLIC_REQUEST_INVALID" | "PUBLIC_RESOURCE_NOT_FOUND" | "INTERNAL_ERROR";
|
|
/** @enum {string} */
|
|
category: "VALIDATION" | "AUTH" | "AUTHZ" | "NOT_FOUND" | "CONFLICT" | "RATE_LIMIT" | "TRANSIENT_DEPENDENCY" | "PERMANENT_DEPENDENCY" | "DATA_INTEGRITY" | "INTERNAL";
|
|
message: string;
|
|
retryable: boolean;
|
|
details?: components["schemas"]["ValidationErrorDetails"] | null;
|
|
};
|
|
ErrorEnvelope: {
|
|
/** @constant */
|
|
success: false;
|
|
error: components["schemas"]["ApiError"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
SiteResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["SiteResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
HomeResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["HomeResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
KnowledgePageEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["KnowledgePage"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
QuestionPageEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["QuestionPage"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
TopicListResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["TopicListResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
TopicDetailResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["TopicDetailResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
CaseDetailResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["CaseDetailResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ReferenceDetailResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ReferenceDetailResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
QuestionDetailResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["QuestionDetailResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ProjectListResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ProjectListResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ProjectDetailResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ProjectDetailResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ProjectDecisionPageEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ProjectDecisionPage"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ProjectRecordPageEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ProjectRecordPage"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ProjectActivityPageEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ProjectActivityPage"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ReleaseListResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ReleaseListResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ReleaseDetailResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ReleaseDetailResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
ProfileResponseEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["ProfileResponse"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
SearchResultPageEnvelope: {
|
|
/** @constant */
|
|
success: true;
|
|
data: components["schemas"]["SearchResultPage"];
|
|
meta: components["schemas"]["ResponseMeta"];
|
|
};
|
|
};
|
|
responses: never;
|
|
parameters: never;
|
|
requestBodies: never;
|
|
headers: never;
|
|
pathItems: never;
|
|
}
|
|
export type $defs = Record<string, never>;
|
|
export interface operations {
|
|
getPublicSite: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["SiteResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicHome: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HomeResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
exploreKnowledge: {
|
|
parameters: {
|
|
query?: {
|
|
type?: "CASE" | "REFERENCE";
|
|
topic?: string;
|
|
project?: string;
|
|
tag?: string;
|
|
year?: number;
|
|
sort?: "PUBLISHED_DESC" | "UPDATED_DESC" | "VERIFIED_DESC";
|
|
page?: number;
|
|
size?: number;
|
|
};
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["KnowledgePageEnvelope"];
|
|
};
|
|
};
|
|
/** @description Bad Request */
|
|
400: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
exploreQuestions: {
|
|
parameters: {
|
|
query?: {
|
|
status?: "OPEN" | "INVESTIGATING" | "PAUSED" | "RESOLVED";
|
|
topic?: string;
|
|
project?: string;
|
|
tag?: string;
|
|
sort?: "UPDATED_DESC" | "OPENED_DESC" | "RESOLVED_DESC";
|
|
page?: number;
|
|
size?: number;
|
|
};
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["QuestionPageEnvelope"];
|
|
};
|
|
};
|
|
/** @description Bad Request */
|
|
400: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
listPublicTopics: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TopicListResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicTopic: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
topicSlug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TopicDetailResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicCase: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
slug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["CaseDetailResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicReference: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
slug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ReferenceDetailResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicQuestion: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
slug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["QuestionDetailResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
listPublicProjects: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ProjectListResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicProject: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
slug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ProjectDetailResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
listPublicProjectDecisions: {
|
|
parameters: {
|
|
query?: {
|
|
status?: string;
|
|
page?: number;
|
|
size?: number;
|
|
};
|
|
header?: never;
|
|
path: {
|
|
slug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ProjectDecisionPageEnvelope"];
|
|
};
|
|
};
|
|
/** @description Bad Request */
|
|
400: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
listPublicProjectRecords: {
|
|
parameters: {
|
|
query?: {
|
|
type?: "CASE" | "REFERENCE" | "QUESTION";
|
|
relation?: "PRIMARY" | "RELATED";
|
|
page?: number;
|
|
size?: number;
|
|
};
|
|
header?: never;
|
|
path: {
|
|
slug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ProjectRecordPageEnvelope"];
|
|
};
|
|
};
|
|
/** @description Bad Request */
|
|
400: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
listPublicProjectActivities: {
|
|
parameters: {
|
|
query?: {
|
|
page?: number;
|
|
size?: number;
|
|
};
|
|
header?: never;
|
|
path: {
|
|
slug: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ProjectActivityPageEnvelope"];
|
|
};
|
|
};
|
|
/** @description Bad Request */
|
|
400: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
listPublicReleases: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ReleaseListResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicRelease: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
version: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ReleaseDetailResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicProfile: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ProfileResponseEnvelope"];
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
searchPublicResources: {
|
|
parameters: {
|
|
query: {
|
|
q: string;
|
|
type?: "CASE" | "REFERENCE" | "QUESTION" | "PROJECT" | "RELEASE";
|
|
topic?: string;
|
|
page?: number;
|
|
size?: number;
|
|
};
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["SearchResultPageEnvelope"];
|
|
};
|
|
};
|
|
/** @description Bad Request */
|
|
400: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
getPublicMedia: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
assetId: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description OK */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/octet-stream": string;
|
|
};
|
|
};
|
|
/** @description Not Found */
|
|
404: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
/** @description Internal Server Error */
|
|
500: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|