import { Injectable } from '@nestjs/common';
import { AuthService } from '@/auth/auth.service';
import { ApiClientService } from '@/shared/http/api-client.service';
import { CreateDailyScrumDto } from './dto/create-daily-scrum.dto';
/**
* Service for daily scrum/standup updates
* Handles creating daily progress reports
*/
@Injectable()
export class DailyUpdatesService {
constructor(
private readonly authService: AuthService,
private readonly apiClient: ApiClientService,
) {}
/**
* Create a daily scrum update with progress and blockers
* @param params - Daily scrum data
* @returns Created daily update response
*/
async createDailyScrumUpdate(params: CreateDailyScrumDto) {
const user = this.authService.getCurrentUser();
const token = this.authService.getToken();
if (!user || !token) {
throw new Error('User not authenticated');
}
const payload = {
userid: user.id,
date: params.date,
yesterdays_progress: params.yesterdays_progress,
todays_priorities: params.todays_priorities,
task_blockers: params.task_blockers,
};
try {
const response = await this.apiClient.createDailyUpdate(payload, token);
return response;
} catch (error) {
throw new Error(`Failed to create daily scrum update: ${error.message}`);
}
}
}