Use with FS2

sbt
libraryDependencies += "uk.gov.nationalarchives" %% "preservica-client-fs2" % "0.0.71"
Maven
<dependencies>
  <dependency>
    <groupId>uk.gov.nationalarchives</groupId>
    <artifactId>preservica-client-fs2_3</artifactId>
    <version>0.0.71</version>
  </dependency>
</dependencies>
Gradle
dependencies {
  implementation "uk.gov.nationalarchives:preservica-client-fs2_3:0.0.71"
}
object AdminFs2 {
  import cats.effect.IO
  import uk.gov.nationalarchives.dp.client.FileInfo.{
    IndexDefinitionInfo,
    MetadataTemplateInfo,
    SchemaFileInfo,
    TransformFileInfo
  }
  import uk.gov.nationalarchives.dp.client.fs2.Fs2Client

  val url = "https://test.preservica.com"
  val name = "name"
  val xmlData = "<SomeXml></SomeXml>"

  def updatePreservicaXml(): IO[Unit] = {
    for {
      client <- Fs2Client.adminClient(url, "secretName")
      updateIndexDefinitions <- client.addOrUpdateIndexDefinitions(IndexDefinitionInfo(name, xmlData) :: Nil)
      updateMetadataTemplates <- client.addOrUpdateMetadataTemplates(MetadataTemplateInfo(name, xmlData) :: Nil)
      updateSchemas <- client.addOrUpdateSchemas(SchemaFileInfo(name, "description", "originalName", xmlData) :: Nil)
      updateTransforms <- client.addOrUpdateTransforms(
        TransformFileInfo(name, "from", "to", "purpose", "originalName", xmlData) :: Nil
      )
    } yield ()
  }
}