import jenkins.model.Jenkins
import jenkins.security.ApiTokenProperty
import jenkins.security.apitoken.*

println "=====L3_4_MINT_API_TOKEN_FINAL====="
try {
  def adminUser = Jenkins.instance.getUser("admin")
  def prop = adminUser.getProperty(ApiTokenProperty)
  def store = prop.getTokenStore()
  println "store_class: ${store.class.name}"

  // Static method: generateNewToken(String name)
  def result = ApiTokenStore.generateNewToken("scope-test-2026-09-29")
  println "TOKEN_MINTED: YES"
  println "TOKEN_NAME: scope-test-2026-09-29"
  println "TOKEN_VALUE: ${result.plainValue}"
  println "TOKEN_UUID: ${result.token.uuid}"
  println "TOKEN_CREATED: ${new Date()}"
} catch(Exception e) {
  println "TOKEN_MINT_ERR: ${e.class.name}: ${e.message}"
}

println "=====DONE====="
