package mapper import ( "netidhub-saas-be/app/database/entity" clientsRepository "netidhub-saas-be/app/module/clients/repository" schedulesResponse "netidhub-saas-be/app/module/schedules/response" ) func ToSchedulesResponse(schedule *entity.Schedules, clientsRepo clientsRepository.ClientsRepository) *schedulesResponse.SchedulesResponse { var clientName *string var clientSlug *string if schedule.ClientId != nil { findClient, _ := clientsRepo.FindOneByClientId(schedule.ClientId) if findClient != nil { clientName = &findClient.Name clientSlug = &findClient.Slug } } return &schedulesResponse.SchedulesResponse{ ID: schedule.ID, Title: schedule.Title, Description: schedule.Description, Location: schedule.Location, IsLiveStreaming: schedule.IsLiveStreaming, LiveStreamingUrl: schedule.LiveStreamingUrl, TypeId: schedule.TypeId, StartDate: schedule.StartDate, EndDate: schedule.EndDate, StartTime: schedule.StartTime, EndTime: schedule.EndTime, Speakers: schedule.Speakers, PosterImagePath: schedule.PosterImagePath, CreatedById: schedule.CreatedById, StatusId: schedule.StatusId, ClientName: clientName, ClientSlug: clientSlug, IsActive: schedule.IsActive, CreatedAt: schedule.CreatedAt, UpdatedAt: schedule.UpdatedAt, } } func ToSchedulesResponseList(schedules []*entity.Schedules, clientsRepo clientsRepository.ClientsRepository) []*schedulesResponse.SchedulesResponse { var responses []*schedulesResponse.SchedulesResponse for _, schedule := range schedules { responses = append(responses, ToSchedulesResponse(schedule, clientsRepo)) } return responses }