aboutsummaryrefslogtreecommitdiffstats
path: root/packages/open-api
diff options
context:
space:
mode:
Diffstat (limited to 'packages/open-api')
-rw-r--r--packages/open-api/hoarder-openapi-spec.json68
-rw-r--r--packages/open-api/index.ts12
-rw-r--r--packages/open-api/lib/bookmarks.ts7
-rw-r--r--packages/open-api/lib/lists.ts8
-rw-r--r--packages/open-api/lib/tags.ts5
5 files changed, 98 insertions, 2 deletions
diff --git a/packages/open-api/hoarder-openapi-spec.json b/packages/open-api/hoarder-openapi-spec.json
index ab875818..00452bfb 100644
--- a/packages/open-api/hoarder-openapi-spec.json
+++ b/packages/open-api/hoarder-openapi-spec.json
@@ -7,7 +7,13 @@
},
"servers": [
{
- "url": "v1"
+ "url": "{address}/api/v1",
+ "variables": {
+ "address": {
+ "default": "https://try.hoarder.app",
+ "description": "The address of the hoarder server"
+ }
+ }
}
],
"components": {
@@ -368,6 +374,9 @@
"get": {
"description": "Get all bookmarks",
"summary": "Get all bookmarks",
+ "tags": [
+ "Bookmarks"
+ ],
"security": [
{
"bearerAuth": []
@@ -423,6 +432,9 @@
"post": {
"description": "Create a new bookmark",
"summary": "Create a new bookmark",
+ "tags": [
+ "Bookmarks"
+ ],
"security": [
{
"bearerAuth": []
@@ -584,6 +596,9 @@
"get": {
"description": "Get bookmark by its id",
"summary": "Get a single bookmark",
+ "tags": [
+ "Bookmarks"
+ ],
"security": [
{
"bearerAuth": []
@@ -610,6 +625,9 @@
"delete": {
"description": "Delete bookmark by its id",
"summary": "Delete a bookmark",
+ "tags": [
+ "Bookmarks"
+ ],
"security": [
{
"bearerAuth": []
@@ -629,6 +647,9 @@
"patch": {
"description": "Update bookmark by its id",
"summary": "Update a bookmark",
+ "tags": [
+ "Bookmarks"
+ ],
"security": [
{
"bearerAuth": []
@@ -725,6 +746,9 @@
"post": {
"description": "Attach tags to a bookmark",
"summary": "Attach tags to a bookmark",
+ "tags": [
+ "Bookmarks"
+ ],
"security": [
{
"bearerAuth": []
@@ -791,6 +815,9 @@
"delete": {
"description": "Detach tags from a bookmark",
"summary": "Detach tags from a bookmark",
+ "tags": [
+ "Bookmarks"
+ ],
"security": [
{
"bearerAuth": []
@@ -859,6 +886,9 @@
"get": {
"description": "Get all lists",
"summary": "Get all lists",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -891,6 +921,9 @@
"post": {
"description": "Create a new list",
"summary": "Create a new list",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -942,6 +975,9 @@
"get": {
"description": "Get list by its id",
"summary": "Get a single list",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -968,6 +1004,9 @@
"delete": {
"description": "Delete list by its id",
"summary": "Delete a list",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -989,6 +1028,9 @@
"patch": {
"description": "Update list by its id",
"summary": "Update a list",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -1041,6 +1083,9 @@
"get": {
"description": "Get the bookmarks in a list",
"summary": "Get a bookmarks in a list",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -1085,6 +1130,9 @@
"put": {
"description": "Add the bookmarks to a list",
"summary": "Add a bookmark to a list",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -1107,6 +1155,9 @@
"delete": {
"description": "Remove the bookmarks from a list",
"summary": "Remove a bookmark from a list",
+ "tags": [
+ "Lists"
+ ],
"security": [
{
"bearerAuth": []
@@ -1131,6 +1182,9 @@
"get": {
"description": "Get all tags",
"summary": "Get all tags",
+ "tags": [
+ "Tags"
+ ],
"security": [
{
"bearerAuth": []
@@ -1165,6 +1219,9 @@
"get": {
"description": "Get tag by its id",
"summary": "Get a single tag",
+ "tags": [
+ "Tags"
+ ],
"security": [
{
"bearerAuth": []
@@ -1191,6 +1248,9 @@
"delete": {
"description": "Delete tag by its id",
"summary": "Delete a tag",
+ "tags": [
+ "Tags"
+ ],
"security": [
{
"bearerAuth": []
@@ -1210,6 +1270,9 @@
"patch": {
"description": "Update tag by its id",
"summary": "Update a tag",
+ "tags": [
+ "Tags"
+ ],
"security": [
{
"bearerAuth": []
@@ -1253,6 +1316,9 @@
"get": {
"description": "Get the bookmarks with the tag",
"summary": "Get a bookmarks with the tag",
+ "tags": [
+ "Tags"
+ ],
"security": [
{
"bearerAuth": []
diff --git a/packages/open-api/index.ts b/packages/open-api/index.ts
index 8682c208..97aa259f 100644
--- a/packages/open-api/index.ts
+++ b/packages/open-api/index.ts
@@ -26,7 +26,17 @@ function getOpenApiDocumentation() {
title: "Hoarder API",
description: "The API for the Hoarder app",
},
- servers: [{ url: "v1" }],
+ servers: [
+ {
+ url: "{address}/api/v1",
+ variables: {
+ address: {
+ default: "https://try.hoarder.app",
+ description: "The address of the hoarder server",
+ },
+ },
+ },
+ ],
});
}
diff --git a/packages/open-api/lib/bookmarks.ts b/packages/open-api/lib/bookmarks.ts
index 28ef7e0d..0ddf921e 100644
--- a/packages/open-api/lib/bookmarks.ts
+++ b/packages/open-api/lib/bookmarks.ts
@@ -38,6 +38,7 @@ registry.registerPath({
path: "/bookmarks",
description: "Get all bookmarks",
summary: "Get all bookmarks",
+ tags: ["Bookmarks"],
security: [{ [BearerAuth.name]: [] }],
request: {
query: z
@@ -64,6 +65,7 @@ registry.registerPath({
path: "/bookmarks",
description: "Create a new bookmark",
summary: "Create a new bookmark",
+ tags: ["Bookmarks"],
security: [{ [BearerAuth.name]: [] }],
request: {
body: {
@@ -91,6 +93,7 @@ registry.registerPath({
path: "/bookmarks/{bookmarkId}",
description: "Get bookmark by its id",
summary: "Get a single bookmark",
+ tags: ["Bookmarks"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ bookmarkId: BookmarkIdSchema }),
@@ -112,6 +115,7 @@ registry.registerPath({
path: "/bookmarks/{bookmarkId}",
description: "Delete bookmark by its id",
summary: "Delete a bookmark",
+ tags: ["Bookmarks"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ bookmarkId: BookmarkIdSchema }),
@@ -128,6 +132,7 @@ registry.registerPath({
path: "/bookmarks/{bookmarkId}",
description: "Update bookmark by its id",
summary: "Update a bookmark",
+ tags: ["Bookmarks"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ bookmarkId: BookmarkIdSchema }),
@@ -158,6 +163,7 @@ registry.registerPath({
path: "/bookmarks/{bookmarkId}/tags",
description: "Attach tags to a bookmark",
summary: "Attach tags to a bookmark",
+ tags: ["Bookmarks"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ bookmarkId: BookmarkIdSchema }),
@@ -187,6 +193,7 @@ registry.registerPath({
path: "/bookmarks/{bookmarkId}/tags",
description: "Detach tags from a bookmark",
summary: "Detach tags from a bookmark",
+ tags: ["Bookmarks"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ bookmarkId: BookmarkIdSchema }),
diff --git a/packages/open-api/lib/lists.ts b/packages/open-api/lib/lists.ts
index 27f458fc..aa5d57f3 100644
--- a/packages/open-api/lib/lists.ts
+++ b/packages/open-api/lib/lists.ts
@@ -34,6 +34,7 @@ registry.registerPath({
path: "/lists",
description: "Get all lists",
summary: "Get all lists",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {},
responses: {
@@ -55,6 +56,7 @@ registry.registerPath({
path: "/lists",
description: "Create a new list",
summary: "Create a new list",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {
body: {
@@ -82,6 +84,7 @@ registry.registerPath({
path: "/lists/{listId}",
description: "Get list by its id",
summary: "Get a single list",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ listId: ListIdSchema }),
@@ -103,6 +106,7 @@ registry.registerPath({
path: "/lists/{listId}",
description: "Delete list by its id",
summary: "Delete a list",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ listId: ListIdSchema }),
@@ -119,6 +123,7 @@ registry.registerPath({
path: "/list/{listId}",
description: "Update list by its id",
summary: "Update a list",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ listId: ListIdSchema }),
@@ -149,6 +154,7 @@ registry.registerPath({
path: "/lists/{listId}/bookmarks",
description: "Get the bookmarks in a list",
summary: "Get a bookmarks in a list",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ listId: ListIdSchema }),
@@ -171,6 +177,7 @@ registry.registerPath({
path: "/lists/{listId}/bookmarks/{bookmarkId}",
description: "Add the bookmarks to a list",
summary: "Add a bookmark to a list",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ listId: ListIdSchema, bookmarkId: BookmarkIdSchema }),
@@ -187,6 +194,7 @@ registry.registerPath({
path: "/lists/{listId}/bookmarks/{bookmarkId}",
description: "Remove the bookmarks from a list",
summary: "Remove a bookmark from a list",
+ tags: ["Lists"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ listId: ListIdSchema, bookmarkId: BookmarkIdSchema }),
diff --git a/packages/open-api/lib/tags.ts b/packages/open-api/lib/tags.ts
index e13b7c60..10e49d82 100644
--- a/packages/open-api/lib/tags.ts
+++ b/packages/open-api/lib/tags.ts
@@ -33,6 +33,7 @@ registry.registerPath({
path: "/tags",
description: "Get all tags",
summary: "Get all tags",
+ tags: ["Tags"],
security: [{ [BearerAuth.name]: [] }],
request: {},
responses: {
@@ -54,6 +55,7 @@ registry.registerPath({
path: "/tags/{tagId}",
description: "Get tag by its id",
summary: "Get a single tag",
+ tags: ["Tags"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ tagId: TagIdSchema }),
@@ -75,6 +77,7 @@ registry.registerPath({
path: "/tags/{tagId}",
description: "Delete tag by its id",
summary: "Delete a tag",
+ tags: ["Tags"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ tagId: TagIdSchema }),
@@ -91,6 +94,7 @@ registry.registerPath({
path: "/tags/{tagId}",
description: "Update tag by its id",
summary: "Update a tag",
+ tags: ["Tags"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ tagId: TagIdSchema }),
@@ -121,6 +125,7 @@ registry.registerPath({
path: "/tags/{tagId}/bookmarks",
description: "Get the bookmarks with the tag",
summary: "Get a bookmarks with the tag",
+ tags: ["Tags"],
security: [{ [BearerAuth.name]: [] }],
request: {
params: z.object({ tagId: TagIdSchema }),