mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-03-20 19:50:47 -05:00
* feat: adds support for multiple slot types, primarily motivated by durable slots --------- Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
55 lines
1.9 KiB
Go
55 lines
1.9 KiB
Go
package repository
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/google/uuid"
|
|
|
|
"github.com/hatchet-dev/hatchet/pkg/repository/sqlcv1"
|
|
"github.com/hatchet-dev/hatchet/pkg/telemetry"
|
|
)
|
|
|
|
type assignmentRepository struct {
|
|
*sharedRepository
|
|
}
|
|
|
|
func newAssignmentRepository(shared *sharedRepository) *assignmentRepository {
|
|
return &assignmentRepository{
|
|
sharedRepository: shared,
|
|
}
|
|
}
|
|
|
|
func (d *assignmentRepository) ListActionsForWorkers(ctx context.Context, tenantId uuid.UUID, workerIds []uuid.UUID) ([]*sqlcv1.ListActionsForWorkersRow, error) {
|
|
ctx, span := telemetry.NewSpan(ctx, "list-actions-for-workers")
|
|
defer span.End()
|
|
|
|
return d.queries.ListActionsForWorkers(ctx, d.pool, sqlcv1.ListActionsForWorkersParams{
|
|
Tenantid: tenantId,
|
|
Workerids: workerIds,
|
|
})
|
|
}
|
|
|
|
func (d *assignmentRepository) ListAvailableSlotsForWorkers(ctx context.Context, tenantId uuid.UUID, params sqlcv1.ListAvailableSlotsForWorkersParams) ([]*sqlcv1.ListAvailableSlotsForWorkersRow, error) {
|
|
ctx, span := telemetry.NewSpan(ctx, "list-available-slots-for-workers")
|
|
defer span.End()
|
|
|
|
return d.queries.ListAvailableSlotsForWorkers(ctx, d.pool, params)
|
|
}
|
|
|
|
func (d *assignmentRepository) ListAvailableSlotsForWorkersAndTypes(ctx context.Context, tenantId uuid.UUID, params sqlcv1.ListAvailableSlotsForWorkersAndTypesParams) ([]*sqlcv1.ListAvailableSlotsForWorkersAndTypesRow, error) {
|
|
ctx, span := telemetry.NewSpan(ctx, "list-available-slots-for-workers-and-types")
|
|
defer span.End()
|
|
|
|
return d.queries.ListAvailableSlotsForWorkersAndTypes(ctx, d.pool, params)
|
|
}
|
|
|
|
func (d *assignmentRepository) ListWorkerSlotConfigs(ctx context.Context, tenantId uuid.UUID, workerIds []uuid.UUID) ([]*sqlcv1.ListWorkerSlotConfigsRow, error) {
|
|
ctx, span := telemetry.NewSpan(ctx, "list-worker-slot-configs")
|
|
defer span.End()
|
|
|
|
return d.queries.ListWorkerSlotConfigs(ctx, d.pool, sqlcv1.ListWorkerSlotConfigsParams{
|
|
Tenantid: tenantId,
|
|
Workerids: workerIds,
|
|
})
|
|
}
|