refactor: simplify onboarding cache contracts

This commit is contained in:
Jesse_Chen
2026-07-20 00:07:24 +08:00
parent 346ec02fd2
commit a9ffbd9e0a
5 changed files with 30 additions and 61 deletions
@@ -19,11 +19,6 @@ export type OnboardingCacheIdentity = {
readonly pendingVersion: string;
};
export type OnboardingCompletionTransition = {
readonly expectedVersion: string;
readonly readyVersion: string;
};
type OnboardingCacheObservation<Payload> = {
readonly identity: OnboardingCacheIdentity;
readonly observedVersion: string | null;
@@ -83,12 +78,3 @@ export function decideOnboardingCache<Payload>(
pendingVersion: observation.identity.pendingVersion,
};
}
export function createOnboardingCompletionTransition(
identity: OnboardingCacheIdentity,
): OnboardingCompletionTransition {
return {
expectedVersion: identity.pendingVersion,
readyVersion: identity.readyVersion,
};
}
+2 -4
View File
@@ -1,6 +1,5 @@
import {
createOnboardingCacheIdentity,
createOnboardingCompletionTransition,
decideOnboardingCache,
} from "./onboarding-cache-policy.ts";
import {
@@ -181,11 +180,10 @@ export function createOnboardingPost(dependencies: OnboardingPostDependencies):
);
}
const completion = createOnboardingCompletionTransition(identity);
const completed = await session.repository.completeProfile({
userId: session.userId,
expectedPendingVersion: completion.expectedVersion,
readyVersion: completion.readyVersion,
expectedPendingVersion: identity.pendingVersion,
readyVersion: identity.readyVersion,
payload,
generatedAt: dependencies.now().toISOString(),
});