Skip to content

Commit c2038b5

Browse files
committed
Retrieving a queue is working well
1 parent e2da181 commit c2038b5

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

apps/webapp/app/routes/api.v1.queues.$queueParam.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const SearchParamsSchema = z.object({
1111
export const loader = createLoaderApiRoute(
1212
{
1313
params: z.object({
14-
queueParam: z.string(),
14+
queueParam: z.string().transform((val) => val.replace(/%2F/g, "/")),
1515
}),
1616
searchParams: SearchParamsSchema,
1717
findResource: async () => 1, // This is a dummy function, we don't need to find a resource
@@ -22,7 +22,7 @@ export const loader = createLoaderApiRoute(
2222
? params.queueParam
2323
: {
2424
type: searchParams.type,
25-
name: decodeURIComponent(params.queueParam),
25+
name: decodeURIComponent(params.queueParam).replace(/%2F/g, "/"),
2626
};
2727

2828
const presenter = new QueueRetrievePresenter();

packages/core/src/v3/apiClient/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -749,9 +749,12 @@ export class ApiClient {
749749
const type = typeof queue === "string" ? "id" : queue.type;
750750
const value = typeof queue === "string" ? queue : queue.name;
751751

752+
// Explicitly encode slashes before encoding the rest of the string
753+
const encodedValue = encodeURIComponent(value.replace(/\//g, "%2F"));
754+
752755
return zodfetch(
753756
QueueItem,
754-
`${this.baseUrl}/api/v1/queues/${encodeURIComponent(value)}?type=${type}`,
757+
`${this.baseUrl}/api/v1/queues/${encodedValue}?type=${type}`,
755758
{
756759
method: "GET",
757760
headers: this.#getHeaders(false),

packages/trigger-sdk/src/v3/queues.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
apiClientManager,
44
ApiPromise,
55
ApiRequestOptions,
6+
flattenAttributes,
67
ListQueueOptions,
78
mergeRequestOptions,
89
OffsetLimitPagePromise,
@@ -68,7 +69,7 @@ export function retrieve(
6869
name: "queues.retrieve()",
6970
icon: "queue",
7071
attributes: {
71-
queue: typeof queue === "string" ? queue : queue.name,
72+
...flattenAttributes({ queue }),
7273
...accessoryAttributes({
7374
items: [
7475
{

references/hello-world/src/trigger/queues.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,16 @@ export const queuesTester = task({
1212
const retrievedFromId = await queues.retrieve(ctx.queue.id);
1313
logger.log("Retrieved from ID", { retrievedFromId });
1414

15-
const retrievedFromName = await queues.retrieve({
15+
const retrievedFromCtxName = await queues.retrieve({
1616
type: "task",
1717
name: ctx.queue.name,
1818
});
19+
logger.log("Retrieved from name", { retrievedFromCtxName });
20+
21+
const retrievedFromName = await queues.retrieve({
22+
type: "task",
23+
name: "queues-tester",
24+
});
1925
logger.log("Retrieved from name", { retrievedFromName });
2026
},
2127
});

0 commit comments

Comments
 (0)