1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.personality
21 
22 import cats.data.NonEmptyList
23 import cats.implicits._
24 import org.make.api.extensions.MakeDBExecutionContextComponent
25 import org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField
26 import org.make.api.technical.DatabaseTransactions._
27 import org.make.api.technical.{PersistentCompanion, ShortenedNames}
28 import org.make.api.technical.PersistentServiceUtils.sortOrderQuery
29 import org.make.api.technical.ScalikeSupport._
30 import org.make.core.technical.Pagination
31 import org.make.core.personality.{FieldType, PersonalityRoleField, PersonalityRoleFieldId, PersonalityRoleId}
32 import org.make.core.Order
33 import scalikejdbc._
34 
35 import scala.concurrent.Future
36 
37 trait DefaultPersistentPersonalityRoleFieldServiceComponent extends PersistentPersonalityRoleFieldServiceComponent {
38   this: MakeDBExecutionContextComponent =>
39 
40   override lazy val persistentPersonalityRoleFieldService: DefaultPersistentPersonalityRoleFieldService =
41     new DefaultPersistentPersonalityRoleFieldService
42 
43   class DefaultPersistentPersonalityRoleFieldService extends PersistentPersonalityRoleFieldService with ShortenedNames {
44 
45     private val personalityRoleFieldAlias = PersistentPersonalityRoleField.alias
46 
47     private val column = PersistentPersonalityRoleField.column
48 
49     override def persist(personalityRoleField: PersonalityRoleField): Future[PersonalityRoleField] = {
50       implicit val context: EC = writeExecutionContext
51       Future(NamedDB("WRITE").retryableTx { implicit session =>
52         withSQL {
53           insert
54             .into(PersistentPersonalityRoleField)
55             .namedValues(
56               column.id -> personalityRoleField.personalityRoleFieldId.value,
57               column.personalityRoleId -> personalityRoleField.personalityRoleId.value,
58               column.name -> personalityRoleField.name,
59               column.fieldType -> personalityRoleField.fieldType,
60               column.required -> personalityRoleField.required
61             )
62         }.execute()
63       }).as(personalityRoleField)
64     }
65 
66     override def modify(personalityRoleField: PersonalityRoleField): Future[PersonalityRoleField] = {
67       implicit val context: EC = writeExecutionContext
68       Future(NamedDB("WRITE").retryableTx { implicit session =>
69         withSQL {
70           update(PersistentPersonalityRoleField)
71             .set(
72               column.name -> personalityRoleField.name,
73               column.fieldType -> personalityRoleField.fieldType,
74               column.required -> personalityRoleField.required
75             )
76             .where(sqls.eq(column.id, personalityRoleField.personalityRoleFieldId.value))
77         }.execute()
78       }).as(personalityRoleField)
79     }
80 
81     override def getById(
82       personalityRoleFieldId: PersonalityRoleFieldId,
83       personalityRoleId: PersonalityRoleId
84     ): Future[Option[PersonalityRoleField]] = {
85       implicit val context: EC = readExecutionContext
86       Future(NamedDB("READ").retryableTx { implicit session =>
87         withSQL {
88           select
89             .from(PersistentPersonalityRoleField.as(personalityRoleFieldAlias))
90             .where(
91               sqls
92                 .eq(column.id, personalityRoleFieldId.value)
93                 .and(sqls.eq(column.personalityRoleId, personalityRoleId.value))
94             )
95         }.map(PersistentPersonalityRoleField.apply()).single()
96       }).map(_.map(_.toPersonalityRoleField))
97     }
98 
99     override def find(
100       offset: Pagination.Offset,
101       end: Option[Pagination.End],
102       sort: Option[String],
103       order: Option[Order],
104       maybePersonalityRoleId: Option[PersonalityRoleId],
105       maybeName: Option[String],
106       maybeFieldType: Option[FieldType],
107       maybeRequired: Option[Boolean]
108     ): Future[Seq[PersonalityRoleField]] = {
109       implicit val context: EC = readExecutionContext
110       Future(NamedDB("READ").retryableTx { implicit session =>
111         withSQL {
112           val query: scalikejdbc.PagingSQLBuilder[PersistentPersonalityRoleField] = select
113             .from(PersistentPersonalityRoleField.as(personalityRoleFieldAlias))
114             .where(
115               sqls.toAndConditionOpt(
116                 maybePersonalityRoleId.map(
117                   personalityRoleId => sqls.eq(personalityRoleFieldAlias.personalityRoleId, personalityRoleId.value)
118                 ),
119                 maybeName.map(name           => sqls.eq(personalityRoleFieldAlias.name, name)),
120                 maybeFieldType.map(fieldType => sqls.eq(personalityRoleFieldAlias.fieldType, fieldType)),
121                 maybeRequired.map(required   => sqls.eq(personalityRoleFieldAlias.required, required))
122               )
123             )
124           sortOrderQuery(offset = offset, end = end, sort = sort, order = order, query = query)
125         }.map(PersistentPersonalityRoleField.apply()).list()
126       }).map(_.map(_.toPersonalityRoleField))
127     }
128 
129     def count(
130       maybePersonalityRoleId: Option[PersonalityRoleId],
131       maybeName: Option[String],
132       maybeFieldType: Option[FieldType],
133       maybeRequired: Option[Boolean]
134     ): Future[Int] = {
135       implicit val context: EC = readExecutionContext
136       Future(NamedDB("READ").retryableTx { implicit session =>
137         withSQL {
138           select(sqls.count)
139             .from(PersistentPersonalityRoleField.as(personalityRoleFieldAlias))
140             .where(
141               sqls.toAndConditionOpt(
142                 maybePersonalityRoleId.map(
143                   personalityRoleId => sqls.eq(personalityRoleFieldAlias.personalityRoleId, personalityRoleId.value)
144                 ),
145                 maybeName.map(name           => sqls.eq(personalityRoleFieldAlias.name, name)),
146                 maybeFieldType.map(fieldType => sqls.eq(personalityRoleFieldAlias.fieldType, fieldType)),
147                 maybeRequired.map(required   => sqls.eq(personalityRoleFieldAlias.required, required))
148               )
149             )
150         }.map(_.int(1)).single().getOrElse(0)
151       })
152     }
153 
154     override def delete(personalityRoleFieldId: PersonalityRoleFieldId): Future[Unit] = {
155       implicit val context: EC = readExecutionContext
156       Future(NamedDB("WRITE").retryableTx { implicit session =>
157         withSQL {
158           deleteFrom(PersistentPersonalityRoleField)
159             .where(sqls.eq(column.id, personalityRoleFieldId.value))
160         }.execute()
161       }).void
162     }
163 
164   }
165 }
166 
167 object DefaultPersistentPersonalityRoleFieldServiceComponent {
168 
169   final case class PersistentPersonalityRoleField(
170     id: String,
171     personalityRoleId: String,
172     name: String,
173     fieldType: String,
174     required: Boolean
175   ) {
176     def toPersonalityRoleField: PersonalityRoleField = {
177       PersonalityRoleField(
178         personalityRoleFieldId = PersonalityRoleFieldId(id),
179         personalityRoleId = PersonalityRoleId(personalityRoleId),
180         name = name,
181         fieldType = FieldType.withValue(fieldType),
182         required = required
183       )
184     }
185   }
186 
187   implicit object PersistentPersonalityRoleField
188       extends PersistentCompanion[PersistentPersonalityRoleField, PersonalityRoleField] {
189     override val columnNames: Seq[String] =
190       Seq("id", "personality_role_id", "name", "field_type", "required")
191     final val swaggerAllowableValues = "id,personality_role_id,name,field_type,required"
192 
193     override val tableName: String = "personality_role_field"
194 
195     override lazy val alias: SyntaxProvider[PersistentPersonalityRoleField] = syntax("personality_role_field")
196 
197     override lazy val defaultSortColumns: NonEmptyList[SQLSyntax] = NonEmptyList.of(alias.name)
198 
199     def apply(
200       personalityResultName: ResultName[PersistentPersonalityRoleField] = alias.resultName
201     )(resultSet: WrappedResultSet): PersistentPersonalityRoleField = {
202       PersistentPersonalityRoleField.apply(
203         id = resultSet.string(personalityResultName.id),
204         personalityRoleId = resultSet.string(personalityResultName.personalityRoleId),
205         name = resultSet.string(personalityResultName.name),
206         fieldType = resultSet.string(personalityResultName.fieldType),
207         required = resultSet.boolean(personalityResultName.required)
208       )
209     }
210   }
211 
212 }
Line Stmt Id Pos Tree Symbol Tests Code
47 21079 2032 - 2069 Select scalikejdbc.SQLSyntaxSupportFeature.SQLSyntaxSupport.column org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.column
50 20206 2207 - 2228 Select org.make.api.extensions.MakeDBExecutionContextComponent.writeExecutionContext DefaultPersistentPersonalityRoleFieldServiceComponent.this.writeExecutionContext
63 21825 2235 - 2822 Apply cats.Functor.Ops.as cats.implicits.toFunctorOps[scala.concurrent.Future, Boolean](scala.concurrent.Future.apply[Boolean]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("WRITE") = "WRITE"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("WRITE", x$2); scalikejdbc.NamedDB.apply("WRITE", x$2)(x$3) }); <artifact> val x$4: scalikejdbc.DBSession => Boolean @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => scalikejdbc.`package`.withSQL.apply[scalikejdbc.UpdateOperation](scalikejdbc.`package`.insert.into(org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField).namedValues((DefaultPersistentPersonalityRoleFieldService.this.column.field("id"): scalikejdbc.interpolation.SQLSyntax).->[String](personalityRoleField.personalityRoleFieldId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory), (DefaultPersistentPersonalityRoleFieldService.this.column.field("personalityRoleId"): scalikejdbc.interpolation.SQLSyntax).->[String](personalityRoleField.personalityRoleId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory), (DefaultPersistentPersonalityRoleFieldService.this.column.field("name"): scalikejdbc.interpolation.SQLSyntax).->[String](personalityRoleField.name)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory), (DefaultPersistentPersonalityRoleFieldService.this.column.field("fieldType"): scalikejdbc.interpolation.SQLSyntax).->[org.make.core.personality.FieldType](personalityRoleField.fieldType)(org.make.api.technical.ScalikeSupport.stringEnumBinders[org.make.core.personality.FieldType]((FieldType: enumeratum.values.StringEnum[org.make.core.personality.FieldType]))), (DefaultPersistentPersonalityRoleFieldService.this.column.field("required"): scalikejdbc.interpolation.SQLSyntax).->[Boolean](personalityRoleField.required)(scalikejdbc.this.ParameterBinderFactory.booleanParameterBinderFactory))).execute.apply()(session)); <artifact> val x$5: scalikejdbc.TxBoundary[Boolean] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Boolean](x$4); qual$1.retryableTx[Boolean](x$4)(x$5) })(context))(cats.implicits.catsStdInstancesForFuture(context)).as[org.make.core.personality.PersonalityRoleField](personalityRoleField)
67 20845 2965 - 2986 Select org.make.api.extensions.MakeDBExecutionContextComponent.writeExecutionContext org.scalatest.testsuite DefaultPersistentPersonalityRoleFieldServiceComponent.this.writeExecutionContext
78 19795 2993 - 3478 Apply cats.Functor.Ops.as org.scalatest.testsuite cats.implicits.toFunctorOps[scala.concurrent.Future, Boolean](scala.concurrent.Future.apply[Boolean]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("WRITE") = "WRITE"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("WRITE", x$2); scalikejdbc.NamedDB.apply("WRITE", x$2)(x$3) }); <artifact> val x$4: scalikejdbc.DBSession => Boolean @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => scalikejdbc.`package`.withSQL.apply[scalikejdbc.UpdateOperation](scalikejdbc.`package`.update.apply(org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField).set((DefaultPersistentPersonalityRoleFieldService.this.column.field("name"): scalikejdbc.interpolation.SQLSyntax).->[String](personalityRoleField.name)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory), (DefaultPersistentPersonalityRoleFieldService.this.column.field("fieldType"): scalikejdbc.interpolation.SQLSyntax).->[org.make.core.personality.FieldType](personalityRoleField.fieldType)(org.make.api.technical.ScalikeSupport.stringEnumBinders[org.make.core.personality.FieldType]((FieldType: enumeratum.values.StringEnum[org.make.core.personality.FieldType]))), (DefaultPersistentPersonalityRoleFieldService.this.column.field("required"): scalikejdbc.interpolation.SQLSyntax).->[Boolean](personalityRoleField.required)(scalikejdbc.this.ParameterBinderFactory.booleanParameterBinderFactory)).where(scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.column.field("id"): scalikejdbc.interpolation.SQLSyntax), personalityRoleField.personalityRoleFieldId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))).execute.apply()(session)); <artifact> val x$5: scalikejdbc.TxBoundary[Boolean] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Boolean](x$4); qual$1.retryableTx[Boolean](x$4)(x$5) })(context))(cats.implicits.catsStdInstancesForFuture(context)).as[org.make.core.personality.PersonalityRoleField](personalityRoleField)
85 21877 3690 - 3710 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentPersonalityRoleFieldServiceComponent.this.readExecutionContext
96 20991 3717 - 4192 ApplyToImplicitArgs scala.concurrent.Future.map scala.concurrent.Future.apply[Option[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => Option[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToOption[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.as(DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias)).where(scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.column.field("id"): scalikejdbc.interpolation.SQLSyntax), personalityRoleFieldId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory).and(scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.column.field("personalityRoleId"): scalikejdbc.interpolation.SQLSyntax), personalityRoleId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory)))).map[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField] = org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.apply(eta$0$1)(resultSet)) }).single; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[Option[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Option[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]](x$7); qual$1.retryableTx[Option[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]](x$7)(x$8) })(context).map[Option[org.make.core.personality.PersonalityRoleField]](((x$1: Option[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]) => x$1.map[org.make.core.personality.PersonalityRoleField](((x$2: org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField) => x$2.toPersonalityRoleField))))(context)
109 20081 4593 - 4613 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentPersonalityRoleFieldServiceComponent.this.readExecutionContext
126 21655 4620 - 5641 ApplyToImplicitArgs scala.concurrent.Future.map scala.concurrent.Future.apply[List[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]({ val query: scalikejdbc.PagingSQLBuilder[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField] = scalikejdbc.`package`.select.from[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField](org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.as(DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias)).where(scalikejdbc.`package`.sqls.toAndConditionOpt(maybePersonalityRoleId.map[scalikejdbc.interpolation.SQLSyntax](((personalityRoleId: org.make.core.personality.PersonalityRoleId) => scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("personalityRoleId"): scalikejdbc.interpolation.SQLSyntax), personalityRoleId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))), maybeName.map[scalikejdbc.interpolation.SQLSyntax](((name: String) => scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("name"): scalikejdbc.interpolation.SQLSyntax), name)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))), maybeFieldType.map[scalikejdbc.interpolation.SQLSyntax](((fieldType: org.make.core.personality.FieldType) => scalikejdbc.`package`.sqls.eq[org.make.core.personality.FieldType]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("fieldType"): scalikejdbc.interpolation.SQLSyntax), fieldType)(org.make.api.technical.ScalikeSupport.stringEnumBinders[org.make.core.personality.FieldType]((FieldType: enumeratum.values.StringEnum[org.make.core.personality.FieldType]))))), maybeRequired.map[scalikejdbc.interpolation.SQLSyntax](((required: Boolean) => scalikejdbc.`package`.sqls.eq[Boolean]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("required"): scalikejdbc.interpolation.SQLSyntax), required)(scalikejdbc.this.ParameterBinderFactory.booleanParameterBinderFactory))))); org.make.api.technical.PersistentServiceUtils.sortOrderQuery[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField, org.make.core.personality.PersonalityRoleField](offset, end, sort, order, query)(org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField) }).map[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField] = org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]](x$7); qual$1.retryableTx[List[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]](x$7)(x$8) })(context).map[List[org.make.core.personality.PersonalityRoleField]](((x$3: List[org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField]) => x$3.map[org.make.core.personality.PersonalityRoleField](((x$4: org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField) => x$4.toPersonalityRoleField))))(context)
135 20599 5888 - 5908 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext org.scalatest.testsuite DefaultPersistentPersonalityRoleFieldServiceComponent.this.readExecutionContext
136 20210 5915 - 6726 ApplyToImplicitArgs scala.concurrent.Future.apply org.scalatest.testsuite scala.concurrent.Future.apply[Int]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => Int @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToOption[Int,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.apply[Nothing](scalikejdbc.`package`.sqls.count).from(org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.as(DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias)).where(scalikejdbc.`package`.sqls.toAndConditionOpt(maybePersonalityRoleId.map[scalikejdbc.interpolation.SQLSyntax](((personalityRoleId: org.make.core.personality.PersonalityRoleId) => scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("personalityRoleId"): scalikejdbc.interpolation.SQLSyntax), personalityRoleId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))), maybeName.map[scalikejdbc.interpolation.SQLSyntax](((name: String) => scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("name"): scalikejdbc.interpolation.SQLSyntax), name)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))), maybeFieldType.map[scalikejdbc.interpolation.SQLSyntax](((fieldType: org.make.core.personality.FieldType) => scalikejdbc.`package`.sqls.eq[org.make.core.personality.FieldType]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("fieldType"): scalikejdbc.interpolation.SQLSyntax), fieldType)(org.make.api.technical.ScalikeSupport.stringEnumBinders[org.make.core.personality.FieldType]((FieldType: enumeratum.values.StringEnum[org.make.core.personality.FieldType]))))), maybeRequired.map[scalikejdbc.interpolation.SQLSyntax](((required: Boolean) => scalikejdbc.`package`.sqls.eq[Boolean]((DefaultPersistentPersonalityRoleFieldService.this.personalityRoleFieldAlias.field("required"): scalikejdbc.interpolation.SQLSyntax), required)(scalikejdbc.this.ParameterBinderFactory.booleanParameterBinderFactory)))))).map[Int](((x$5: scalikejdbc.WrappedResultSet) => x$5.int(1))).single; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[Int,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[Int,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[Int,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) }.getOrElse[Int](0) }); <artifact> val x$8: scalikejdbc.TxBoundary[Int] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Int](x$7); qual$1.retryableTx[Int](x$7)(x$8) })(context)
155 21781 6857 - 6877 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentPersonalityRoleFieldServiceComponent.this.readExecutionContext
156 20796 6884 - 7110 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[Boolean]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("WRITE") = "WRITE"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("WRITE", x$2); scalikejdbc.NamedDB.apply("WRITE", x$2)(x$3) }); <artifact> val x$4: scalikejdbc.DBSession => Boolean @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => scalikejdbc.`package`.withSQL.apply[scalikejdbc.UpdateOperation](scalikejdbc.`package`.deleteFrom.apply(org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField).where(scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.column.field("id"): scalikejdbc.interpolation.SQLSyntax), personalityRoleFieldId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))).execute.apply()(session)); <artifact> val x$5: scalikejdbc.TxBoundary[Boolean] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Boolean](x$4); qual$1.retryableTx[Boolean](x$4)(x$5) })(context)
156 19903 6890 - 6890 ApplyToImplicitArgs cats.instances.FutureInstances.catsStdInstancesForFuture cats.implicits.catsStdInstancesForFuture(context)
161 21957 6884 - 7115 Select cats.Functor.Ops.void cats.implicits.toFunctorOps[scala.concurrent.Future, Boolean](scala.concurrent.Future.apply[Boolean]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("WRITE") = "WRITE"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("WRITE", x$2); scalikejdbc.NamedDB.apply("WRITE", x$2)(x$3) }); <artifact> val x$4: scalikejdbc.DBSession => Boolean @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => scalikejdbc.`package`.withSQL.apply[scalikejdbc.UpdateOperation](scalikejdbc.`package`.deleteFrom.apply(org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField).where(scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentPersonalityRoleFieldService.this.column.field("id"): scalikejdbc.interpolation.SQLSyntax), personalityRoleFieldId.value)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))).execute.apply()(session)); <artifact> val x$5: scalikejdbc.TxBoundary[Boolean] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Boolean](x$4); qual$1.retryableTx[Boolean](x$4)(x$5) })(context))(cats.implicits.catsStdInstancesForFuture(context)).void
177 21865 7424 - 7681 Apply org.make.core.personality.PersonalityRoleField.apply org.make.core.personality.PersonalityRoleField.apply(org.make.core.personality.PersonalityRoleFieldId.apply(PersistentPersonalityRoleField.this.id), org.make.core.personality.PersonalityRoleId.apply(PersistentPersonalityRoleField.this.personalityRoleId), PersistentPersonalityRoleField.this.name, org.make.core.personality.FieldType.withValue(PersistentPersonalityRoleField.this.fieldType), PersistentPersonalityRoleField.this.required)
178 20997 7502 - 7504 Select org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.id PersistentPersonalityRoleField.this.id
178 19989 7479 - 7505 Apply org.make.core.personality.PersonalityRoleFieldId.apply org.make.core.personality.PersonalityRoleFieldId.apply(PersistentPersonalityRoleField.this.id)
179 20687 7535 - 7571 Apply org.make.core.personality.PersonalityRoleId.apply org.make.core.personality.PersonalityRoleId.apply(PersistentPersonalityRoleField.this.personalityRoleId)
179 21617 7553 - 7570 Select org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.personalityRoleId PersistentPersonalityRoleField.this.personalityRoleId
180 20194 7588 - 7592 Select org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.name PersistentPersonalityRoleField.this.name
181 21791 7634 - 7643 Select org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.fieldType PersistentPersonalityRoleField.this.fieldType
181 20804 7614 - 7644 Apply enumeratum.values.ValueEnum.withValue org.make.core.personality.FieldType.withValue(PersistentPersonalityRoleField.this.fieldType)
182 19878 7665 - 7673 Select org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.required PersistentPersonalityRoleField.this.required
190 20970 7882 - 7948 Apply scala.collection.SeqFactory.Delegate.apply scala.`package`.Seq.apply[String]("id", "personality_role_id", "name", "field_type", "required")
191 19960 7988 - 8037 Literal <nosymbol> "id,personality_role_id,name,field_type,required"
193 21624 8076 - 8100 Literal <nosymbol> "personality_role_field"
202 20131 8494 - 8884 Apply org.make.api.personality.DefaultPersistentPersonalityRoleFieldServiceComponent.PersistentPersonalityRoleField.apply DefaultPersistentPersonalityRoleFieldServiceComponent.this.PersistentPersonalityRoleField.apply(resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("id"): scalikejdbc.interpolation.SQLSyntax))), resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("personalityRoleId"): scalikejdbc.interpolation.SQLSyntax))), resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("name"): scalikejdbc.interpolation.SQLSyntax))), resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("fieldType"): scalikejdbc.interpolation.SQLSyntax))), resultSet.boolean(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("required"): scalikejdbc.interpolation.SQLSyntax))))
203 20592 8562 - 8586 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("id"): scalikejdbc.interpolation.SQLSyntax))
203 20125 8545 - 8587 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("id"): scalikejdbc.interpolation.SQLSyntax)))
204 20766 8617 - 8674 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("personalityRoleId"): scalikejdbc.interpolation.SQLSyntax)))
204 21823 8634 - 8673 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("personalityRoleId"): scalikejdbc.interpolation.SQLSyntax))
205 21394 8691 - 8735 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("name"): scalikejdbc.interpolation.SQLSyntax)))
205 19885 8708 - 8734 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("name"): scalikejdbc.interpolation.SQLSyntax))
206 20921 8774 - 8805 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("fieldType"): scalikejdbc.interpolation.SQLSyntax))
206 20079 8757 - 8806 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("fieldType"): scalikejdbc.interpolation.SQLSyntax)))
207 21584 8845 - 8875 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("required"): scalikejdbc.interpolation.SQLSyntax))
207 20597 8827 - 8876 Apply scalikejdbc.WrappedResultSet.boolean resultSet.boolean(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((personalityResultName.field("required"): scalikejdbc.interpolation.SQLSyntax)))