fix: gen enum sql.Value issue

This commit is contained in:
Rogee
2025-01-10 09:57:56 +08:00
parent bd6d6bc6e8
commit fa480d33c3
5 changed files with 71 additions and 2 deletions

View File

@@ -189,14 +189,18 @@ func (x *{{.enum.Name}}) Scan(value interface{}) (err error) {
}
}{{end}}
}
return
return
}
{{ if or .sql .sqlnullstr }}
// Value implements the driver Valuer interface.
func (x {{.enum.Name}}) Value() (driver.Value, error) {
{{- if eq .enum.Type "int" "int8" "int16" "int32" "int64" "uint" "uint8" "uint16" "uint32" "uint64" }}
return int64(x), nil
{{- else }}
return {{.enum.Type }}(x), nil
{{- end }}
}
{{ else }}
// Value implements the driver Valuer interface.

View File

@@ -0,0 +1,24 @@
package users
import (
"context"
userv1 "{{.ModuleName}}/pkg/proto/user/v1"
)
// @provider(grpc) userv1.RegisterUserServiceServer
type Users struct{}
func (u *Users) ListUsers(ctx context.Context, in *userv1.ListUsersRequest) (*userv1.ListUsersResponse, error) {
// userv1.UserServiceServer
return &userv1.ListUsersResponse{}, nil
}
// GetUser implements userv1.UserServiceServer
func (u *Users) GetUser(ctx context.Context, in *userv1.GetUserRequest) (*userv1.GetUserResponse, error) {
return &userv1.GetUserResponse{
User: &userv1.User{
Id: in.Id,
},
}, nil
}

View File

@@ -9,6 +9,7 @@ import (
"{{.ModuleName}}/providers/hashids"
"{{.ModuleName}}/providers/http"
"{{.ModuleName}}/providers/http/swagger"
"{{.ModuleName}}/providers/job"
"{{.ModuleName}}/providers/jwt"
"{{.ModuleName}}/providers/postgres"

View File

@@ -0,0 +1,40 @@
syntax = "proto3";
package user.v1;
// User represents a user entity
message User {
int64 id = 1;
string username = 2;
string email = 3;
string phone = 4;
string create_time = 5;
string update_time = 6;
}
message ListUsersRequest {
int32 page_size = 1;
int32 page_number = 2;
}
message ListUsersResponse {
repeated User users = 1;
int32 total = 2;
}
message GetUserRequest {
int64 id = 1;
}
message GetUserResponse {
User user = 1;
}
// UserService provides user-related operations
service UserService {
// ListUsers returns a list of users with pagination
rpc ListUsers(ListUsersRequest) returns (ListUsersResponse) {}
// GetUser returns detailed information about a specific user
rpc GetUser(GetUserRequest) returns (GetUserResponse) {}
}