summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/model/.gitignore2
-rw-r--r--internal/server/server.go16
-rw-r--r--internal/server/setup.go34
-rw-r--r--internal/server/task.go33
-rw-r--r--internal/server/user.go34
5 files changed, 119 insertions, 0 deletions
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
+}