Skip to content

Instantly share code, notes, and snippets.

@humandb
Last active August 29, 2015 14:07
Show Gist options
  • Save humandb/e47df0167070d77712f5 to your computer and use it in GitHub Desktop.
Save humandb/e47df0167070d77712f5 to your computer and use it in GitHub Desktop.
Delivery Service - S3 to Youtube API call
{
"items" : [
{
"source" : {
"uri" : "s3://path/to/file.mp4",
"metadata" : {}
},
"destination" : {
"uri" : "youtube://owner/channel-id",
"metadata" : {
"title" : "Test title",
"description": "Test description",
"tags": ["tag", "tag2"],
"privacyStatus" : "public",
"ownership" : {
"list": [],
"mode": "exclude"
},
"matchPolicy": {
"contentType" : "audio",
"action" : "monetize",
"territories": {
"list" : [ "ES", "PT"],
"mode": "include"
}
},
"usagePolicy" : {
"contentType" : "audiovisual",
"action" : "block",
"territories" : {
"list" : [],
"mode": "exclude"
}
}
}
}
}
]
}
@humandb
Copy link
Author

humandb commented Oct 14, 2014

Yes, you can have only one usage policy.

TBH, I don't see that coming in a foreseeable future so I wouldn't be bothered with that now, plus the code behind it should be flexible enough to support multiple match policies with minimal changes, in fact, it's just changing a Either[PolicyId, PolicyDefinition] to List[Either[PolicyId, PolicyDefinition]] and doing a couple of tweaks in the code.

@henricook
Copy link

Thinking about it, I guess really i'm talking about a policy of multiple rules, rather than multiple policies so you'd perhaps have to add some concept of a rule eventually. You can deal with it at the time - i guess i'm too used to old jobs where we didn't have tests or QA and building stuff in in advance reduced the chance of you breaking it on production later :p

@henricook
Copy link

Should we be adding an embeddable true/false into this for next sprint?

@humandb
Copy link
Author

humandb commented Oct 14, 2014

I was thinking exactly about the same thing, the change is the API would be minimal, something like,

"matchPolicies": [
{
  "contentType" : "audio",
  "action" : "monetize",
  "territories": {
    "list" : [ "ES", "PT"],
    "mode": "include"
  }
},
{
  "contentType" : "audio",
  "action" : "block",
  "territories": {
    "list" : [ "US", "CA"],
    "mode": "include"
  }
}
],

@henricook
Copy link

Cool as long as platform bear in mind this might happen eventually in their DB model, the change for them would be a single argument to an array later - which i guess is fine

@humandb
Copy link
Author

humandb commented Oct 14, 2014

Note to self, embeddable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment