import { Injectable } from '@nestjs/common';
import { AuthService } from '@/auth/auth.service';
import { ApiClientService } from '@/shared/http/api-client.service';
/**
* Service for work activities/task types management
* Handles fetching available activities that can be logged in timesheet
*/
@Injectable()
export class ActivitiesService {
constructor(
private readonly authService: AuthService,
private readonly apiClient: ApiClientService,
) {}
/**
* Fetch all available activities
* Activities are predefined work types like: Development, Code Review, Testing, etc.
*/
async getAllActivities() {
const token = this.authService.getToken();
if (!token) {
throw new Error('User not authenticated');
}
try {
const response = await this.apiClient.getActivities(token);
return response?.data || [];
} catch (error) {
throw new Error(`Failed to fetch activities: ${error.message}`);
}
}
}