106 lines
3.4 KiB
Plaintext
106 lines
3.4 KiB
Plaintext
syntax = "v1"
|
|
|
|
info(
|
|
title: "App Auth Api"
|
|
desc: "API for ppanel"
|
|
author: "Tension"
|
|
email: "tension@ppanel.com"
|
|
version: "0.0.1"
|
|
)
|
|
|
|
import (
|
|
"../types.api"
|
|
)
|
|
|
|
type (
|
|
AppAuthCheckRequest {
|
|
Method string `json:"method" validate:"required" validate:"required,oneof=device email mobile"`
|
|
Account string `json:"account"`
|
|
Identifier string `json:"identifier" validate:"required"`
|
|
UserAgent string `json:"user_agent" validate:"required,oneof=windows mac linux android ios harmony"`
|
|
AreaCode string `json:"area_code"`
|
|
}
|
|
AppAuthCheckResponse {
|
|
Status bool
|
|
}
|
|
AppAuthRequest {
|
|
Method string `json:"method" validate:"required" validate:"required,oneof=device email mobile"`
|
|
Account string `json:"account"`
|
|
Password string `json:"password"`
|
|
Identifier string `json:"identifier" validate:"required"`
|
|
UserAgent string `json:"user_agent" validate:"required,oneof=windows mac linux android ios harmony"`
|
|
Code string `json:"code"`
|
|
Invite string `json:"invite"`
|
|
AreaCode string `json:"area_code"`
|
|
CfToken string `json:"cf_token,optional"`
|
|
}
|
|
AppAuthRespone {
|
|
Token string `json:"token"`
|
|
}
|
|
AppSendCodeRequest {
|
|
Method string `json:"method" validate:"required" validate:"required,oneof=email mobile"`
|
|
Account string `json:"account"`
|
|
AreaCode string `json:"area_code"`
|
|
CfToken string `json:"cf_token,optional"`
|
|
}
|
|
AppSendCodeRespone {
|
|
Status bool `json:"status"`
|
|
Code string `json:"code,omitempty"`
|
|
}
|
|
AppConfigRequest {
|
|
UserAgent string `json:"user_agent" validate:"required,oneof=windows mac linux android ios harmony"`
|
|
}
|
|
AppConfigResponse {
|
|
EncryptionKey string `json:"encryption_key"`
|
|
EncryptionMethod string `json:"encryption_method"`
|
|
Domains []string `json:"domains"`
|
|
StartupPicture string `json:"startup_picture"`
|
|
StartupPictureSkipTime int64 `json:"startup_picture_skip_time"`
|
|
Application AppInfo `json:"applications"`
|
|
OfficialEmail string `json:"official_email"`
|
|
OfficialWebsite string `json:"official_website"`
|
|
OfficialTelegram string `json:"official_telegram"`
|
|
OfficialTelephone string `json:"official_telephone"`
|
|
InvitationLink string `json:"invitation_link"`
|
|
KrWebsiteId string `json:"kr_website_id"`
|
|
}
|
|
AppInfo {
|
|
Id int64 `json:"id"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Url string `json:"url"`
|
|
Version string `json:"version"`
|
|
VersionReview string `json:"version_review"`
|
|
VersionDescription string `json:"version_description"`
|
|
IsDefault bool `json:"is_default"`
|
|
}
|
|
)
|
|
|
|
@server(
|
|
prefix: v1/app/auth
|
|
group: app/auth
|
|
middleware: AppMiddleware
|
|
)
|
|
service ppanel {
|
|
@doc "Check Account"
|
|
@handler Check
|
|
post /check (AppAuthCheckRequest) returns (AppAuthCheckResponse)
|
|
|
|
@doc "Login"
|
|
@handler Login
|
|
post /login (AppAuthRequest) returns (AppAuthRespone)
|
|
|
|
@doc "Register"
|
|
@handler Register
|
|
post /register (AppAuthRequest) returns (AppAuthRespone)
|
|
|
|
@doc "Reset Password"
|
|
@handler ResetPassword
|
|
post /reset_password (AppAuthRequest) returns (AppAuthRespone)
|
|
|
|
@doc "GetAppConfig"
|
|
@handler GetAppConfig
|
|
post /config (AppConfigRequest) returns (AppConfigResponse)
|
|
}
|
|
|