You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tasks/app/src/main/java/com/todoroo/astrid/dao/TaskAttachmentDao.java

54 lines
1.4 KiB
Java

/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.dao;
import com.todoroo.andlib.data.Callback;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.data.TaskAttachment;
import javax.inject.Inject;
public class TaskAttachmentDao {
private final RemoteModelDao<TaskAttachment> dao;
@Inject
public TaskAttachmentDao(Database database) {
dao = new RemoteModelDao<>(database, TaskAttachment.class);
}
public boolean taskHasAttachments(String taskUuid) {
return dao.count(byUuid(taskUuid, TaskAttachment.TASK_UUID).limit(1)) > 0;
}
public void getAttachments(String taskUuid, Callback<TaskAttachment> callback) {
Query query = byUuid(taskUuid, TaskAttachment.PROPERTIES);
dao.query(query, callback);
}
private static Query byUuid(String taskUuid, Property<?>... properties) {
return Query.select(properties).where(
Criterion.and(TaskAttachment.TASK_UUID.eq(taskUuid),
TaskAttachment.DELETED_AT.eq(0))
);
}
public void createNew(TaskAttachment attachment) {
dao.createNew(attachment);
}
public void delete(long id) {
dao.delete(id);
}
public void saveExisting(TaskAttachment m) {
dao.saveExisting(m);
}
}