package com.todoroo.astrid.dao;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.actfm.sync.messages.NameMaps;
import com.todoroo.astrid.data.WaitingOnMe;
public class WaitingOnMeDao extends RemoteModelDao<WaitingOnMe> {
@Autowired
private Database database;
public WaitingOnMeDao() {
super(WaitingOnMe.class);
DependencyInjectionService.getInstance().inject(this);
setDatabase(database);
}
@Override
protected boolean shouldRecordOutstandingEntry(String columnName, Object value) {
return NameMaps.shouldRecordOutstandingColumnForTable(NameMaps.TABLE_ID_WAITING_ON_ME, columnName);
}
public WaitingOnMe findByTask(String taskUuid) {
TodorooCursor<WaitingOnMe> cursor = query(Query.select(WaitingOnMe.PROPERTIES).where(
Criterion.and(WaitingOnMe.TASK_UUID.eq(taskUuid),
Criterion.or(WaitingOnMe.ACKNOWLEDGED.eq(0), WaitingOnMe.ACKNOWLEDGED.isNull()),
Criterion.or(WaitingOnMe.DELETED_AT.eq(0), WaitingOnMe.DELETED_AT.isNull()))));
cursor.moveToFirst();
return returnFetchResult(cursor);
}
}