diff --git a/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java b/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java index d6aacc4b..0be30724 100644 --- a/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java +++ b/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java @@ -37,6 +37,40 @@ public class DocumentImpl implements Document{ @Inject DeviceInfoUtils deviceInfoUtils; + @Override + public ArrayList getAllDocumentMetas(int limit) { + ArrayList documentMetas = new ArrayList<>(); + List documentEntities = database.documentDao().getAllWithLimit(limit); + + for (DocumentEntity documentEntity : documentEntities) { + // タグ取得 + // TODO-rca: 切り出すべきかも? + List tagEntities = database.tagDao().findByIds(documentEntity.tagIds); + ArrayList documentTags = new ArrayList<>(); + for (TagEntity tagEntity : tagEntities) { + documentTags.add(new DocumentTag(tagEntity.id, tagEntity.tagName, tagEntity.color)); + } + + // 組み立て処理 + // 可読性が終わるのでコンストラクタはつかわないほうがいいかも? + DocumentMeta documentMeta = new DocumentMeta(); + documentMeta.setId(documentEntity.id); + documentMeta.setTitle(documentEntity.title); + documentMeta.setCreatedAt(documentEntity.createdAt); + documentMeta.setUpdatedAt(documentEntity.updatedAt); + documentMeta.setTags(documentTags); + + documentMetas.add(documentMeta); + } + + return documentMetas; + } + + @Override + public ArrayList getAllDocumentMetas(int limit, int offset) { + return null; // TODO-rca: 実装する + } + @Override public ArrayList getRecentDocumentMetas(int limit) { // ArrayList documentMetas = new ArrayList<>();