private def createOrUpdateYoutubeClaim()

in app/model/commands/PublishAtomCommand.scala [198:229]


  private def createOrUpdateYoutubeClaim(maybePublishedAtom: Option[MediaAtom], previewAtom: MediaAtom, asset: Asset): Future[MediaAtom] = Future{
    maybePublishedAtom match {
      case Some(publishedAtom) => {
        if (!hasNewAssets(previewAtom, publishedAtom) && (previewAtom.blockAds == publishedAtom.blockAds)) {
          YouTubeMessage(previewAtom.id, "N/A", "Claim Update", "No change to assets or BlockAds field, not editing YouTube Claim").logMessage()
          previewAtom
        } else {
          previewAtom.category match {
            case Category.Hosted | Category.Paid => {
              val claimUpdate = youtube.createOrUpdateClaim(previewAtom.id, asset.id, AdSettings.NONE)
              handleYouTubeMessages(claimUpdate, "YouTube Claim Update: Block ads on Glabs atom", previewAtom, asset.id)
            }
            case _ => {
              val adSettings = AdSettings(youtube.minDurationForAds, youtube.minDurationForMidroll, previewAtom)
              val activeAssetClaimUpdate = youtube.createOrUpdateClaim(previewAtom.id, asset.id, adSettings)
              handleYouTubeMessages(activeAssetClaimUpdate, "YouTube Claim Update: block ads updated", previewAtom, asset.id)
              val oldActiveAsset = publishedAtom.getActiveAsset().get
              val oldActiveAssetClaimUpdate = youtube.createOrUpdateClaim(previewAtom.id, oldActiveAsset.id, AdSettings.NONE)
              handleYouTubeMessages(oldActiveAssetClaimUpdate, "YouTube Claim Update: ads blocked on previous active asset",
                previewAtom, oldActiveAsset.id)
            }
          }
        }
      }
      // atom hasn't been published yet
      case _ => {
        val adSettings = AdSettings(youtube.minDurationForAds, youtube.minDurationForMidroll, previewAtom)
        val claimUpdate = youtube.createOrUpdateClaim(previewAtom.id, asset.id, adSettings)
        handleYouTubeMessages(claimUpdate, "YouTube Claim Update: creating a claim", previewAtom, asset.id)
      }
    }
  }