Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ generate-mocks: install-mockgen clean-mocks
@echo "$(BLUE)Gerando mock para Cache...$(NC)"
@$(MOCKGEN) -source=pkg/cachemanager/adapter.go -destination=pkg/cachemanager/cache_mock.go -package=cachemanager
@echo "$(BLUE)Gerando mock para Backoffice Repository...$(NC)"
@$(MOCKGEN) -source=internal/backoffice/interfaces.go -destination=internal/backoffice/repository_mock.go -package=backoffice
@$(MOCKGEN) -source=internal/backoffice/register_consumer.go -destination=internal/backoffice/repository_mock.go -package=backoffice
@echo "$(BLUE)Gerando mock para Publisher...$(NC)"
@$(MOCKGEN) -source=pkg/pubadapter/adapter.go -destination=pkg/publisher/publisher_task_mock.go -package=publisher
@echo "$(BLUE)Gerando mock para Publisher em pubadapter...$(NC)"
Expand Down
3 changes: 1 addition & 2 deletions cmd/setup/backoffice/httpserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,8 @@ func Start(

routes := []httpadapter.HttpHandle{
backoffice.GetHealthCheckHandler(),
backoffice.CreateConsumer(cache, store),
backoffice.PatchConsumer(cache, store),
backoffice.GetEvent(cache, store),
backoffice.GetPathEventHandle(cache, store),
backoffice.GetEvents(cache, store),
backoffice.GetRegisterTaskConsumerArchived(cache, store),
backoffice.RemoveEvent(cache, store),
Expand Down
2 changes: 2 additions & 0 deletions cmd/setup/middleware/middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ func CORSMiddlewareWithConfig(config CORSConfig) func(http.Handler) http.Handler
return
}

w.Header().Set("Content-Type", "application/json")

next.ServeHTTP(w, r)
})
}
Expand Down
13 changes: 2 additions & 11 deletions example/example.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Example create event
### Example create or update event

curl -X POST \
curl -X PATCH \
http://localhost:8080/api/v1/event/consumer \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
Expand Down Expand Up @@ -40,12 +40,3 @@ curl -i -X DELETE \
curl -X GET \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
http://localhost:8080/api/v1/insights | jq

### PATCH event

curl -X PATCH \
'http://localhost:8080/api/v1/event/da4543c5-3cca-4151-8737-5f4cf7fa702f' \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d @example/path_event_data.json
2 changes: 1 addition & 1 deletion internal/backoffice/interfaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
)

type Repository interface {
Save(ctx context.Context, event domain.Event) error
Upsert(ctx context.Context, event domain.Event) error
GetInternalEvent(ctx context.Context, eventName string) (domain.Event, error)
GetInternalEvents(ctx context.Context, filters domain.FilterEvents) ([]domain.Event, error)
DisabledEvent(ctx context.Context, eventID uuid.UUID) error
Expand Down
50 changes: 0 additions & 50 deletions internal/backoffice/path_event_handle.go

This file was deleted.

155 changes: 0 additions & 155 deletions internal/backoffice/path_event_handle_test.go

This file was deleted.

22 changes: 15 additions & 7 deletions internal/backoffice/register_consumer.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/IsaacDSC/gqueue/internal/cfg"
"github.com/IsaacDSC/gqueue/internal/domain"
"github.com/IsaacDSC/gqueue/pkg/cachemanager"
"github.com/IsaacDSC/gqueue/pkg/ctxlogger"
"github.com/IsaacDSC/gqueue/pkg/httpadapter"
"github.com/google/uuid"
)
Expand All @@ -33,10 +34,13 @@ func (e *EventDto) ToDomain() domain.Event {
}
}

func CreateConsumer(cc cachemanager.Cache, repo Repository) httpadapter.HttpHandle {
func PatchConsumer(cc cachemanager.Cache, repo Repository) httpadapter.HttpHandle {
return httpadapter.HttpHandle{
Path: "POST /api/v1/event/consumer",
Path: "PATCH /api/v1/event/consumer",
Handler: func(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
l := ctxlogger.GetLogger(ctx)

var payload EventDto
defer r.Body.Close()
if err := json.NewDecoder(r.Body).Decode(&payload); err != nil {
Expand All @@ -50,21 +54,25 @@ func CreateConsumer(cc cachemanager.Cache, repo Repository) httpadapter.HttpHand
return
}

ctx := r.Context()
key := eventKey(cc, event.ServiceName, event.Name)
defaultTTL := cc.GetDefaultTTL()

if err := cc.Hydrate(ctx, key, &payload, defaultTTL, func(ctx context.Context) (any, error) {
if err := repo.Save(ctx, event); err != nil {
return domain.Event{}, fmt.Errorf("failed to create internal event: %w", err)
if err := repo.Upsert(ctx, event); err != nil {
return domain.Event{}, fmt.Errorf("failed to upsert internal event: %w", err)
}
return payload, nil
}); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
l.Error("failed to save consumer", "error", err)
http.Error(w, "failed to save consumer", http.StatusInternalServerError)
return
}

w.WriteHeader(http.StatusCreated)
w.WriteHeader(http.StatusOK)
if err := json.NewEncoder(w).Encode(payload); err != nil {
l.Error("failed to encode response", "error", err)
http.Error(w, "failed to encode response", http.StatusInternalServerError)
}
},
}
}
4 changes: 2 additions & 2 deletions internal/backoffice/register_event_consumer_archived.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ func GetRegisterTaskConsumerArchived(cc cachemanager.Cache, repo Repository) htt
key := cc.Key(typeEvent, payload.State, payload.ServiceName, payload.Name)

if err := cc.Hydrate(ctx, key, &payload, cc.GetDefaultTTL(), func(ctx context.Context) (any, error) {
if err := repo.Save(ctx, payload); err != nil {
return domain.Event{}, fmt.Errorf("failed to create internal event: %w", err)
if err := repo.Upsert(ctx, payload); err != nil {
return domain.Event{}, fmt.Errorf("failed to upsert internal event: %w", err)
}
return payload, nil
}); err != nil {
Expand Down
28 changes: 14 additions & 14 deletions internal/backoffice/repository_mock.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading