init: 1.0.0
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
syntax = "v1"
|
||||
|
||||
info (
|
||||
title: "coupon API"
|
||||
desc: "API for ppanel"
|
||||
author: "Tension"
|
||||
email: "tension@ppanel.com"
|
||||
version: "0.0.1"
|
||||
)
|
||||
|
||||
import "../types.api"
|
||||
|
||||
type (
|
||||
CreateCouponRequest {
|
||||
Name string `json:"name" validate:"required"`
|
||||
Code string `json:"code,omitempty"`
|
||||
Count int64 `json:"count,omitempty"`
|
||||
Type uint8 `json:"type" validate:"required"`
|
||||
Discount int64 `json:"discount" validate:"required"`
|
||||
StartTime int64 `json:"start_time" validate:"required"`
|
||||
ExpireTime int64 `json:"expire_time" validate:"required"`
|
||||
UserLimit int64 `json:"user_limit,omitempty"`
|
||||
Subscribe []int64 `json:"subscribe,omitempty"`
|
||||
UsedCount int64 `json:"used_count,omitempty"`
|
||||
Enable *bool `json:"enable,omitempty"`
|
||||
}
|
||||
UpdateCouponRequest {
|
||||
Id int64 `json:"id" validate:"required"`
|
||||
Name string `json:"name" validate:"required"`
|
||||
Code string `json:"code,omitempty"`
|
||||
Count int64 `json:"count,omitempty"`
|
||||
Type uint8 `json:"type" validate:"required"`
|
||||
Discount int64 `json:"discount" validate:"required"`
|
||||
StartTime int64 `json:"start_time" validate:"required"`
|
||||
ExpireTime int64 `json:"expire_time" validate:"required"`
|
||||
UserLimit int64 `json:"user_limit,omitempty"`
|
||||
Subscribe []int64 `json:"subscribe,omitempty"`
|
||||
UsedCount int64 `json:"used_count,omitempty"`
|
||||
Enable *bool `json:"enable,omitempty"`
|
||||
}
|
||||
DeleteCouponRequest {
|
||||
Id int64 `json:"id" validate:"required"`
|
||||
}
|
||||
BatchDeleteCouponRequest {
|
||||
Ids []int64 `json:"ids" validate:"required"`
|
||||
}
|
||||
GetCouponListRequest {
|
||||
Page int64 `form:"page" validate:"required"`
|
||||
Size int64 `form:"size" validate:"required"`
|
||||
Subscribe int64 `form:"subscribe,omitempty"`
|
||||
Search string `form:"search,omitempty"`
|
||||
}
|
||||
GetCouponListResponse {
|
||||
Total int64 `json:"total"`
|
||||
List []Coupon `json:"list"`
|
||||
}
|
||||
)
|
||||
|
||||
@server (
|
||||
prefix: v1/admin/coupon
|
||||
group: admin/coupon
|
||||
middleware: AuthMiddleware
|
||||
)
|
||||
service ppanel {
|
||||
@doc "Create coupon"
|
||||
@handler CreateCoupon
|
||||
post / (CreateCouponRequest)
|
||||
|
||||
@doc "Update coupon"
|
||||
@handler UpdateCoupon
|
||||
put / (UpdateCouponRequest)
|
||||
|
||||
@doc "Delete coupon"
|
||||
@handler DeleteCoupon
|
||||
delete / (DeleteCouponRequest)
|
||||
|
||||
@doc "Batch delete coupon"
|
||||
@handler BatchDeleteCoupon
|
||||
delete /batch (BatchDeleteCouponRequest)
|
||||
|
||||
@doc "Get coupon list"
|
||||
@handler GetCouponList
|
||||
get /list (GetCouponListRequest) returns (GetCouponListResponse)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user