Skip to content

Commit

Permalink
Display virtual object state (#130)
Browse files Browse the repository at this point in the history
Signed-off-by: Nik Nasr <[email protected]>
  • Loading branch information
nikrooz authored Dec 19, 2024
1 parent 83bed7b commit 51c186b
Show file tree
Hide file tree
Showing 13 changed files with 855 additions and 11 deletions.
53 changes: 53 additions & 0 deletions libs/data-access/admin-api/src/lib/api/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,59 @@ export function useGetVirtualObjectQueue(
};
}

export function useGetVirtualObjectState(
serviceName: string,
key: string,
options?: HookQueryOptions<'/query/services/{name}/keys/{key}/state', 'get'>
) {
const baseUrl = useAdminBaseUrl();
const queryOptions = adminApi(
'query',
'/query/services/{name}/keys/{key}/state',
'get',
{
baseUrl,
parameters: { path: { key, name: serviceName } },
}
);

const results = useQuery({
...queryOptions,
...options,
});

return {
...results,
queryKey: queryOptions.queryKey,
};
}

export function useGetVirtualObjectStateInterface(
serviceName: string,
options?: HookQueryOptions<'/query/services/{name}/state', 'get'>
) {
const baseUrl = useAdminBaseUrl();
const queryOptions = adminApi(
'query',
'/query/services/{name}/state',
'get',
{
baseUrl,
parameters: { path: { name: serviceName } },
}
);

const results = useQuery({
...queryOptions,
...options,
});

return {
...results,
queryKey: queryOptions.queryKey,
};
}

export function useDeleteInvocation(
invocation_id: string,
options?: HookMutationOptions<'/invocations/{invocation_id}', 'delete'>
Expand Down
193 changes: 193 additions & 0 deletions libs/data-access/admin-api/src/lib/api/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,46 @@ export interface paths {
patch?: never;
trace?: never;
};
'/query/services/{name}/state': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get state keys
* @description Get state keys
*/
get: operations['get_state_keys'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/query/services/{name}/keys/{key}/state': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get state keys
* @description Get state keys
*/
get: operations['get_state'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
Expand Down Expand Up @@ -790,6 +830,17 @@ export interface components {
*/
services: components['schemas']['ServiceMetadata'][];
};
StateInterfaceResponse: {
keys?: {
name: string;
}[];
};
StateResponse: {
state?: {
name: string;
value: string;
}[];
};
JournalEntry: components['schemas']['JournalBaseEntry'] &
(
| components['schemas']['InputJournalEntryType']
Expand Down Expand Up @@ -2606,4 +2657,146 @@ export interface operations {
};
};
};
get_state_keys: {
parameters: {
query?: never;
header?: never;
path: {
/** @description service name */
name: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['StateInterfaceResponse'];
};
};
400: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
403: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
404: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
409: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
500: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
503: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
};
};
get_state: {
parameters: {
query?: never;
header?: never;
path: {
/** @description service name */
name: string;
/** @description key */
key: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['StateResponse'];
};
};
400: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
403: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
404: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
409: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
500: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
503: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['ErrorDescriptionResponse'];
};
};
};
};
}
Loading

0 comments on commit 51c186b

Please sign in to comment.