Skip to content

Commit 91e95b7

Browse files
authored
fix(sanity): use SANITY_API_WRITE_TOKEN for dataset operations (#704)
1 parent 50ceb7d commit 91e95b7

4 files changed

Lines changed: 9 additions & 3 deletions

File tree

‎.github/workflows/deploy.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ jobs:
6565
pnpm exec sanity blueprints deploy --organization-id "$ORG_ID" --stack ${{ vars.SANITY_STUDIO_DATASET }}
6666
env:
6767
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
68+
SANITY_API_WRITE_TOKEN: ${{ secrets.SANITY_API_WRITE_TOKEN }}
6869
SANITY_STUDIO_PROJECT_ID: ${{ vars.SANITY_STUDIO_PROJECT_ID }}
6970
SANITY_STUDIO_DATASET: ${{ vars.SANITY_STUDIO_DATASET }}
7071
YOUTUBE_API_KEY: ${{ secrets.YOUTUBE_API_KEY }}
@@ -123,6 +124,7 @@ jobs:
123124
pnpm exec sanity blueprints deploy --organization-id "$ORG_ID" --stack ${{ vars.SANITY_STUDIO_DATASET }}
124125
env:
125126
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
127+
SANITY_API_WRITE_TOKEN: ${{ secrets.SANITY_API_WRITE_TOKEN }}
126128
SANITY_STUDIO_PROJECT_ID: ${{ vars.SANITY_STUDIO_PROJECT_ID }}
127129
SANITY_STUDIO_DATASET: ${{ vars.SANITY_STUDIO_DATASET }}
128130
YOUTUBE_API_KEY: ${{ secrets.YOUTUBE_API_KEY }}

‎.github/workflows/sync-missing-youtube-transcripts.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
pnpm exec sanity functions test sync-missing-youtube-transcripts --dataset ${{ inputs.dataset }}
3636
env:
3737
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
38+
SANITY_API_WRITE_TOKEN: ${{ secrets.SANITY_API_WRITE_TOKEN }}
3839
SANITY_STUDIO_PROJECT_ID: ${{ vars.SANITY_STUDIO_PROJECT_ID }}
3940
SANITY_STUDIO_DATASET: ${{ inputs.dataset }}
4041
YOUTUBE_API_KEY: ${{ secrets.YOUTUBE_API_KEY }}

‎apps/sanity/functions/sync-missing-youtube-transcripts/index.ts‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,12 +222,14 @@ export const handler = scheduledEventHandler(async ({ context }) => {
222222
);
223223
}
224224

225-
// 2. Token validation
225+
// 2. Token validation: prefer Sanity runtime token, then project write token, then fallback
226226
const token =
227-
context.clientOptions?.token || process.env.SANITY_AUTH_TOKEN;
227+
context.clientOptions?.token ||
228+
process.env.SANITY_API_WRITE_TOKEN ||
229+
process.env.SANITY_AUTH_TOKEN;
228230
if (!token) {
229231
throw new Error(
230-
"[Sync Missing YouTube Transcripts] Missing Sanity API token (neither context.clientOptions.token nor SANITY_AUTH_TOKEN is present).",
232+
"[Sync Missing YouTube Transcripts] Missing Sanity API token (neither context.clientOptions.token nor SANITY_API_WRITE_TOKEN is present).",
231233
);
232234
}
233235

‎sanity.blueprint.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ export default defineBlueprint({
6262
env: {
6363
YOUTUBE_API_KEY: process.env.YOUTUBE_API_KEY || "",
6464
SANITY_AUTH_TOKEN: process.env.SANITY_AUTH_TOKEN || "",
65+
SANITY_API_WRITE_TOKEN: process.env.SANITY_API_WRITE_TOKEN || "",
6566
SANITY_STUDIO_PROJECT_ID:
6667
process.env.SANITY_STUDIO_PROJECT_ID || "hfh83o0w",
6768
SANITY_STUDIO_DATASET:

0 commit comments

Comments
 (0)