init push
This commit is contained in:
42
internal/service/fleet_history_service.go
Normal file
42
internal/service/fleet_history_service.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
fleethistory "wucher/internal/domain/fleet_history"
|
||||
)
|
||||
|
||||
type FleetHistoryService struct{ repo fleethistory.Repository }
|
||||
|
||||
func NewFleetHistoryService(repo fleethistory.Repository) *FleetHistoryService {
|
||||
return &FleetHistoryService{repo: repo}
|
||||
}
|
||||
|
||||
func (s *FleetHistoryService) Record(ctx context.Context, helicopterID []byte, entityType string, entityID []byte, action, message string, actor []byte) error {
|
||||
if s == nil || s.repo == nil || len(helicopterID) != 16 {
|
||||
return nil
|
||||
}
|
||||
return s.repo.Create(ctx, &fleethistory.FleetHistory{
|
||||
HelicopterID: append([]byte(nil), helicopterID...),
|
||||
EntityType: entityType,
|
||||
EntityID: append([]byte(nil), entityID...),
|
||||
Action: action,
|
||||
Message: message,
|
||||
Actor: append([]byte(nil), actor...),
|
||||
})
|
||||
}
|
||||
|
||||
func (s *FleetHistoryService) RecordByInspection(ctx context.Context, inspectionID []byte, entityType string, entityID []byte, action, message string, actor []byte) error {
|
||||
if s == nil || s.repo == nil || len(inspectionID) != 16 {
|
||||
return nil
|
||||
}
|
||||
helicopterID, err := s.repo.HelicopterIDByInspection(ctx, inspectionID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return s.Record(ctx, helicopterID, entityType, entityID, action, message, actor)
|
||||
}
|
||||
|
||||
func (s *FleetHistoryService) ListByHelicopter(ctx context.Context, helicopterID []byte, limit, offset int) ([]fleethistory.FleetHistory, int64, error) {
|
||||
return s.repo.ListByHelicopter(ctx, helicopterID, limit, offset)
|
||||
}
|
||||
Reference in New Issue
Block a user