diff --git a/dal/db_query/queries.sql b/dal/db_query/queries.sql index 8864831..eccf07e 100644 --- a/dal/db_query/queries.sql +++ b/dal/db_query/queries.sql @@ -1597,5 +1597,5 @@ VALUES ($1, $2, $3, $4); -- name: DeleteYclientsTimeslots :exec UPDATE YclientsTimeSlots SET Deleted = true WHERE ID = ANY($1::bigint[]); --- name: GetTimeslotsByIDYclients :many +-- name: GetTimeslotsByIDYclients :one SELECT * FROM YclientsTimeSlots WHERE SalonID = $1 AND Deleted = false; \ No newline at end of file diff --git a/dal/sqlcgen/queries.sql.go b/dal/sqlcgen/queries.sql.go index 17fd7f9..f1b2e33 100644 --- a/dal/sqlcgen/queries.sql.go +++ b/dal/sqlcgen/queries.sql.go @@ -4041,39 +4041,23 @@ func (q *Queries) GetTagsWithPagination(ctx context.Context, arg GetTagsWithPagi return items, nil } -const getTimeslotsByIDYclients = `-- name: GetTimeslotsByIDYclients :many +const getTimeslotsByIDYclients = `-- name: GetTimeslotsByIDYclients :one SELECT id, salonid, isenabled, weekdayssettings, datessettings, deleted, createdat FROM YclientsTimeSlots WHERE SalonID = $1 AND Deleted = false ` -func (q *Queries) GetTimeslotsByIDYclients(ctx context.Context, salonid int32) ([]Yclientstimeslot, error) { - rows, err := q.db.QueryContext(ctx, getTimeslotsByIDYclients, salonid) - if err != nil { - return nil, err - } - defer rows.Close() - var items []Yclientstimeslot - for rows.Next() { - var i Yclientstimeslot - if err := rows.Scan( - &i.ID, - &i.Salonid, - &i.Isenabled, - &i.Weekdayssettings, - &i.Datessettings, - &i.Deleted, - &i.Createdat, - ); err != nil { - return nil, err - } - items = append(items, i) - } - if err := rows.Close(); err != nil { - return nil, err - } - if err := rows.Err(); err != nil { - return nil, err - } - return items, nil +func (q *Queries) GetTimeslotsByIDYclients(ctx context.Context, salonid int32) (Yclientstimeslot, error) { + row := q.db.QueryRowContext(ctx, getTimeslotsByIDYclients, salonid) + var i Yclientstimeslot + err := row.Scan( + &i.ID, + &i.Salonid, + &i.Isenabled, + &i.Weekdayssettings, + &i.Datessettings, + &i.Deleted, + &i.Createdat, + ) + return i, err } const getTimeslotsYclientsWithPagination = `-- name: GetTimeslotsYclientsWithPagination :many diff --git a/repository/yclients/yclients.go b/repository/yclients/yclients.go index 735baf3..b91ea58 100644 --- a/repository/yclients/yclients.go +++ b/repository/yclients/yclients.go @@ -565,35 +565,32 @@ func (r *YclientsRepository) DeleteTimeslots(ctx context.Context, ids []int64) e return nil } -func (r *YclientsRepository) GetAccountTimeslotsByID(ctx context.Context, salonID int32) ([]model.Timeslots, error) { - rows, err := r.queries.GetTimeslotsByIDYclients(ctx, salonID) +func (r *YclientsRepository) GetAccountTimeslotsByID(ctx context.Context, salonID int32) (*model.Timeslots, error) { + row, err := r.queries.GetTimeslotsByIDYclients(ctx, salonID) if err != nil { return nil, err } - var timeslots []model.Timeslots - for _, row := range rows { - var weekdaysSettings []model.WeekdaySetting - err = json.Unmarshal(row.Weekdayssettings, &weekdaysSettings) - if err != nil { - return nil, err - } + var weekdaysSettings []model.WeekdaySetting + err = json.Unmarshal(row.Weekdayssettings, &weekdaysSettings) + if err != nil { + return nil, err - var datesSettings model.DateSetting - err = json.Unmarshal(row.Datessettings, &datesSettings) - if err != nil { - return nil, err - } - - timeslots = append(timeslots, model.Timeslots{ - ID: row.ID, - SalonID: row.Salonid, - IsEnabled: row.Isenabled, - WeekdaysSettings: weekdaysSettings, - DatesSettings: datesSettings, - Deleted: row.Deleted, - CreatedAt: row.Createdat, - }) } - return timeslots, nil + + var datesSettings model.DateSetting + err = json.Unmarshal(row.Datessettings, &datesSettings) + if err != nil { + return nil, err + } + + return &model.Timeslots{ + ID: row.ID, + SalonID: row.Salonid, + IsEnabled: row.Isenabled, + WeekdaysSettings: weekdaysSettings, + DatesSettings: datesSettings, + Deleted: row.Deleted, + CreatedAt: row.Createdat, + }, nil }