test #142
@@ -75,7 +75,6 @@ class AdminAudioContentQueryRepositoryImpl(
 | 
				
			|||||||
                    audioContent.id,
 | 
					                    audioContent.id,
 | 
				
			||||||
                    audioContent.title,
 | 
					                    audioContent.title,
 | 
				
			||||||
                    audioContent.detail,
 | 
					                    audioContent.detail,
 | 
				
			||||||
                    Expressions.stringTemplate("GROUP_CONCAT({0})", hashTag.tag),
 | 
					 | 
				
			||||||
                    audioContentCuration.title,
 | 
					                    audioContentCuration.title,
 | 
				
			||||||
                    audioContentCuration.id.nullif(0),
 | 
					                    audioContentCuration.id.nullif(0),
 | 
				
			||||||
                    audioContent.coverImage.prepend("/").prepend(imageHost),
 | 
					                    audioContent.coverImage.prepend("/").prepend(imageHost),
 | 
				
			||||||
@@ -93,11 +92,8 @@ class AdminAudioContentQueryRepositoryImpl(
 | 
				
			|||||||
            )
 | 
					            )
 | 
				
			||||||
            .from(audioContent)
 | 
					            .from(audioContent)
 | 
				
			||||||
            .leftJoin(audioContent.curation, audioContentCuration)
 | 
					            .leftJoin(audioContent.curation, audioContentCuration)
 | 
				
			||||||
            .leftJoin(audioContent.audioContentHashTags, audioContentHashTag)
 | 
					 | 
				
			||||||
            .leftJoin(audioContentHashTag.hashTag, hashTag)
 | 
					 | 
				
			||||||
            .innerJoin(audioContent.theme, audioContentTheme)
 | 
					            .innerJoin(audioContent.theme, audioContentTheme)
 | 
				
			||||||
            .where(where)
 | 
					            .where(where)
 | 
				
			||||||
            .groupBy(audioContent.id)
 | 
					 | 
				
			||||||
            .offset(offset)
 | 
					            .offset(offset)
 | 
				
			||||||
            .limit(limit)
 | 
					            .limit(limit)
 | 
				
			||||||
            .orderBy(audioContent.releaseDate.desc())
 | 
					            .orderBy(audioContent.releaseDate.desc())
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,13 @@ class AdminContentService(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        val audioContentList = audioContentAndThemeList
 | 
					        val audioContentList = audioContentAndThemeList
 | 
				
			||||||
            .asSequence()
 | 
					            .asSequence()
 | 
				
			||||||
 | 
					            .map {
 | 
				
			||||||
 | 
					                val tags = repository
 | 
				
			||||||
 | 
					                    .getHashTagList(audioContentId = it.audioContentId)
 | 
				
			||||||
 | 
					                    .joinToString(" ") { tag -> tag }
 | 
				
			||||||
 | 
					                it.tags = tags
 | 
				
			||||||
 | 
					                it
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            .map {
 | 
					            .map {
 | 
				
			||||||
                it.contentUrl = audioContentCloudFront.generateSignedURL(
 | 
					                it.contentUrl = audioContentCloudFront.generateSignedURL(
 | 
				
			||||||
                    resourcePath = it.contentUrl,
 | 
					                    resourcePath = it.contentUrl,
 | 
				
			||||||
@@ -54,6 +61,13 @@ class AdminContentService(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        val audioContentList = audioContentAndThemeList
 | 
					        val audioContentList = audioContentAndThemeList
 | 
				
			||||||
            .asSequence()
 | 
					            .asSequence()
 | 
				
			||||||
 | 
					            .map {
 | 
				
			||||||
 | 
					                val tags = repository
 | 
				
			||||||
 | 
					                    .getHashTagList(audioContentId = it.audioContentId)
 | 
				
			||||||
 | 
					                    .joinToString(" ") { tag -> tag }
 | 
				
			||||||
 | 
					                it.tags = tags
 | 
				
			||||||
 | 
					                it
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            .map {
 | 
					            .map {
 | 
				
			||||||
                it.contentUrl = audioContentCloudFront.generateSignedURL(
 | 
					                it.contentUrl = audioContentCloudFront.generateSignedURL(
 | 
				
			||||||
                    resourcePath = it.contentUrl,
 | 
					                    resourcePath = it.contentUrl,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,6 @@ data class GetAdminContentListItem @QueryProjection constructor(
 | 
				
			|||||||
    val audioContentId: Long,
 | 
					    val audioContentId: Long,
 | 
				
			||||||
    val title: String,
 | 
					    val title: String,
 | 
				
			||||||
    val detail: String,
 | 
					    val detail: String,
 | 
				
			||||||
    var tags: String,
 | 
					 | 
				
			||||||
    val curationTitle: String?,
 | 
					    val curationTitle: String?,
 | 
				
			||||||
    val curationId: Long,
 | 
					    val curationId: Long,
 | 
				
			||||||
    var coverImageUrl: String,
 | 
					    var coverImageUrl: String,
 | 
				
			||||||
@@ -25,4 +24,6 @@ data class GetAdminContentListItem @QueryProjection constructor(
 | 
				
			|||||||
    val isCommentAvailable: Boolean,
 | 
					    val isCommentAvailable: Boolean,
 | 
				
			||||||
    val date: String,
 | 
					    val date: String,
 | 
				
			||||||
    val releaseDate: String?
 | 
					    val releaseDate: String?
 | 
				
			||||||
)
 | 
					) {
 | 
				
			||||||
 | 
					    var tags: String = ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user