For cloud, a Task must have one of flux or scriptID. If it has scriptID, then it may have other fields (that aren't compatible with flux in a create request).
Differentiating the schemas with oneOf breaks the current UI tests--e.g.:
@jstirnaman
src/tasks/containers/TaskPage.test.tsx:259:66 - error TS2339: Property 'flux' does not exist on type 'TaskCreateRequest | TaskWithScriptCreateRequest'.
Property 'flux' does not exist on type 'TaskWithScriptCreateRequest'.
I'm assuming it needs a discriminator to know which schema to use? I ran yarn generate to generate src/client/* locally and I don't even see TaskWithScriptCreateRequest in the results, so I 'm confused.
I'll undo this for now and move it to my someday list. It seems beneficial to clients if they could discern which properties are compatible and required. I hate having it in human-readable-only fields.
Originally posted by @jstirnaman in #591 (comment)