import { UserId } from "@/server/user/domain/models";
import { DeleteMaterial, DeleteProjectMaterial, Material, MaterialId, ProjectMaterial, UpdateProjectMaterial } from "../domain/models";
import { ProjectId } from "@/server/project/domain/models";
export interface MaterialService {
getAllMaterials(): Promise<Material[]>;
createMaterial(data: Material, userId: UserId): Promise<Material>;
createProjectMaterial(
data: ProjectMaterial,
userId: UserId
): Promise<ProjectMaterial>;
updateProjectMaterial(
data: Partial<ProjectMaterial>,
userId: UserId
): Promise<Partial<ProjectMaterial>>;
deleteMaterials(
deleteMaterials: DeleteMaterial,
userId: UserId
): Promise<Material[]>;
deleteProjectMaterials(
data: DeleteProjectMaterial,
userId: UserId
): Promise<DeleteProjectMaterial>;
getProjectMaterialByProject(materialId:MaterialId,projectId:ProjectId):Promise<ProjectMaterial>
getMaterialById(materialId:MaterialId):Promise<Material>
}