79 lines
1.9 KiB
Plaintext
79 lines
1.9 KiB
Plaintext
syntax = "v1"
|
|
|
|
info (
|
|
title: "Document API"
|
|
desc: "API for ppanel"
|
|
author: "Tension"
|
|
email: "tension@ppanel.com"
|
|
version: "0.0.1"
|
|
)
|
|
|
|
import "../types.api"
|
|
|
|
type (
|
|
CreateDocumentRequest {
|
|
Title string `json:"title" validate:"required"`
|
|
Content string `json:"content" validate:"required"`
|
|
Tags []string `json:"tags,omitempty" `
|
|
Show *bool `json:"show"`
|
|
}
|
|
UpdateDocumentRequest {
|
|
Id int64 `json:"id" validate:"required"`
|
|
Title string `json:"title" validate:"required"`
|
|
Content string `json:"content" validate:"required"`
|
|
Tags []string `json:"tags,omitempty" `
|
|
Show *bool `json:"show"`
|
|
}
|
|
DeleteDocumentRequest {
|
|
Id int64 `json:"id" validate:"required"`
|
|
}
|
|
BatchDeleteDocumentRequest {
|
|
Ids []int64 `json:"ids" validate:"required"`
|
|
}
|
|
GetDocumentListRequest {
|
|
Page int64 `form:"page" validate:"required"`
|
|
Size int64 `form:"size" validate:"required"`
|
|
Tag string `form:"tag,omitempty"`
|
|
Search string `form:"search,omitempty"`
|
|
}
|
|
GetDocumentListResponse {
|
|
Total int64 `json:"total"`
|
|
List []Document `json:"list"`
|
|
}
|
|
GetDocumentDetailRequest {
|
|
Id int64 `json:"id" validate:"required"`
|
|
}
|
|
)
|
|
|
|
@server (
|
|
prefix: v1/admin/document
|
|
group: admin/document
|
|
middleware: AuthMiddleware
|
|
)
|
|
service ppanel {
|
|
@doc "Create document"
|
|
@handler CreateDocument
|
|
post / (CreateDocumentRequest)
|
|
|
|
@doc "Update document"
|
|
@handler UpdateDocument
|
|
put / (UpdateDocumentRequest)
|
|
|
|
@doc "Delete document"
|
|
@handler DeleteDocument
|
|
delete / (DeleteDocumentRequest)
|
|
|
|
@doc "Batch delete document"
|
|
@handler BatchDeleteDocument
|
|
delete /batch (BatchDeleteDocumentRequest)
|
|
|
|
@doc "Get document list"
|
|
@handler GetDocumentList
|
|
get /list (GetDocumentListRequest) returns (GetDocumentListResponse)
|
|
|
|
@doc "Get document detail"
|
|
@handler GetDocumentDetail
|
|
get /detail (GetDocumentDetailRequest) returns (Document)
|
|
}
|
|
|