add: envoy redis
This commit is contained in:
@@ -1,26 +0,0 @@
|
||||
syntax = "v1"
|
||||
|
||||
info (
|
||||
author: "Asadz"
|
||||
date: "2024-06-19"
|
||||
version: "1.0"
|
||||
)
|
||||
|
||||
type (
|
||||
UserInfoReq {
|
||||
UserId int64 `json:"userId"`
|
||||
}
|
||||
UserInfoResp {
|
||||
UserId int64 `json:"userId"`
|
||||
Nickname string `json:"nickname"`
|
||||
}
|
||||
)
|
||||
|
||||
service user-api {
|
||||
@doc (
|
||||
summary: "Get user infomaction by user id"
|
||||
)
|
||||
@handler userInfo
|
||||
post /user/info (UserInfoReq) returns (UserInfoResp)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
syntax = "v1"
|
||||
|
||||
info (
|
||||
author: "Asadz"
|
||||
date: "2024-06-19"
|
||||
version: "1.0"
|
||||
)
|
||||
|
||||
type (
|
||||
RegisterReq {
|
||||
Username string `json:"username" binding:"required,min=3,max=50"`
|
||||
Password string `json:"password" binding:"required,min=6,max=128"`
|
||||
Email string `json:"email,omitempty" binding:"omitempty,email"`
|
||||
Phone string `json:"phone,omitempty" binding:"omitempty,len=11"`
|
||||
}
|
||||
RegisterResp {
|
||||
UserId int64 `json:"userId"`
|
||||
Username string `json:"username"`
|
||||
Email string `json:"email"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
LoginReq {
|
||||
Username string `json:"username" binding:"required"`
|
||||
Password string `json:"password" binding:"required"`
|
||||
}
|
||||
LoginResp {
|
||||
UserId int64 `json:"userId"`
|
||||
Username string `json:"username"`
|
||||
Email string `json:"email"`
|
||||
Token string `json:"token"`
|
||||
Expires int64 `json:"expires"`
|
||||
}
|
||||
GetUserInfoReq {
|
||||
UserId int64 `path:"userId" binding:"required,gt=0"`
|
||||
}
|
||||
UserInfo {
|
||||
UserId int64 `json:"userId"`
|
||||
Username string `json:"username"`
|
||||
Email string `json:"email"`
|
||||
Phone string `json:"phone"`
|
||||
Avatar string `json:"avatar"`
|
||||
Status int `json:"status"`
|
||||
CreateAt int64 `json:"createAt"`
|
||||
UpdateAt int64 `json:"updateAt"`
|
||||
}
|
||||
UpdateUserInfoReq {
|
||||
UserId int64 `path:"userId" binding:"required,gt=0"`
|
||||
Email string `json:"email" binding:"omitempty,email"`
|
||||
Phone string `json:"phone" binding:"omitempty,len=11"`
|
||||
Avatar string `json:"avatar" binding:"omitempty,url"`
|
||||
}
|
||||
UpdateUserInfoResp {
|
||||
UserId int64 `json:"userId"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
UpdatePasswordReq {
|
||||
UserId int64 `path:"userId" binding:"required,gt=0"`
|
||||
OldPassword string `json:"oldPassword" binding:"required"`
|
||||
NewPassword string `json:"newPassword" binding:"required,min=6,max=128"`
|
||||
}
|
||||
UpdatePasswordResp {
|
||||
Message string `json:"message"`
|
||||
}
|
||||
LogoutReq {
|
||||
UserId int64 `path:"userId" binding:"required,gt=0"`
|
||||
}
|
||||
LogoutResp {
|
||||
Message string `json:"message"`
|
||||
}
|
||||
ErrorResp {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
)
|
||||
|
||||
@server (
|
||||
group: user
|
||||
prefix: /api/users
|
||||
middleware: Logger
|
||||
)
|
||||
service user-api {
|
||||
@doc (
|
||||
summary: "用户注册接口"
|
||||
description: "通过用户名、密码、邮箱、电话号码注册新用户账户"
|
||||
)
|
||||
@handler Register
|
||||
post /register (RegisterReq) returns (RegisterResp)
|
||||
|
||||
@doc (
|
||||
summary: "用户登录接口"
|
||||
description: "使用用户名和密码进行登录,返回访问令牌和用户信息"
|
||||
)
|
||||
@handler Login
|
||||
post /login (LoginReq) returns (LoginResp)
|
||||
|
||||
@doc (
|
||||
summary: "获取用户信息"
|
||||
description: "根据用户ID获取用户的详细信息,包含个人资料和账户状态"
|
||||
)
|
||||
@handler GetUserInfo
|
||||
get /:userId (GetUserInfoReq) returns (UserInfo)
|
||||
|
||||
@doc (
|
||||
summary: "修改用户信息"
|
||||
description: "修改用户的邮箱、电话号码、头像等信息"
|
||||
)
|
||||
@handler UpdateUserInfo
|
||||
put /:userId (UpdateUserInfoReq) returns (UpdateUserInfoResp)
|
||||
|
||||
@doc (
|
||||
summary: "修改用户密码"
|
||||
description: "验证旧密码后修改为新密码,需要提供原密码"
|
||||
)
|
||||
@handler UpdatePassword
|
||||
put /:userId/password (UpdatePasswordReq) returns (UpdatePasswordResp)
|
||||
|
||||
@doc (
|
||||
summary: "用户登出"
|
||||
description: "清除用户的登录会话,使用户令牌失效"
|
||||
)
|
||||
@handler Logout
|
||||
post /:userId/logout (LogoutReq) returns (LogoutResp)
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
message GetUserInfoReq {
|
||||
int64 id = 1;
|
||||
}
|
||||
|
||||
message GetUserInfoResp {
|
||||
int64 id = 1;
|
||||
string nickname = 2;
|
||||
}
|
||||
|
||||
service Usercenter {
|
||||
rpc GetUserInfo(GetUserInfoReq) returns (GetUserInfoResp);
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option go_package ="./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
// ------------------------------------
|
||||
// Messages
|
||||
// ------------------------------------
|
||||
|
||||
//--------------------------------users--------------------------------
|
||||
message Users {
|
||||
string userId = 1; //userId
|
||||
string username = 2; //username
|
||||
string passwd = 3; //passwd
|
||||
string nickname = 4; //nickname
|
||||
string phone = 5; //phone
|
||||
int64 roleType = 6; //roleType
|
||||
bool isVerified = 7; //isVerified
|
||||
bool state = 8; //state
|
||||
int64 createdAt = 9; //createdAt
|
||||
int64 updatedAt = 10; //updatedAt
|
||||
int64 deletedAt = 11; //deletedAt
|
||||
}
|
||||
|
||||
message AddUsersReq {
|
||||
string userId = 1; //userId
|
||||
string username = 2; //username
|
||||
string passwd = 3; //passwd
|
||||
string nickname = 4; //nickname
|
||||
string phone = 5; //phone
|
||||
int64 roleType = 6; //roleType
|
||||
bool isVerified = 7; //isVerified
|
||||
bool state = 8; //state
|
||||
int64 createdAt = 9; //createdAt
|
||||
int64 updatedAt = 10; //updatedAt
|
||||
int64 deletedAt = 11; //deletedAt
|
||||
}
|
||||
|
||||
message AddUsersResp {
|
||||
}
|
||||
|
||||
message UpdateUsersReq {
|
||||
string userId = 1; //userId
|
||||
string username = 2; //username
|
||||
string passwd = 3; //passwd
|
||||
string nickname = 4; //nickname
|
||||
string phone = 5; //phone
|
||||
int64 roleType = 6; //roleType
|
||||
bool isVerified = 7; //isVerified
|
||||
bool state = 8; //state
|
||||
int64 createdAt = 9; //createdAt
|
||||
int64 updatedAt = 10; //updatedAt
|
||||
int64 deletedAt = 11; //deletedAt
|
||||
}
|
||||
|
||||
message UpdateUsersResp {
|
||||
}
|
||||
|
||||
message DelUsersReq {
|
||||
int64 id = 1; //id
|
||||
}
|
||||
|
||||
message DelUsersResp {
|
||||
}
|
||||
|
||||
message GetUsersByIdReq {
|
||||
int64 id = 1; //id
|
||||
}
|
||||
|
||||
message GetUsersByIdResp {
|
||||
Users users = 1; //users
|
||||
}
|
||||
|
||||
message SearchUsersReq {
|
||||
int64 page = 1; //page
|
||||
int64 limit = 2; //limit
|
||||
string userId = 3; //userId
|
||||
string username = 4; //username
|
||||
string passwd = 5; //passwd
|
||||
string nickname = 6; //nickname
|
||||
string phone = 7; //phone
|
||||
int64 roleType = 8; //roleType
|
||||
bool isVerified = 9; //isVerified
|
||||
bool state = 10; //state
|
||||
int64 createdAt = 11; //createdAt
|
||||
int64 updatedAt = 12; //updatedAt
|
||||
int64 deletedAt = 13; //deletedAt
|
||||
}
|
||||
|
||||
message SearchUsersResp {
|
||||
repeated Users users = 1; //users
|
||||
}
|
||||
|
||||
message GetUserByUsernameReq {
|
||||
string username = 1; //username
|
||||
}
|
||||
|
||||
message GetUserByUsernameResp {
|
||||
Users users = 1; //users
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Rpc Func
|
||||
// ------------------------------------
|
||||
|
||||
service usercenter{
|
||||
|
||||
//-----------------------users-----------------------
|
||||
rpc AddUsers(AddUsersReq) returns (AddUsersResp);
|
||||
rpc UpdateUsers(UpdateUsersReq) returns (UpdateUsersResp);
|
||||
rpc DelUsers(DelUsersReq) returns (DelUsersResp);
|
||||
rpc GetUsersById(GetUsersByIdReq) returns (GetUsersByIdResp);
|
||||
rpc GetUserByUsername(GetUserByUsernameReq) returns (GetUserByUsernameResp);
|
||||
rpc SearchUsers(SearchUsersReq) returns (SearchUsersResp);
|
||||
}
|
||||
+14
-9
@@ -1,13 +1,18 @@
|
||||
create extension if not exists "uuid-ossp";
|
||||
create extension if not exists "pg_trgm";
|
||||
|
||||
CREATE TABLE users (
|
||||
user_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
username VARCHAR(50) UNIQUE NOT NULL,
|
||||
passwd VARCHAR(255) NOT NULL,
|
||||
nikename VARCHAR(50) NOT NULL,
|
||||
phone VARCHAR(20) UNIQUE NOT NULL,
|
||||
role_type SMALLINT NOT NULL, -- 1:玩家, 2:打手, 3:店长
|
||||
is_verified BOOLEAN DEFAULT false,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
|
||||
create table users
|
||||
(
|
||||
user_id uuid primary key default uuid_generate_v4(),
|
||||
username VARCHAR(50) UNIQUE NOT NULL,
|
||||
passwd VARCHAR(255) NOT NULL,
|
||||
nickname VARCHAR(50) NOT NULL,
|
||||
phone VARCHAR(20) UNIQUE NOT NULL,
|
||||
role_type SMALLINT NOT NULL, -- 1:玩家, 2:打手, 3:店长
|
||||
is_verified BOOLEAN DEFAULT false,
|
||||
state BOOLEAN NOT NULL DEFAULT true,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at timestamp with time zone default current_timestamp,
|
||||
deleted_at timestamp with time zone
|
||||
);
|
||||
Reference in New Issue
Block a user