apple creative-assets: place Header and Search Results assets once Apple approved them (the version page offers only approved assets); waiting files are reported per locale and placement with their upload date and the re-run command, in the run, --verify, validate and the report; iPhone Duo: the published API spec still has no Duo type, the note says the console takes Duo and the API does not yet
This commit is contained in:
parent
47dfd372fe
commit
c2f34c62f3
13 changed files with 163 additions and 78 deletions
|
|
@ -35,6 +35,7 @@ import type { ScanFinding } from './lib/scan/rules';
|
|||
import { playClient } from './play/client';
|
||||
import { listOneTimeProducts } from './play/products';
|
||||
import { creativeNote } from './shots/creative';
|
||||
import { creativeWaiting, localCreative } from './apple/creative-assets';
|
||||
|
||||
/** Profile facts for the checks: config + local credentials + public URL checks (no store API). */
|
||||
export async function collectProfile(loaded: Loaded): Promise<ProfileFacts> {
|
||||
|
|
@ -51,6 +52,15 @@ export async function collectProfile(loaded: Loaded): Promise<ProfileFacts> {
|
|||
};
|
||||
}
|
||||
|
||||
/** Header and Search Results files uploaded but not approved yet (the slots take only approved assets). Never fails
|
||||
* validate: a local file problem or an unreadable library is a note for creative-assets itself. */
|
||||
async function creativeWaitingOf(ctx: Ctx, c: Awaited<ReturnType<typeof ascClient>>, appId: string): Promise<AppleSnapshot['creativeWaiting']> {
|
||||
try {
|
||||
const { local } = localCreative(ctx);
|
||||
return local.size ? await creativeWaiting(c, appId, local) : [];
|
||||
} catch { return []; }
|
||||
}
|
||||
|
||||
export async function collectApple(ctx: Ctx): Promise<AppleSnapshot> {
|
||||
const { config, root } = ctx.loaded;
|
||||
const c = await ascClient(root, config.apple!.bundleId, config.apple?.appId);
|
||||
|
|
@ -118,6 +128,7 @@ export async function collectApple(ctx: Ctx): Promise<AppleSnapshot> {
|
|||
profile: await collectProfile(ctx.loaded),
|
||||
version: v ? { versionString: v.attributes.versionString, state: v.attributes.appVersionState ?? v.attributes.appStoreState, copyright: v.attributes.copyright ?? null, platform } : null,
|
||||
otherPlatformVersions,
|
||||
creativeWaiting: await creativeWaitingOf(ctx, c, appId),
|
||||
configCopyright: config.app.copyright,
|
||||
build, locales, reviewDetail, ageRating,
|
||||
expectedLocales: config.languages.map(l => l.apple).filter((x): x is string => !!x),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue