// Path: src/main/java/com/mageddo/bookmarks/apiserver/res/TagV1Res.java
// public class TagV1Res {
// 
//   private Long id;
//   private String name;
//   private String slug;
// 
//   public static RowMapper<TagV1Res> mapper() {
//     return (rs, rowNum) -> new TagV1Res().setId(rs.getLong("ID"))
//         .setName(rs.getString("NAME"))
//         .setSlug(rs.getString("SLUG"));
//   }
// 
//   public Long getId() {
//     return id;
//   }
// 
//   public TagV1Res setId(Long id) {
//     this.id = id;
//     return this;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public TagV1Res setName(String name) {
//     this.name = name;
//     return this;
//   }
// 
//   public String getSlug() {
//     return slug;
//   }
// 
//   public TagV1Res setSlug(String slug) {
//     this.slug = slug;
//     return this;
//   }
// }
// 
// Path: src/main/java/com/mageddo/bookmarks/dao/TagDAO.java
// public interface TagDAO {
// 
//   List<TagV1Res> findTags();
// 
//   List<TagEntity> findTags(long bookmarkId);
// 
//   List<TagEntity> findTags(String query);
// 
//   void createIgnoreDuplicates(Tags.Tag tag);
// 
//   TagEntity findTag(String slug);
// }
// 
// Path: src/main/java/com/mageddo/bookmarks/entity/TagEntity.java
// public class TagEntity {
// 
//   private Integer id;
//   private String slug;
//   private String name;
//   private Integer bookmarkId;
// 
//   public static RowMapper<TagEntity> mapper() {
//     return (rs, rowNum) -> new TagEntity().setId(rs.getInt("IDT_TAG"))
//         .setName(rs.getString("NAM_TAG"))
//         .setSlug(rs.getString("COD_SLUG"))
//         .setBookmarkId(JdbcHelper.getInteger(rs, "IDT_BOOKMARK"));
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public TagEntity setName(String name) {
//     this.name = name;
//     return this;
//   }
// 
//   public Integer getId() {
//     return id;
//   }
// 
//   public TagEntity setId(Integer id) {
//     this.id = id;
//     return this;
//   }
// 
//   public String getSlug() {
//     return slug;
//   }
// 
//   public TagEntity setSlug(String slug) {
//     this.slug = slug;
//     return this;
//   }
// 
//   public Integer getBookmarkId() {
//     return bookmarkId;
//   }
// 
//   public TagEntity setBookmarkId(Integer bookmarkId) {
//     this.bookmarkId = bookmarkId;
//     return this;
//   }
// 
// }


import java.util.List;
import javax.inject.Singleton;
import com.mageddo.bookmarks.apiserver.res.TagV1Res;
import com.mageddo.bookmarks.dao.TagDAO;
import com.mageddo.bookmarks.entity.TagEntity;
package com.mageddo.bookmarks.service;




@Singleton
public class TagService {

  private final TagDAO tagDAO;

  public TagService(TagDAO tagDAO) {
    this.tagDAO = tagDAO;
  }

  public List<TagV1Res> getTags() {
    return tagDAO.findTags();
  }

// Path: src/main/java/com/mageddo/bookmarks/apiserver/res/TagV1Res.java
// public class TagV1Res {
// 
//   private Long id;
//   private String name;
//   private String slug;
// 
//   public static RowMapper<TagV1Res> mapper() {
//     return (rs, rowNum) -> new TagV1Res().setId(rs.getLong("ID"))
//         .setName(rs.getString("NAME"))
//         .setSlug(rs.getString("SLUG"));
//   }
// 
//   public Long getId() {
//     return id;
//   }
// 
//   public TagV1Res setId(Long id) {
//     this.id = id;
//     return this;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public TagV1Res setName(String name) {
//     this.name = name;
//     return this;
//   }
// 
//   public String getSlug() {
//     return slug;
//   }
// 
//   public TagV1Res setSlug(String slug) {
//     this.slug = slug;
//     return this;
//   }
// }
// 
// Path: src/main/java/com/mageddo/bookmarks/dao/TagDAO.java
// public interface TagDAO {
// 
//   List<TagV1Res> findTags();
// 
//   List<TagEntity> findTags(long bookmarkId);
// 
//   List<TagEntity> findTags(String query);
// 
//   void createIgnoreDuplicates(Tags.Tag tag);
// 
//   TagEntity findTag(String slug);
// }
// 
// Path: src/main/java/com/mageddo/bookmarks/entity/TagEntity.java
// public class TagEntity {
// 
//   private Integer id;
//   private String slug;
//   private String name;
//   private Integer bookmarkId;
// 
//   public static RowMapper<TagEntity> mapper() {
//     return (rs, rowNum) -> new TagEntity().setId(rs.getInt("IDT_TAG"))
//         .setName(rs.getString("NAM_TAG"))
//         .setSlug(rs.getString("COD_SLUG"))
//         .setBookmarkId(JdbcHelper.getInteger(rs, "IDT_BOOKMARK"));
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public TagEntity setName(String name) {
//     this.name = name;
//     return this;
//   }
// 
//   public Integer getId() {
//     return id;
//   }
// 
//   public TagEntity setId(Integer id) {
//     this.id = id;
//     return this;
//   }
// 
//   public String getSlug() {
//     return slug;
//   }
// 
//   public TagEntity setSlug(String slug) {
//     this.slug = slug;
//     return this;
//   }
// 
//   public Integer getBookmarkId() {
//     return bookmarkId;
//   }
// 
//   public TagEntity setBookmarkId(Integer bookmarkId) {
//     this.bookmarkId = bookmarkId;
//     return this;
//   }
// 
// }


// Path: src/main/java/com/mageddo/bookmarks/service/TagService.java
import java.util.List;
import javax.inject.Singleton;
import com.mageddo.bookmarks.apiserver.res.TagV1Res;
import com.mageddo.bookmarks.dao.TagDAO;
import com.mageddo.bookmarks.entity.TagEntity;

package com.mageddo.bookmarks.service;




@Singleton
public class TagService {

  private final TagDAO tagDAO;

  public TagService(TagDAO tagDAO) {
    this.tagDAO = tagDAO;
  }

  public List<TagV1Res> getTags() {
    return tagDAO.findTags();
  }

  public List<TagEntity> getTags(long bookmarkId) {