From 5389e1a5d26fdbf2441fa5a1e101999e8449b9d1 Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Mon, 3 Feb 2025 01:12:45 -0500 Subject: Batman --- internal/server/model/.gitignore | 2 ++ internal/server/server.go | 16 ++++++++++++++++ internal/server/setup.go | 34 ++++++++++++++++++++++++++++++++++ internal/server/task.go | 33 +++++++++++++++++++++++++++++++++ internal/server/user.go | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 119 insertions(+) create mode 100644 internal/server/model/.gitignore create mode 100644 internal/server/server.go create mode 100644 internal/server/setup.go create mode 100644 internal/server/task.go create mode 100644 internal/server/user.go (limited to 'internal/server') diff --git a/internal/server/model/.gitignore b/internal/server/model/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/internal/server/model/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/internal/server/server.go b/internal/server/server.go new file mode 100644 index 0000000..70e5861 --- /dev/null +++ b/internal/server/server.go @@ -0,0 +1,16 @@ +package server + +import ( + "database/sql" + "errors" + + m "github.com/ChausseBenjamin/rafta/internal/server/model" +) + +var ErrOutOfBoundsPort = errors.New("port out of bounds") + +// Implements ComsServer interface +type Service struct { + store *sql.DB + m.UnimplementedRaftaServer +} diff --git a/internal/server/setup.go b/internal/server/setup.go new file mode 100644 index 0000000..551cd95 --- /dev/null +++ b/internal/server/setup.go @@ -0,0 +1,34 @@ +package server + +import ( + "database/sql" + "fmt" + "log/slog" + "net" + + "github.com/ChausseBenjamin/rafta/internal/logging" + m "github.com/ChausseBenjamin/rafta/internal/server/model" + "github.com/ChausseBenjamin/rafta/internal/tagging" + "google.golang.org/grpc" +) + +func Setup(port int64, storage *sql.DB) (*grpc.Server, net.Listener, error) { + lis, err := net.Listen( + "tcp", + fmt.Sprintf(":%d", port), + ) + if err != nil { + slog.Error("Unable to create listener", logging.ErrKey, err) + return nil, nil, err + } + + grpcServer := grpc.NewServer( + grpc.ChainUnaryInterceptor( + tagging.UnaryInterceptor, + ), + ) + raftaService := &Service{store: storage} + m.RegisterRaftaServer(grpcServer, raftaService) + + return grpcServer, lis, nil +} diff --git a/internal/server/task.go b/internal/server/task.go new file mode 100644 index 0000000..b8cf0b8 --- /dev/null +++ b/internal/server/task.go @@ -0,0 +1,33 @@ +package server + +import ( + "context" + "log/slog" + + m "github.com/ChausseBenjamin/rafta/internal/server/model" + "google.golang.org/protobuf/types/known/emptypb" +) + +func (s Service) GetUserTasks(ctx context.Context, id *m.UserID) (*m.TaskList, error) { + slog.ErrorContext(ctx, "GetUserTasks not implemented yet") + return nil, nil +} + +func (s Service) GetTask(ctx context.Context, id *m.TaskID) (*m.Task, error) { + return nil, nil +} + +func (s Service) DeleteTask(ctx context.Context, id *m.TaskID) (*emptypb.Empty, error) { + slog.ErrorContext(ctx, "DeleteTask not implemented yet") + return nil, nil +} + +func (s Service) UpdateTask(ctx context.Context, t *m.Task) (*m.Task, error) { + slog.ErrorContext(ctx, "UpdateTask not implemented yet") + return t, nil +} + +func (s Service) CreateTask(ctx context.Context, data *m.TaskData) (*m.Task, error) { + slog.ErrorContext(ctx, "CreateTask not implemented yet") + return nil, nil +} diff --git a/internal/server/user.go b/internal/server/user.go new file mode 100644 index 0000000..c4a97c4 --- /dev/null +++ b/internal/server/user.go @@ -0,0 +1,34 @@ +package server + +import ( + "context" + "log/slog" + + m "github.com/ChausseBenjamin/rafta/internal/server/model" + "google.golang.org/protobuf/types/known/emptypb" +) + +func (s Service) GetAllUsers(ctx context.Context, empty *emptypb.Empty) (*m.UserList, error) { + slog.ErrorContext(ctx, "GetAllUsers not implemented yet") + return nil, nil +} + +func (s Service) GetUser(ctx context.Context, id *m.UserID) (*m.User, error) { + slog.ErrorContext(ctx, "GetUser not implemented yet") + return nil, nil +} + +func (s Service) DeleteUser(ctx context.Context, id *m.UserID) (*emptypb.Empty, error) { + slog.ErrorContext(ctx, "DeleteUser not implemented yet") + return nil, nil +} + +func (s Service) UpdateUser(ctx context.Context, u *m.User) (*m.User, error) { + slog.ErrorContext(ctx, "UpdateUser not implemented yet") + return nil, nil +} + +func (s Service) CreateUser(ctx context.Context, data *m.UserData) (*m.User, error) { + slog.ErrorContext(ctx, "CreateUser not implemented yet") + return nil, nil +} -- cgit v1.2.3