@@ -25,6 +25,8 @@ class Transformations[F[_]: Monad](val requestSession: RequestSession[F])
2525 import Transformations ._
2626 override val baseUrl = uri " ${requestSession.baseUrl}/transformations "
2727
28+ val schedules : TransformationSchedules [F ] = new TransformationSchedules [F ](requestSession)
29+
2830 override private [sdk] def readWithCursor (
2931 cursor : Option [String ],
3032 limit : Option [Int ],
@@ -62,12 +64,24 @@ class Transformations[F[_]: Monad](val requestSession: RequestSession[F])
6264 )
6365
6466 override def createItems (items : Items [TransformConfigCreate ]): F [Seq [TransformConfigRead ]] =
65- Create .createItems[F , TransformConfigRead , TransformConfigCreate ](requestSession, baseUrl, items)
67+ Create .createItems[F , TransformConfigRead , TransformConfigCreate ](
68+ requestSession,
69+ baseUrl,
70+ items
71+ )
6672
67- override def updateById (items : Map [Long , StandardTransformConfigUpdate ]): F [Seq [TransformConfigRead ]] =
68- UpdateById .updateById[F , TransformConfigRead , StandardTransformConfigUpdate ](requestSession, baseUrl, items)
73+ override def updateById (
74+ items : Map [Long , StandardTransformConfigUpdate ]
75+ ): F [Seq [TransformConfigRead ]] =
76+ UpdateById .updateById[F , TransformConfigRead , StandardTransformConfigUpdate ](
77+ requestSession,
78+ baseUrl,
79+ items
80+ )
6981
70- override def updateByExternalId (items : Map [String , StandardTransformConfigUpdate ]): F [Seq [TransformConfigRead ]] =
82+ override def updateByExternalId (
83+ items : Map [String , StandardTransformConfigUpdate ]
84+ ): F [Seq [TransformConfigRead ]] =
7185 UpdateByExternalId .updateByExternalId[F , TransformConfigRead , StandardTransformConfigUpdate ](
7286 requestSession,
7387 baseUrl,
@@ -79,21 +93,6 @@ class Transformations[F[_]: Monad](val requestSession: RequestSession[F])
7993 override def deleteByIds (ids : Seq [Long ], ignoreUnknownIds : Boolean ): F [Unit ] =
8094 DeleteByIds .deleteByIdsWithIgnoreUnknownIds(requestSession, baseUrl, ids, ignoreUnknownIds)
8195
82- def deleteByIds (
83- ids : Seq [Long ],
84- recursive : Boolean ,
85- ignoreUnknownIds : Boolean
86- ): F [Unit ] =
87- requestSession.post[Unit , Unit , ItemsWithRecursiveAndIgnoreUnknownIds ](
88- ItemsWithRecursiveAndIgnoreUnknownIds (
89- ids.map(CogniteInternalId .apply),
90- recursive,
91- ignoreUnknownIds
92- ),
93- uri " $baseUrl/delete " ,
94- _ => ()
95- )
96-
9796 override def deleteByExternalIds (externalIds : Seq [String ]): F [Unit ] =
9897 deleteByExternalIds(externalIds, false )
9998
@@ -105,28 +104,12 @@ class Transformations[F[_]: Monad](val requestSession: RequestSession[F])
105104 ignoreUnknownIds
106105 )
107106
108- def deleteByExternalIds (
109- externalIds : Seq [String ],
110- recursive : Boolean ,
111- ignoreUnknownIds : Boolean
112- ): F [Unit ] =
113- requestSession.post[Unit , Unit , ItemsWithRecursiveAndIgnoreUnknownIds ](
114- ItemsWithRecursiveAndIgnoreUnknownIds (
115- externalIds.map(CogniteExternalId .apply),
116- recursive,
117- ignoreUnknownIds
118- ),
119- uri " $baseUrl/delete " ,
120- _ => ()
121- )
122-
123-
124107 def query [I ](
125108 query : String ,
126109 limit : Int = 1000
127110 )(implicit itemDecoder : Decoder [I ]): F [QueryResponse [I ]] = {
128111 implicit val responseItemsDecoder : Decoder [Items [I ]] = deriveDecoder[Items [I ]]
129- responseItemsDecoder.hashCode // suppress no usage warning ... 🤦
112+ val _ = itemDecoder.hashCode + responseItemsDecoder.hashCode // suppress no usage warnings ... 🤦
130113 implicit val responseDecoder : Decoder [QueryResponse [I ]] = deriveDecoder[QueryResponse [I ]]
131114 requestSession.post[QueryResponse [I ], QueryResponse [I ], QueryQuery ](
132115 QueryQuery (query),
@@ -135,6 +118,7 @@ class Transformations[F[_]: Monad](val requestSession: RequestSession[F])
135118 )
136119 }
137120
121+ @ SuppressWarnings (Array (" org.wartremover.warts.TraversableOps" ))
138122 def queryOne [I ](
139123 q : String
140124 )(implicit itemDecoder : Decoder [I ]): F [I ] =
@@ -148,8 +132,10 @@ object Transformations {
148132 implicit val readItemsDecoder : Decoder [Items [TransformConfigRead ]] =
149133 deriveDecoder[Items [TransformConfigRead ]]
150134 implicit val createEncoder : Encoder [TransformConfigCreate ] = deriveEncoder[TransformConfigCreate ]
151- implicit val createItemsEncoder : Encoder [Items [TransformConfigCreate ]] = deriveEncoder[Items [TransformConfigCreate ]]
152- implicit val updateEncoder : Encoder [StandardTransformConfigUpdate ] = deriveEncoder[StandardTransformConfigUpdate ]
135+ implicit val createItemsEncoder : Encoder [Items [TransformConfigCreate ]] =
136+ deriveEncoder[Items [TransformConfigCreate ]]
137+ implicit val updateEncoder : Encoder [StandardTransformConfigUpdate ] =
138+ deriveEncoder[StandardTransformConfigUpdate ]
153139
154140 implicit val errorOrUnitDecoder : Decoder [Either [CdpApiError , Unit ]] =
155141 EitherDecoder .eitherDecoder[CdpApiError , Unit ]
@@ -161,5 +147,101 @@ object Transformations {
161147 implicit val queryEncoder : Encoder [QueryQuery ] =
162148 deriveEncoder[QueryQuery ]
163149 implicit val querySchemaDecoder : Decoder [QuerySchemaColumn ] = deriveDecoder[QuerySchemaColumn ]
164- implicit val querySchemaItemsDecoder : Decoder [Items [QuerySchemaColumn ]] = deriveDecoder[Items [QuerySchemaColumn ]]
150+ implicit val querySchemaItemsDecoder : Decoder [Items [QuerySchemaColumn ]] =
151+ deriveDecoder[Items [QuerySchemaColumn ]]
152+ }
153+
154+ class TransformationSchedules [F [_]](val requestSession : RequestSession [F ])
155+ extends WithRequestSession [F ]
156+ with Create [TransformationScheduleRead , TransformationScheduleCreate , F ]
157+ with RetrieveByIdsWithIgnoreUnknownIds [TransformationScheduleRead , F ]
158+ with Readable [TransformationScheduleRead , F ]
159+ with RetrieveByExternalIdsWithIgnoreUnknownIds [TransformationScheduleRead , F ]
160+ with DeleteByIdsWithIgnoreUnknownIds [F , Long ]
161+ with DeleteByExternalIdsWithIgnoreUnknownIds [F ]
162+ // with UpdateById[TransformConfigRead, StandardTransformConfigUpdate, F]
163+ // with UpdateByExternalId[TransformConfigRead, StandardTransformConfigUpdate, F]
164+ {
165+ import TransformationSchedules ._
166+ override val baseUrl = uri " ${requestSession.baseUrl}/transformations/schedules "
167+
168+ override private [sdk] def readWithCursor (
169+ cursor : Option [String ],
170+ limit : Option [Int ],
171+ partition : Option [Partition ]
172+ ): F [ItemsWithCursor [TransformationScheduleRead ]] =
173+ Readable .readWithCursor(
174+ requestSession,
175+ baseUrl,
176+ cursor,
177+ limit,
178+ partition,
179+ 100
180+ )
181+
182+ override def retrieveByIds (
183+ ids : Seq [Long ],
184+ ignoreUnknownIds : Boolean
185+ ): F [Seq [TransformationScheduleRead ]] =
186+ RetrieveByIdsWithIgnoreUnknownIds .retrieveByIds(
187+ requestSession,
188+ baseUrl,
189+ ids,
190+ ignoreUnknownIds
191+ )
192+
193+ override def retrieveByExternalIds (
194+ externalIds : Seq [String ],
195+ ignoreUnknownIds : Boolean
196+ ): F [Seq [TransformationScheduleRead ]] =
197+ RetrieveByExternalIdsWithIgnoreUnknownIds .retrieveByExternalIds(
198+ requestSession,
199+ baseUrl,
200+ externalIds,
201+ ignoreUnknownIds
202+ )
203+
204+ override def createItems (
205+ items : Items [TransformationScheduleCreate ]
206+ ): F [Seq [TransformationScheduleRead ]] =
207+ Create .createItems[F , TransformationScheduleRead , TransformationScheduleCreate ](
208+ requestSession,
209+ baseUrl,
210+ items
211+ )
212+
213+ override def deleteByIds (ids : Seq [Long ]): F [Unit ] = deleteByIds(ids, false )
214+
215+ override def deleteByIds (ids : Seq [Long ], ignoreUnknownIds : Boolean ): F [Unit ] =
216+ DeleteByIds .deleteByIdsWithIgnoreUnknownIds(requestSession, baseUrl, ids, ignoreUnknownIds)
217+
218+ override def deleteByExternalIds (externalIds : Seq [String ]): F [Unit ] =
219+ deleteByExternalIds(externalIds, false )
220+
221+ override def deleteByExternalIds (externalIds : Seq [String ], ignoreUnknownIds : Boolean ): F [Unit ] =
222+ DeleteByExternalIds .deleteByExternalIdsWithIgnoreUnknownIds(
223+ requestSession,
224+ baseUrl,
225+ externalIds,
226+ ignoreUnknownIds
227+ )
228+ }
229+
230+ object TransformationSchedules {
231+ implicit val readDecoder : Decoder [TransformationScheduleRead ] =
232+ deriveDecoder[TransformationScheduleRead ]
233+ implicit val readItemsWithCursorDecoder : Decoder [ItemsWithCursor [TransformationScheduleRead ]] =
234+ deriveDecoder[ItemsWithCursor [TransformationScheduleRead ]]
235+ implicit val readItemsDecoder : Decoder [Items [TransformationScheduleRead ]] =
236+ deriveDecoder[Items [TransformationScheduleRead ]]
237+ implicit val createEncoder : Encoder [TransformationScheduleCreate ] =
238+ deriveEncoder[TransformationScheduleCreate ]
239+ implicit val createItemsEncoder : Encoder [Items [TransformationScheduleCreate ]] =
240+ deriveEncoder[Items [TransformationScheduleCreate ]]
241+ // implicit val updateEncoder: Encoder[StandardTransformConfigUpdate] = deriveEncoder[StandardTransformConfigUpdate]
242+
243+ implicit val errorOrUnitDecoder : Decoder [Either [CdpApiError , Unit ]] =
244+ EitherDecoder .eitherDecoder[CdpApiError , Unit ]
245+ implicit val cogniteExternalIdDecoder : Decoder [CogniteExternalId ] =
246+ deriveDecoder[CogniteExternalId ]
165247}
0 commit comments