mirror of
https://github.com/actions/cache.git
synced 2026-07-05 12:01:04 +00:00
Compare commits
37 Commits
755333eb16
...
87e656e41d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87e656e41d | ||
|
|
640a1c2554 | ||
|
|
c45d39173a | ||
|
|
11a6324cc7 | ||
|
|
8ac3d1967f | ||
|
|
ceefdff90e | ||
|
|
0e801000fd | ||
|
|
da1b6c90c6 | ||
|
|
0417c21165 | ||
|
|
203bc27916 | ||
|
|
1328a18e7e | ||
|
|
d35302b225 | ||
|
|
34ae092a8c | ||
|
|
39c1f23499 | ||
|
|
5a3ec84eff | ||
|
|
7de21022a7 | ||
|
|
76d40dd347 | ||
|
|
76dd5eb692 | ||
|
|
8c80c27c5e | ||
|
|
45cfd0e7ff | ||
|
|
edd449b9cf | ||
|
|
0576707e37 | ||
|
|
3105dc9754 | ||
|
|
9450d42d15 | ||
|
|
7d05b27fb9 | ||
|
|
507b84c6a6 | ||
|
|
f248408e15 | ||
|
|
c30eb5542e | ||
|
|
5b6ae99d8b | ||
|
|
eca7c65a55 | ||
|
|
1b5d75f5cf | ||
|
|
d4323d4df1 | ||
|
|
da26677639 | ||
|
|
7921ae235b | ||
|
|
3937731706 | ||
|
|
0c907a75c2 | ||
|
|
710893c236 |
@ -2,7 +2,7 @@ name: 'Publish Immutable Action Version'
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
types: [released]
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
|
||||
BIN
.licenses/NOTICE
generated
BIN
.licenses/NOTICE
generated
Binary file not shown.
BIN
.licenses/npm/@actions/cache.dep.yml
generated
BIN
.licenses/npm/@actions/cache.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@actions/exec.dep.yml
generated
BIN
.licenses/npm/@actions/exec.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/action.dep.yml
generated
BIN
.licenses/npm/@octokit/action.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/plugin-paginate-rest.dep.yml
generated
BIN
.licenses/npm/@octokit/plugin-paginate-rest.dep.yml
generated
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
generated
BIN
.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@protobuf-ts/plugin.dep.yml
generated
BIN
.licenses/npm/@protobuf-ts/plugin.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@protobuf-ts/protoc.dep.yml
generated
BIN
.licenses/npm/@protobuf-ts/protoc.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
generated
BIN
.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@protobuf-ts/runtime.dep.yml
generated
BIN
.licenses/npm/@protobuf-ts/runtime.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/agent-base-6.0.2.dep.yml
generated
BIN
.licenses/npm/agent-base-6.0.2.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/before-after-hook.dep.yml
generated
BIN
.licenses/npm/before-after-hook.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/camel-case.dep.yml
generated
BIN
.licenses/npm/camel-case.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/commander.dep.yml
generated
BIN
.licenses/npm/commander.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/concat-map.dep.yml
generated
BIN
.licenses/npm/concat-map.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/deprecation.dep.yml
generated
BIN
.licenses/npm/deprecation.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/dot-object.dep.yml
generated
BIN
.licenses/npm/dot-object.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/event-target-shim.dep.yml
generated
BIN
.licenses/npm/event-target-shim.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/events.dep.yml
generated
BIN
.licenses/npm/events.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/fs.realpath.dep.yml
generated
BIN
.licenses/npm/fs.realpath.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/glob.dep.yml
generated
BIN
.licenses/npm/glob.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/https-proxy-agent-5.0.1.dep.yml
generated
BIN
.licenses/npm/https-proxy-agent-5.0.1.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/inflight.dep.yml
generated
BIN
.licenses/npm/inflight.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/inherits.dep.yml
generated
BIN
.licenses/npm/inherits.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/lodash.dep.yml
generated
BIN
.licenses/npm/lodash.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/lower-case.dep.yml
generated
BIN
.licenses/npm/lower-case.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/minimatch.dep.yml
generated
BIN
.licenses/npm/minimatch.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/no-case.dep.yml
generated
BIN
.licenses/npm/no-case.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/pascal-case.dep.yml
generated
BIN
.licenses/npm/pascal-case.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/path-is-absolute.dep.yml
generated
BIN
.licenses/npm/path-is-absolute.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/path-to-regexp.dep.yml
generated
BIN
.licenses/npm/path-to-regexp.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/prettier.dep.yml
generated
BIN
.licenses/npm/prettier.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/sax.dep.yml
generated
BIN
.licenses/npm/sax.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/semver.dep.yml
generated
BIN
.licenses/npm/semver.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/ts-poet.dep.yml
generated
BIN
.licenses/npm/ts-poet.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/tslib-1.14.1.dep.yml
generated
BIN
.licenses/npm/tslib-1.14.1.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/twirp-ts.dep.yml
generated
BIN
.licenses/npm/twirp-ts.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/typescript.dep.yml
generated
BIN
.licenses/npm/typescript.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/webidl-conversions.dep.yml
generated
BIN
.licenses/npm/webidl-conversions.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/whatwg-url.dep.yml
generated
BIN
.licenses/npm/whatwg-url.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/xmlbuilder.dep.yml
generated
BIN
.licenses/npm/xmlbuilder.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/yaml.dep.yml
generated
BIN
.licenses/npm/yaml.dep.yml
generated
Binary file not shown.
@ -7,5 +7,6 @@
|
||||
"trailingComma": "none",
|
||||
"bracketSpacing": true,
|
||||
"arrowParens": "avoid",
|
||||
"parser": "typescript"
|
||||
"parser": "typescript",
|
||||
"endOfLine": "lf"
|
||||
}
|
||||
18
README.md
18
README.md
@ -338,9 +338,23 @@ There are a number of community practices/workarounds to fulfill specific requir
|
||||
|
||||
Please note that Windows environment variables (like `%LocalAppData%`) will NOT be expanded by this action. Instead, prefer using `~` in your paths which will expand to the HOME directory. For example, instead of `%LocalAppData%`, use `~\AppData\Local`. For a list of supported default environment variables, see the [Learn GitHub Actions: Variables](https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables) page.
|
||||
|
||||
## Contributing
|
||||
## Note
|
||||
|
||||
We would love for you to contribute to `actions/cache`. Pull requests are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
|
||||
Thank you for your interest in this GitHub repo, however, right now we are not taking contributions.
|
||||
|
||||
We continue to focus our resources on strategic areas that help our customers be successful while making developers' lives easier. While GitHub Actions remains a key part of this vision, we are allocating resources towards other areas of Actions and are not taking contributions to this repository at this time. The GitHub public roadmap is the best place to follow along for any updates on features we’re working on and what stage they’re in.
|
||||
|
||||
We are taking the following steps to better direct requests related to GitHub Actions, including:
|
||||
|
||||
1. We will be directing questions and support requests to our [Community Discussions area](https://github.com/orgs/community/discussions/categories/actions)
|
||||
|
||||
2. High Priority bugs can be reported through Community Discussions or you can report these to our support team https://support.github.com/contact/bug-report.
|
||||
|
||||
3. Security Issues should be handled as per our [security.md](SECURITY.md).
|
||||
|
||||
We will still provide security updates for this project and fix major breaking changes during this time.
|
||||
|
||||
You are welcome to still raise bugs in this repo.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
12
RELEASES.md
12
RELEASES.md
@ -1,5 +1,17 @@
|
||||
# Releases
|
||||
|
||||
### 4.2.3
|
||||
|
||||
- Bump `@actions/cache` to v4.0.3 (obfuscates SAS token in debug logs for cache entries)
|
||||
|
||||
### 4.2.2
|
||||
|
||||
- Bump `@actions/cache` to v4.0.2
|
||||
|
||||
### 4.2.1
|
||||
|
||||
- Bump `@actions/cache` to v4.0.1
|
||||
|
||||
### 4.2.0
|
||||
|
||||
TLDR; The cache backend service has been rewritten from the ground up for improved performance and reliability. [actions/cache](https://github.com/actions/cache) now integrates with the new cache service (v2) APIs.
|
||||
|
||||
5939
dist/restore-only/index.js
vendored
5939
dist/restore-only/index.js
vendored
File diff suppressed because one or more lines are too long
5939
dist/restore/index.js
vendored
5939
dist/restore/index.js
vendored
File diff suppressed because one or more lines are too long
5939
dist/save-only/index.js
vendored
5939
dist/save-only/index.js
vendored
File diff suppressed because one or more lines are too long
5939
dist/save/index.js
vendored
5939
dist/save/index.js
vendored
File diff suppressed because one or more lines are too long
1768
package-lock.json
generated
1768
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "cache",
|
||||
"version": "4.2.0",
|
||||
"version": "4.2.3",
|
||||
"private": true,
|
||||
"description": "Cache dependencies and build outputs",
|
||||
"main": "dist/restore/index.js",
|
||||
"scripts": {
|
||||
"build": "tsc && ncc build -o dist/restore src/restore.ts && ncc build -o dist/save src/save.ts && ncc build -o dist/restore-only src/restoreOnly.ts && ncc build -o dist/save-only src/saveOnly.ts",
|
||||
"test": "tsc --noEmit && jest --coverage",
|
||||
"lint": "eslint **/*.ts --cache",
|
||||
"format": "prettier --write **/*.ts",
|
||||
"format-check": "prettier --check **/*.ts"
|
||||
"lint": "eslint src/**/*.ts --cache __tests__/*.ts --cache",
|
||||
"format": "prettier --write **/**/*.ts",
|
||||
"format-check": "prettier --check **/**/*.ts"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -23,11 +23,11 @@
|
||||
"author": "GitHub",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/cache": "^4.0.0",
|
||||
"@actions/cache": "^4.0.3",
|
||||
"@actions/core": "^1.11.1",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/io": "^1.1.2",
|
||||
"@octokit/action": "^4.0.10"
|
||||
"@octokit/action": "^5.0.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^27.5.2",
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
import * as cache from "@actions/cache";
|
||||
import * as core from "@actions/core";
|
||||
import { RequestError } from "@octokit/request-error"
|
||||
import { OctokitResponse } from "@octokit/types"
|
||||
import { Octokit } from "@octokit/action";
|
||||
import { RequestError } from "@octokit/request-error";
|
||||
|
||||
import { RefKey } from "../constants";
|
||||
const { Octokit } = require("@octokit/action");
|
||||
|
||||
export function isGhes(): boolean {
|
||||
const ghUrl = new URL(
|
||||
@ -33,54 +32,69 @@ export function logWarning(message: string): void {
|
||||
core.info(`${warningPrefix}${message}`);
|
||||
}
|
||||
|
||||
export async function deleteCacheByKey(key: string, owner: string, repo: string) : Promise <number | void> {
|
||||
export async function deleteCacheByKey(
|
||||
key: string,
|
||||
owner: string,
|
||||
repo: string
|
||||
): Promise<number | void> {
|
||||
const octokit = new Octokit();
|
||||
let response;
|
||||
try {
|
||||
const gitRef = process.env[RefKey];
|
||||
let cacheEntry = await octokit.rest.actions.getActionsCacheList({
|
||||
const cacheEntry = await octokit.rest.actions.getActionsCacheList({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
key: key,
|
||||
ref: gitRef
|
||||
});
|
||||
const { data: {
|
||||
total_count,
|
||||
actions_caches
|
||||
}
|
||||
const {
|
||||
data: { total_count, actions_caches }
|
||||
} = cacheEntry;
|
||||
if (total_count !== 1 || total_count !== actions_caches.length) { // leave all find logic to the actual cache implementation. We just want to make sure we're returned a single element so we don't accidentally delete an entry that belongs to a different gitref.
|
||||
if (total_count !== 1 || total_count !== actions_caches.length) {
|
||||
// leave all find logic to the actual cache implementation. We just want to make sure we're returned a single element so we don't accidentally delete an entry that belongs to a different gitref.
|
||||
if (total_count > 1) {
|
||||
exports.logWarning(`More than one cache entry found for key ${key}`);
|
||||
}
|
||||
else if (total_count === 0 || actions_caches.length === 0) {
|
||||
exports.logWarning(`No cache entries for key ${key} belong to gitref ${gitRef}.`);
|
||||
exports.logWarning(
|
||||
`More than one cache entry found for key ${key}`
|
||||
);
|
||||
} else if (total_count === 0 || actions_caches.length === 0) {
|
||||
exports.logWarning(
|
||||
`No cache entries for key ${key} belong to gitref ${gitRef}.`
|
||||
);
|
||||
}
|
||||
// This situation is likely never actually going to come up.
|
||||
// Istanbul is being dumb and I can't ignore this path.
|
||||
else if (total_count !== actions_caches.length) {
|
||||
exports.logWarning(`Reported cache entry matches for ${key} does not match length of 'actions_caches' array in API response.`);
|
||||
exports.logWarning(
|
||||
`Reported cache entry matches for ${key} does not match length of 'actions_caches' array in API response.`
|
||||
);
|
||||
}
|
||||
core.info(`Skip trying to delete cache entry for key ${key}.`)
|
||||
core.info(`Skip trying to delete cache entry for key ${key}.`);
|
||||
return;
|
||||
}
|
||||
let id = actions_caches[0].id;
|
||||
const id = actions_caches[0].id;
|
||||
if (id) {
|
||||
response = await octokit.rest.actions.deleteActionsCacheById({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
cache_id: id
|
||||
});
|
||||
if (response.status === 204) {
|
||||
core.info(`Succesfully deleted cache with key: ${key}, id: ${id}`);
|
||||
core.info(
|
||||
`Succesfully deleted cache with key: ${key}, id: ${id}`
|
||||
);
|
||||
return 204;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
if (e instanceof RequestError) {
|
||||
let err = e as RequestError;
|
||||
let errData = err.response?.data as any | undefined;
|
||||
exports.logWarning(`Github API reported error: ${err.name} '${err.status}: ${errData?.message}'`);
|
||||
const err = e as RequestError;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const errMessage = (err.response?.data as any).message;
|
||||
exports.logWarning(
|
||||
`Github API reported error: ${err.name} '${err.status}: ${errMessage}'`
|
||||
);
|
||||
}
|
||||
core.info(`Couldn't delete cache entry for key ${key}.`)
|
||||
core.info(`Couldn't delete cache entry for key ${key}.`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,14 +1,18 @@
|
||||
/* istanbul ignore file */
|
||||
|
||||
import { Inputs } from "../constants";
|
||||
import { rest } from "msw";
|
||||
import { setupServer } from "msw/node";
|
||||
import nock from "nock";
|
||||
|
||||
export const successCacheKey = "Linux-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
export const wrongRefCacheKey = "Linux-latest-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
export const failureCacheKey = "Windows-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
export const passThroughCacheKey = "macOS-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
import { Inputs } from "../constants";
|
||||
|
||||
export const successCacheKey =
|
||||
"Linux-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
export const wrongRefCacheKey =
|
||||
"Linux-latest-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
export const failureCacheKey =
|
||||
"Windows-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
export const passThroughCacheKey =
|
||||
"macOS-node-bb828da54c148048dd17899ba9fda624811cfb43";
|
||||
const successCacheId = 1337;
|
||||
const failureCacheId = 69;
|
||||
|
||||
@ -61,39 +65,57 @@ export function clearInputs(): void {
|
||||
}
|
||||
|
||||
export const mockServer = setupServer(
|
||||
rest.delete('https://api.github.com/repos/owner/repo/actions/caches/', (req, res, ctx) => {
|
||||
return res(ctx.status(422),
|
||||
rest.delete(
|
||||
"https://api.github.com/repos/owner/repo/actions/caches/",
|
||||
(req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(422),
|
||||
ctx.json({
|
||||
message: "Invalid request.\n\nMissing required query parameter key",
|
||||
documentation_url: "https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key",
|
||||
message:
|
||||
"Invalid request.\n\nMissing required query parameter key",
|
||||
documentation_url:
|
||||
"https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key"
|
||||
})
|
||||
)
|
||||
}),
|
||||
rest.delete('https://api.github.com/repos/owner/repo/actions/caches/:id', (req, res, ctx) => {
|
||||
);
|
||||
}
|
||||
),
|
||||
rest.delete(
|
||||
"https://api.github.com/repos/owner/repo/actions/caches/:id",
|
||||
(req, res, ctx) => {
|
||||
const { id } = req.params;
|
||||
if (parseInt(id as string) === failureCacheId) {
|
||||
return res(ctx.status(404),
|
||||
return res(
|
||||
ctx.status(404),
|
||||
ctx.json({
|
||||
message: "Not Found",
|
||||
documentation_url: "https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id"
|
||||
}));
|
||||
documentation_url:
|
||||
"https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id"
|
||||
})
|
||||
);
|
||||
}
|
||||
return res(ctx.status(204));
|
||||
}),
|
||||
}
|
||||
),
|
||||
// This endpoint always returns 200/OK, what we're checking here is whether we can get a unique cache ID, to avoid deleting the wrong entry.
|
||||
rest.get('https://api.github.com/repos/owner/repo/actions/caches', (req, res, ctx) => {
|
||||
let key : string = req.url?.searchParams?.get('key') || '';
|
||||
let ref : string = req.url?.searchParams?.get('ref') || '';
|
||||
if (key === '' || ref === '') {
|
||||
return res(ctx.status(200),
|
||||
rest.get(
|
||||
"https://api.github.com/repos/owner/repo/actions/caches",
|
||||
(req, res, ctx) => {
|
||||
const key: string = req.url?.searchParams?.get("key") || "";
|
||||
const ref: string = req.url?.searchParams?.get("ref") || "";
|
||||
if (key === "" || ref === "") {
|
||||
return res(
|
||||
ctx.status(200),
|
||||
ctx.json({
|
||||
total_count: 2,
|
||||
actions_caches: [{
|
||||
actions_caches: [
|
||||
{
|
||||
id: 15,
|
||||
ref: "refs/heads/main",
|
||||
key: failureCacheKey,
|
||||
version: "73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0",
|
||||
last_accessed_at: "2022-12-29T22:06:42.683333300Z",
|
||||
version:
|
||||
"73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0",
|
||||
last_accessed_at:
|
||||
"2022-12-29T22:06:42.683333300Z",
|
||||
created_at: "2022-12-29T22:06:42.683333300Z",
|
||||
size_in_bytes: 6057793
|
||||
},
|
||||
@ -101,39 +123,51 @@ export const mockServer = setupServer(
|
||||
id: 16,
|
||||
ref: "refs/heads/another-feature-branch",
|
||||
key: failureCacheKey,
|
||||
version: "73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0",
|
||||
last_accessed_at: "2022-12-29T22:06:42.683333300Z",
|
||||
version:
|
||||
"73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0",
|
||||
last_accessed_at:
|
||||
"2022-12-29T22:06:42.683333300Z",
|
||||
created_at: "2022-12-29T22:06:42.683333300Z",
|
||||
size_in_bytes: 6057793
|
||||
}]
|
||||
}
|
||||
]
|
||||
})
|
||||
);
|
||||
}
|
||||
// This is the behavior seen when search doesn't find anything, but it is seen both when no key matches, as well as when the key matches but the entry belongs to another (likely the base) branch.
|
||||
else if (key === wrongRefCacheKey) {
|
||||
return res(ctx.status(200),
|
||||
return res(
|
||||
ctx.status(200),
|
||||
ctx.json({
|
||||
total_count: 0,
|
||||
actions_caches: []
|
||||
})
|
||||
);
|
||||
}
|
||||
else if (key === successCacheKey || key === failureCacheKey) {
|
||||
return res(ctx.status(200),
|
||||
} else if (key === successCacheKey || key === failureCacheKey) {
|
||||
return res(
|
||||
ctx.status(200),
|
||||
ctx.json({
|
||||
total_count: 1,
|
||||
actions_caches: [{
|
||||
id: (key === successCacheKey ? successCacheId : failureCacheId),
|
||||
actions_caches: [
|
||||
{
|
||||
id:
|
||||
key === successCacheKey
|
||||
? successCacheId
|
||||
: failureCacheId,
|
||||
ref: ref,
|
||||
key: key,
|
||||
version: "93a0f912fdb70083e929c1bf564bca2050be1c4e0932f7f9e78465ddcfbcc8f6",
|
||||
last_accessed_at: "2022-12-29T22:06:42.683333300Z",
|
||||
version:
|
||||
"93a0f912fdb70083e929c1bf564bca2050be1c4e0932f7f9e78465ddcfbcc8f6",
|
||||
last_accessed_at:
|
||||
"2022-12-29T22:06:42.683333300Z",
|
||||
created_at: "2022-12-29T22:06:42.683333300Z",
|
||||
size_in_bytes: 6057793
|
||||
}]
|
||||
}
|
||||
]
|
||||
})
|
||||
);
|
||||
}
|
||||
return req.passthrough();
|
||||
})
|
||||
}
|
||||
)
|
||||
);
|
||||
Loading…
Reference in New Issue
Block a user