API View

This module contains views to implement the React.

Vectorsearch list view in the Smarter Dashboard.

class smarter.apps.vectorsearch.views.listview.api.VectorsearchListApiCloneView(**kwargs)[source]

Bases: SmarterAuthenticatedNeverCachedWebView

Clone a vectorsearch for the authenticated user.

property formatted_class_name: str

Returns a formatted string of the class name for logging purposes.

post(request, *args, **kwargs)[source]

Handle POST requests to clone an existing Vectorsearch.

Validates input parameters, checks for the existence of the Vectorsearch to be cloned, and creates a new Vectorsearch with the specified name. Invalidates the cache for the user’s Vectorsearchs after cloning.

Parameters:
  • request (HttpRequest) – The HTTP request object containing the parameters for cloning.

  • args – Additional positional arguments (not used).

  • kwargs

    Additional keyword arguments, including:

    • vectorsearch_id (str): The ID of the Vectorsearch to be cloned.

    • new_name (str): The new name for the cloned Vectorsearch.

Returns:

A JsonResponse containing the serialized data of the newly cloned Vectorsearch if successful, or an error message if the cloning fails.

Return type:

JsonResponse

class smarter.apps.vectorsearch.views.listview.api.VectorsearchListApiDeleteView(**kwargs)[source]

Bases: SmarterAuthenticatedNeverCachedWebView

Delete a vectorsearch for the authenticated user.

property formatted_class_name: str

Returns a formatted string of the class name for logging purposes.

post(request, *args, **kwargs)[source]

Handle POST requests to delete an existing Vectorsearch.

Validates input parameters, checks for the existence of the Vectorsearch to be deleted, and deletes the Vectorsearch if it exists. Invalidates the cache for the user’s LLMClients after deletion.

Parameters:
  • request (HttpRequest) – The HTTP request object containing the parameters for deletion.

  • args – Additional positional arguments (not used).

  • kwargs

    Additional keyword arguments, including:

    • vectorsearch_id (str): The ID of the Vectorsearch to be deleted.

Returns:

A JsonResponse indicating the success or failure of the deletion.

Return type:

JsonResponse

class smarter.apps.vectorsearch.views.listview.api.VectorsearchListApiRenameView(**kwargs)[source]

Bases: SmarterAuthenticatedNeverCachedWebView

Rename a vectorsearch for the authenticated user.

property formatted_class_name: str

Returns a formatted string of the class name for logging purposes.

post(request, *args, **kwargs)[source]

Handle POST requests to rename an existing Vectorsearch.

Validates input parameters, checks for the existence of the Vectorsearch to be renamed, and renames the Vectorsearch if it exists. Invalidates the cache for the user’s LLMClients after renaming.

Parameters:
  • request (HttpRequest) – The HTTP request object containing the parameters for renaming.

  • args – Additional positional arguments (not used).

  • kwargs

    Additional keyword arguments, including:

    • vectorsearch_id (str): The ID of the Vectorsearch to be renamed.

    • new_name (str): The new name for the Vectorsearch.

Returns:

A JsonResponse indicating the success or failure of the renaming.

Return type:

JsonResponse

class smarter.apps.vectorsearch.views.listview.api.VectorsearchListApiView(**kwargs)[source]

Bases: SmarterAuthenticatedNeverCachedWebView

Render the vectorsearch list view for the Smarter Workbench web console.

This view displays all vectorsearchs available to the authenticated user as cards, providing a quick overview and access to vectorsearch details.

Parameters:
  • request (ASGIRequest) – Django HTTP request object.

  • args (tuple) – Additional positional arguments.

  • kwargs (dict) – Additional keyword arguments.

Returns:

Rendered HTML page with a card for each vectorsearch, or a 404 error page if the user is not authenticated.

Return type:

HttpResponse

property formatted_class_name: str

Returns a formatted string of the class name for logging purposes.

post(request, *args, **kwargs)[source]
Return type:

Union[JsonResponse, SmarterHttpResponseNotFound]