Skip to content

Commit

Permalink
chore: implement stringify markdown nodes endpoint (#3688)
Browse files Browse the repository at this point in the history
  • Loading branch information
johnnyjoygh authored Jul 14, 2024
1 parent 7c9e54a commit bcb8843
Show file tree
Hide file tree
Showing 9 changed files with 980 additions and 661 deletions.
58 changes: 46 additions & 12 deletions docs/apidocs.swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -238,15 +238,15 @@ paths:
type: string
tags:
- MarkdownService
/api/v1/markdown/parse:
/api/v1/markdown/node:restore:
post:
summary: Parses the given markdown content and returns a list of nodes.
operationId: MarkdownService_ParseMarkdown
summary: RestoreMarkdownNodes restores the given nodes to markdown content.
operationId: MarkdownService_RestoreMarkdownNodes
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/v1ParseMarkdownResponse'
$ref: '#/definitions/v1RestoreMarkdownNodesResponse'
default:
description: An unexpected error response.
schema:
Expand All @@ -256,18 +256,39 @@ paths:
in: body
required: true
schema:
$ref: '#/definitions/v1ParseMarkdownRequest'
$ref: '#/definitions/v1RestoreMarkdownNodesRequest'
tags:
- MarkdownService
/api/v1/markdown/node:stringify:
post:
summary: StringifyMarkdownNodes stringify the given nodes to plain text content.
operationId: MarkdownService_StringifyMarkdownNodes
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/v1StringifyMarkdownNodesResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1StringifyMarkdownNodesRequest'
tags:
- MarkdownService
/api/v1/markdown:restore:
/api/v1/markdown:parse:
post:
summary: Restores the given nodes to markdown content.
operationId: MarkdownService_RestoreMarkdown
summary: ParseMarkdown parses the given markdown content and returns a list of nodes.
operationId: MarkdownService_ParseMarkdown
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/v1RestoreMarkdownResponse'
$ref: '#/definitions/v1ParseMarkdownResponse'
default:
description: An unexpected error response.
schema:
Expand All @@ -277,7 +298,7 @@ paths:
in: body
required: true
schema:
$ref: '#/definitions/v1RestoreMarkdownRequest'
$ref: '#/definitions/v1ParseMarkdownRequest'
tags:
- MarkdownService
/api/v1/memos:
Expand Down Expand Up @@ -2855,15 +2876,15 @@ definitions:
memo:
type: string
title: "The related memo.\r\nFormat: memos/{id}"
v1RestoreMarkdownRequest:
v1RestoreMarkdownNodesRequest:
type: object
properties:
nodes:
type: array
items:
type: object
$ref: '#/definitions/v1Node'
v1RestoreMarkdownResponse:
v1RestoreMarkdownNodesResponse:
type: object
properties:
markdown:
Expand Down Expand Up @@ -2909,6 +2930,19 @@ definitions:
properties:
content:
type: string
v1StringifyMarkdownNodesRequest:
type: object
properties:
nodes:
type: array
items:
type: object
$ref: '#/definitions/v1Node'
v1StringifyMarkdownNodesResponse:
type: object
properties:
plainText:
type: string
v1SubscriptNode:
type: object
properties:
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ require (
github.com/spf13/cobra v1.8.1
github.com/spf13/viper v1.19.0
github.com/stretchr/testify v1.9.0
github.com/usememos/gomark v0.0.0-20240713015837-e5b687d3d637
github.com/usememos/gomark v0.0.0-20240714122951-35ed01b21822
golang.org/x/crypto v0.25.0
golang.org/x/mod v0.19.0
golang.org/x/net v0.27.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -441,8 +441,8 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/usememos/gomark v0.0.0-20240713015837-e5b687d3d637 h1:DTSf/z7oXyAJXk9bYaTHnRiLlHynWJ/ate9VKJn2awc=
github.com/usememos/gomark v0.0.0-20240713015837-e5b687d3d637/go.mod h1:7CZRoYFQyyljzplOTeyODFR26O+wr0BbnpTWVLGfKJA=
github.com/usememos/gomark v0.0.0-20240714122951-35ed01b21822 h1:4DQs0DJGaXLq+1eP6QfMkvcunyTVJ5OR7LK1cOm2imE=
github.com/usememos/gomark v0.0.0-20240714122951-35ed01b21822/go.mod h1:7CZRoYFQyyljzplOTeyODFR26O+wr0BbnpTWVLGfKJA=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
Expand Down
29 changes: 22 additions & 7 deletions proto/api/v1/markdown_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,24 @@ import "google/api/annotations.proto";
option go_package = "gen/api/v1";

service MarkdownService {
// Parses the given markdown content and returns a list of nodes.
// ParseMarkdown parses the given markdown content and returns a list of nodes.
rpc ParseMarkdown(ParseMarkdownRequest) returns (ParseMarkdownResponse) {
option (google.api.http) = {
post: "/api/v1/markdown/parse"
post: "/api/v1/markdown:parse"
body: "*"
};
}
// Restores the given nodes to markdown content.
rpc RestoreMarkdown(RestoreMarkdownRequest) returns (RestoreMarkdownResponse) {
// RestoreMarkdownNodes restores the given nodes to markdown content.
rpc RestoreMarkdownNodes(RestoreMarkdownNodesRequest) returns (RestoreMarkdownNodesResponse) {
option (google.api.http) = {
post: "/api/v1/markdown:restore"
post: "/api/v1/markdown/node:restore"
body: "*"
};
}
// StringifyMarkdownNodes stringify the given nodes to plain text content.
rpc StringifyMarkdownNodes(StringifyMarkdownNodesRequest) returns (StringifyMarkdownNodesResponse) {
option (google.api.http) = {
post: "/api/v1/markdown/node:stringify"
body: "*"
};
}
Expand All @@ -35,14 +42,22 @@ message ParseMarkdownResponse {
repeated Node nodes = 1;
}

message RestoreMarkdownRequest {
message RestoreMarkdownNodesRequest {
repeated Node nodes = 1;
}

message RestoreMarkdownResponse {
message RestoreMarkdownNodesResponse {
string markdown = 1;
}

message StringifyMarkdownNodesRequest {
repeated Node nodes = 1;
}

message StringifyMarkdownNodesResponse {
string plain_text = 1;
}

message GetLinkMetadataRequest {
string link = 1;
}
Expand Down
Loading

0 comments on commit bcb8843

Please sign in to comment.