diff --git a/docs/content/docs/am_following_dataset.mdx b/docs/content/docs/am_following_dataset.mdx new file mode 100644 index 0000000..d91d27e --- /dev/null +++ b/docs/content/docs/am_following_dataset.mdx @@ -0,0 +1,20 @@ +--- +title: am_following_dataset +full: true +_openapi: + method: POST + route: am_following_dataset + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return `True` if you're following the given dataset, `False` if not. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return `True` if you're following the given dataset, `False` if not. + + + \ No newline at end of file diff --git a/docs/content/docs/am_following_group.mdx b/docs/content/docs/am_following_group.mdx new file mode 100644 index 0000000..a961df0 --- /dev/null +++ b/docs/content/docs/am_following_group.mdx @@ -0,0 +1,20 @@ +--- +title: am_following_group +full: true +_openapi: + method: POST + route: am_following_group + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return `True` if you're following the given group, `False` if not. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return `True` if you're following the given group, `False` if not. + + + \ No newline at end of file diff --git a/docs/content/docs/am_following_user.mdx b/docs/content/docs/am_following_user.mdx new file mode 100644 index 0000000..2011bd9 --- /dev/null +++ b/docs/content/docs/am_following_user.mdx @@ -0,0 +1,20 @@ +--- +title: am_following_user +full: true +_openapi: + method: POST + route: am_following_user + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return `True` if you're following the given user, `False` if not. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return `True` if you're following the given user, `False` if not. + + + \ No newline at end of file diff --git a/docs/content/docs/api_token_list.mdx b/docs/content/docs/api_token_list.mdx new file mode 100644 index 0000000..6fd7f0e --- /dev/null +++ b/docs/content/docs/api_token_list.mdx @@ -0,0 +1,20 @@ +--- +title: api_token_list +full: true +_openapi: + method: POST + route: api_token_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return list of all available API tokens for the current user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return list of all available API tokens for the current user. + + + \ No newline at end of file diff --git a/docs/content/docs/config_option_list.mdx b/docs/content/docs/config_option_list.mdx new file mode 100644 index 0000000..8804716 --- /dev/null +++ b/docs/content/docs/config_option_list.mdx @@ -0,0 +1,21 @@ +--- +title: config_option_list +full: true +_openapi: + method: POST + route: config_option_list + toc: [] + structuredData: + headings: [] + contents: + - content: > + Return a list of runtime-editable config option keys that can be + updated with `config_option_update()`. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return a list of runtime-editable config option keys that can be updated with `config_option_update()`. + + + \ No newline at end of file diff --git a/docs/content/docs/config_option_show.mdx b/docs/content/docs/config_option_show.mdx new file mode 100644 index 0000000..df8b3ea --- /dev/null +++ b/docs/content/docs/config_option_show.mdx @@ -0,0 +1,27 @@ +--- +title: config_option_show +full: true +_openapi: + method: POST + route: config_option_show + toc: [] + structuredData: + headings: [] + contents: + - content: > + Show the current value of a particular configuration option. + + + Only returns runtime-editable config options (the ones returned by + `config_option_list()`), which can be updated with the + `config_option_update()` action. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Show the current value of a particular configuration option. + +Only returns runtime-editable config options (the ones returned by `config_option_list()`), which can be updated with the `config_option_update()` action. + + + \ No newline at end of file diff --git a/docs/content/docs/dataset_followee_count.mdx b/docs/content/docs/dataset_followee_count.mdx new file mode 100644 index 0000000..7307699 --- /dev/null +++ b/docs/content/docs/dataset_followee_count.mdx @@ -0,0 +1,20 @@ +--- +title: dataset_followee_count +full: true +_openapi: + method: POST + route: dataset_followee_count + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the number of datasets that are followed by the given user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the number of datasets that are followed by the given user. + + + \ No newline at end of file diff --git a/docs/content/docs/dataset_follower_count.mdx b/docs/content/docs/dataset_follower_count.mdx new file mode 100644 index 0000000..5cc551c --- /dev/null +++ b/docs/content/docs/dataset_follower_count.mdx @@ -0,0 +1,20 @@ +--- +title: dataset_follower_count +full: true +_openapi: + method: POST + route: dataset_follower_count + toc: [] + structuredData: + headings: [] + contents: + - content: | + Returun the number of followers of a dataset. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Returun the number of followers of a dataset. + + + \ No newline at end of file diff --git a/docs/content/docs/dataset_follower_list.mdx b/docs/content/docs/dataset_follower_list.mdx new file mode 100644 index 0000000..75ab3ed --- /dev/null +++ b/docs/content/docs/dataset_follower_list.mdx @@ -0,0 +1,20 @@ +--- +title: dataset_follower_list +full: true +_openapi: + method: POST + route: dataset_follower_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the list of users that are following the given dataset. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the list of users that are following the given dataset. + + + \ No newline at end of file diff --git a/docs/content/docs/followee_count.mdx b/docs/content/docs/followee_count.mdx new file mode 100644 index 0000000..33ed519 --- /dev/null +++ b/docs/content/docs/followee_count.mdx @@ -0,0 +1,26 @@ +--- +title: followee_count +full: true +_openapi: + method: POST + route: followee_count + toc: [] + structuredData: + headings: [] + contents: + - content: > + Return the number of objects that are followed by the given user. + + + Counts all objects, of any type, that the given user is following + (e.g. followed users, followed datasets, followed groups). +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the number of objects that are followed by the given user. + +Counts all objects, of any type, that the given user is following (e.g. followed users, followed datasets, followed groups). + + + \ No newline at end of file diff --git a/docs/content/docs/followee_list.mdx b/docs/content/docs/followee_list.mdx new file mode 100644 index 0000000..77458ef --- /dev/null +++ b/docs/content/docs/followee_list.mdx @@ -0,0 +1,26 @@ +--- +title: followee_list +full: true +_openapi: + method: POST + route: followee_list + toc: [] + structuredData: + headings: [] + contents: + - content: > + Return the list of objects that are followed by the given user. + + + Returns all objects, of any type, that the given user is following + (e.g. followed users, followed datasets, followed groups). +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the list of objects that are followed by the given user. + +Returns all objects, of any type, that the given user is following (e.g. followed users, followed datasets, followed groups). + + + \ No newline at end of file diff --git a/docs/content/docs/get_site_user.mdx b/docs/content/docs/get_site_user.mdx new file mode 100644 index 0000000..259617d --- /dev/null +++ b/docs/content/docs/get_site_user.mdx @@ -0,0 +1,20 @@ +--- +title: get_site_user +full: true +_openapi: + method: POST + route: get_site_user + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the CKAN site user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the CKAN site user. + + + \ No newline at end of file diff --git a/docs/content/docs/group_followee_count.mdx b/docs/content/docs/group_followee_count.mdx new file mode 100644 index 0000000..059ceba --- /dev/null +++ b/docs/content/docs/group_followee_count.mdx @@ -0,0 +1,20 @@ +--- +title: group_followee_count +full: true +_openapi: + method: POST + route: group_followee_count + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the number of groups that are followed by the given user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the number of groups that are followed by the given user. + + + \ No newline at end of file diff --git a/docs/content/docs/group_follower_list.mdx b/docs/content/docs/group_follower_list.mdx new file mode 100644 index 0000000..1857392 --- /dev/null +++ b/docs/content/docs/group_follower_list.mdx @@ -0,0 +1,20 @@ +--- +title: group_follower_list +full: true +_openapi: + method: POST + route: group_follower_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the list of users that are following the given group. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the list of users that are following the given group. + + + \ No newline at end of file diff --git a/docs/content/docs/help_show.mdx b/docs/content/docs/help_show.mdx new file mode 100644 index 0000000..d957833 --- /dev/null +++ b/docs/content/docs/help_show.mdx @@ -0,0 +1,20 @@ +--- +title: help_show +full: true +_openapi: + method: POST + route: help_show + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the help string for a particular API action. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the help string for a particular API action. + + + \ No newline at end of file diff --git a/docs/content/docs/job_list.mdx b/docs/content/docs/job_list.mdx new file mode 100644 index 0000000..07f866e --- /dev/null +++ b/docs/content/docs/job_list.mdx @@ -0,0 +1,20 @@ +--- +title: job_list +full: true +_openapi: + method: POST + route: job_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + List enqueued background jobs. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +List enqueued background jobs. + + + \ No newline at end of file diff --git a/docs/content/docs/job_show.mdx b/docs/content/docs/job_show.mdx new file mode 100644 index 0000000..c6a00dd --- /dev/null +++ b/docs/content/docs/job_show.mdx @@ -0,0 +1,20 @@ +--- +title: job_show +full: true +_openapi: + method: POST + route: job_show + toc: [] + structuredData: + headings: [] + contents: + - content: | + Show details for a background job. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Show details for a background job. + + + \ No newline at end of file diff --git a/docs/content/docs/member_roles_list.mdx b/docs/content/docs/member_roles_list.mdx new file mode 100644 index 0000000..791c45b --- /dev/null +++ b/docs/content/docs/member_roles_list.mdx @@ -0,0 +1,20 @@ +--- +title: member_roles_list +full: true +_openapi: + method: POST + route: member_roles_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the possible roles for members of groups and organizations. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the possible roles for members of groups and organizations. + + + \ No newline at end of file diff --git a/docs/content/docs/organization_followee_count.mdx b/docs/content/docs/organization_followee_count.mdx new file mode 100644 index 0000000..40e2164 --- /dev/null +++ b/docs/content/docs/organization_followee_count.mdx @@ -0,0 +1,21 @@ +--- +title: organization_followee_count +full: true +_openapi: + method: POST + route: organization_followee_count + toc: [] + structuredData: + headings: [] + contents: + - content: > + Return the number of organizations that are followed by the given + user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the number of organizations that are followed by the given user. + + + \ No newline at end of file diff --git a/docs/content/docs/organization_followee_list.mdx b/docs/content/docs/organization_followee_list.mdx new file mode 100644 index 0000000..3bb3189 --- /dev/null +++ b/docs/content/docs/organization_followee_list.mdx @@ -0,0 +1,20 @@ +--- +title: organization_followee_list +full: true +_openapi: + method: POST + route: organization_followee_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the list of organizations that are followed by the given user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the list of organizations that are followed by the given user. + + + \ No newline at end of file diff --git a/docs/content/docs/organization_follower_count.mdx b/docs/content/docs/organization_follower_count.mdx new file mode 100644 index 0000000..467fe8f --- /dev/null +++ b/docs/content/docs/organization_follower_count.mdx @@ -0,0 +1,20 @@ +--- +title: organization_follower_count +full: true +_openapi: + method: POST + route: organization_follower_count + toc: [] + structuredData: + headings: [] + contents: + - content: | + Returun the number of followers of an organization. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Returun the number of followers of an organization. + + + \ No newline at end of file diff --git a/docs/content/docs/organization_follower_list.mdx b/docs/content/docs/organization_follower_list.mdx new file mode 100644 index 0000000..cc52020 --- /dev/null +++ b/docs/content/docs/organization_follower_list.mdx @@ -0,0 +1,20 @@ +--- +title: organization_follower_list +full: true +_openapi: + method: POST + route: organization_follower_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the list of users that are following the given organization. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the list of users that are following the given organization. + + + \ No newline at end of file diff --git a/docs/content/docs/tag_autocomplete.mdx b/docs/content/docs/tag_autocomplete.mdx new file mode 100644 index 0000000..f369edc --- /dev/null +++ b/docs/content/docs/tag_autocomplete.mdx @@ -0,0 +1,27 @@ +--- +title: tag_autocomplete +full: true +_openapi: + method: POST + route: tag_autocomplete + toc: [] + structuredData: + headings: [] + contents: + - content: > + Return a list of tag names that contain a given string. + + + By default only free tags (tags that don't belong to any vocabulary) + are searched. If the `vocabulary_id` argument is given then only tags + belonging to that vocabulary will be searched instead. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return a list of tag names that contain a given string. + +By default only free tags (tags that don't belong to any vocabulary) are searched. If the `vocabulary_id` argument is given then only tags belonging to that vocabulary will be searched instead. + + + \ No newline at end of file diff --git a/docs/content/docs/tag_search.mdx b/docs/content/docs/tag_search.mdx new file mode 100644 index 0000000..6768e19 --- /dev/null +++ b/docs/content/docs/tag_search.mdx @@ -0,0 +1,27 @@ +--- +title: tag_search +full: true +_openapi: + method: POST + route: tag_search + toc: [] + structuredData: + headings: [] + contents: + - content: > + Return a list of tags whose names contain a given string. + + + By default only free tags (tags that don't belong to any vocabulary) + are searched. If the `vocabulary_id` argument is given then only tags + belonging to that vocabulary will be searched instead. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return a list of tags whose names contain a given string. + +By default only free tags (tags that don't belong to any vocabulary) are searched. If the `vocabulary_id` argument is given then only tags belonging to that vocabulary will be searched instead. + + + \ No newline at end of file diff --git a/docs/content/docs/task_status_show.mdx b/docs/content/docs/task_status_show.mdx new file mode 100644 index 0000000..3dde3d4 --- /dev/null +++ b/docs/content/docs/task_status_show.mdx @@ -0,0 +1,26 @@ +--- +title: task_status_show +full: true +_openapi: + method: POST + route: task_status_show + toc: [] + structuredData: + headings: [] + contents: + - content: > + Return a task status. + + + Either the `id` parameter or the `entity_id`, `task_type` *and* `key` + parameters must be given. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return a task status. + +Either the `id` parameter or the `entity_id`, `task_type` *and* `key` parameters must be given. + + + \ No newline at end of file diff --git a/docs/content/docs/term_translation_show.mdx b/docs/content/docs/term_translation_show.mdx new file mode 100644 index 0000000..ab514bb --- /dev/null +++ b/docs/content/docs/term_translation_show.mdx @@ -0,0 +1,20 @@ +--- +title: term_translation_show +full: true +_openapi: + method: POST + route: term_translation_show + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the translations for the given term(s) and language(s). +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the translations for the given term(s) and language(s). + + + \ No newline at end of file diff --git a/docs/content/docs/user_followee_count.mdx b/docs/content/docs/user_followee_count.mdx new file mode 100644 index 0000000..b8584f0 --- /dev/null +++ b/docs/content/docs/user_followee_count.mdx @@ -0,0 +1,20 @@ +--- +title: user_followee_count +full: true +_openapi: + method: POST + route: user_followee_count + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the number of users that are followed by the given user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the number of users that are followed by the given user. + + + \ No newline at end of file diff --git a/docs/content/docs/user_follower_count.mdx b/docs/content/docs/user_follower_count.mdx new file mode 100644 index 0000000..b32f33a --- /dev/null +++ b/docs/content/docs/user_follower_count.mdx @@ -0,0 +1,20 @@ +--- +title: user_follower_count +full: true +_openapi: + method: POST + route: user_follower_count + toc: [] + structuredData: + headings: [] + contents: + - content: | + Returun the number of followers of a user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Returun the number of followers of a user. + + + \ No newline at end of file diff --git a/docs/content/docs/user_follower_list.mdx b/docs/content/docs/user_follower_list.mdx new file mode 100644 index 0000000..385cf03 --- /dev/null +++ b/docs/content/docs/user_follower_list.mdx @@ -0,0 +1,20 @@ +--- +title: user_follower_list +full: true +_openapi: + method: POST + route: user_follower_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return the list of users that are following the given user. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return the list of users that are following the given user. + + + \ No newline at end of file diff --git a/docs/content/docs/vocabulary_list.mdx b/docs/content/docs/vocabulary_list.mdx new file mode 100644 index 0000000..0fc8b7d --- /dev/null +++ b/docs/content/docs/vocabulary_list.mdx @@ -0,0 +1,20 @@ +--- +title: vocabulary_list +full: true +_openapi: + method: POST + route: vocabulary_list + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return a list of all the site's tag vocabularies. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return a list of all the site's tag vocabularies. + + + \ No newline at end of file diff --git a/docs/content/docs/vocabulary_show.mdx b/docs/content/docs/vocabulary_show.mdx new file mode 100644 index 0000000..3f35de9 --- /dev/null +++ b/docs/content/docs/vocabulary_show.mdx @@ -0,0 +1,20 @@ +--- +title: vocabulary_show +full: true +_openapi: + method: POST + route: vocabulary_show + toc: [] + structuredData: + headings: [] + contents: + - content: | + Return a single tag vocabulary. +--- + +{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} + +Return a single tag vocabulary. + + + \ No newline at end of file diff --git a/docs/lib/openapi.yml b/docs/lib/openapi.yml index e682420..6dff8ba 100644 --- a/docs/lib/openapi.yml +++ b/docs/lib/openapi.yml @@ -26,6 +26,50 @@ servers: domain: default: 'demo.ckan.org' paths: + package_list: + post: + operationId: package_list + summary: package_list + description: This endpoint lists CKAN resources. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + limit: + type: integer + description: if given, the list of datasets will be broken into pages of at most `limit` datasets per page and only one page will be returned at a time + offset: + type: integer + description: when limit is given, the offset to start returning packages from + x-codeSamples: + - lang: rust + label: Rust SDK (ckanaction) example + source: | + use dotenvy::dotenv; + + #[tokio::main] + async fn main() -> Result<(), Box> { + // Load environment variables from .env file + dotenv()?; + + // Initialize and build CKAN struct + let ckan = ckanaction::CKAN::builder() + .url("http://localhost:5000") + .token(dotenvy::var("CKAN_API_TOKEN")?) + .build(); + + // Send request to /package_list and print output + let result = ckan.package_list() + .limit(5) // <-- This is an optional parameter you can remove + .call() + .await?; + println!("{result:#?}"); + + Ok(()) + } 'current_package_list_with_resources': post: operationId: current_package_list_with_resources @@ -851,6 +895,126 @@ paths: limit: type: integer description: apply a limit to the query + tag_search: + post: + operationId: tag_search + summary: tag_search + description: | + Return a list of tags whose names contain a given string. + + By default only free tags (tags that don't belong to any vocabulary) are searched. If the `vocabulary_id` argument is given then only tags belonging to that vocabulary will be searched instead. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + query: + type: string + description: the string(s) to search for + vocabulary_id: + type: string + description: the id or name of the tag vocabulary to search in + limit: + type: integer + description: the maximum number of tags to return + offset: + type: integer + description: when `limit` is given, the offset to start returning tags from + tag_autocomplete: + post: + operationId: tag_autocomplete + summary: tag_autocomplete + description: | + Return a list of tag names that contain a given string. + + By default only free tags (tags that don't belong to any vocabulary) are searched. If the `vocabulary_id` argument is given then only tags belonging to that vocabulary will be searched instead. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + query: + type: string + description: the string to search for + vocabulary_id: + type: string + description: the id or name of the tag vocabulary to search in + limit: + type: integer + description: the maximum number of tags to return + offset: + type: integer + description: when `limit` is given, the offset to start returning tags from + task_status_show: + post: + operationId: task_status_show + summary: task_status_show + description: | + Return a task status. + + Either the `id` parameter or the `entity_id`, `task_type` *and* `key` parameters must be given. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id of the task status + entity_id: + type: string + description: the entity_id of the task status + task_type: + type: string + description: the task_type of the task status + key: + type: string + description: the key of the task status + term_translation_show: + post: + operationId: term_translation_show + summary: term_translation_show + description: | + Return the translations for the given term(s) and language(s). + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + terms: + type: array + items: + type: string + description: the terms to search for translations of, e.g. `Russian`, `nonfiction novel` + lang_codes: + type: array + items: + type: string + description: the language codes of the languages to search for translations into, e.g. `'en'`, `'de'` (default is to search for translations into any language) + get_site_user: + post: + operationId: get_site_user + summary: get_site_user + description: | + Return the CKAN site user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + defer_commit: + type: boolean + description: "by default (or if set to `False`) `get_site_user` will commit and clean up the current transaction. If set to `True`, caller is responsible for commiting transaction after `get_site_user` is called. Leaving open connections can cause CLI commands to hang! (default: `False`)" status_show: get: operationId: status_show @@ -879,49 +1043,410 @@ paths: Ok(()) } - 'package_list': + vocabulary_list: post: - operationId: package_list - summary: package_list - description: This endpoint lists CKAN resources. + operationId: vocabulary_list + summary: vocabulary_list + description: | + Return a list of all the site's tag vocabularies. + vocabulary_show: + post: + operationId: vocabulary_show + summary: vocabulary_show + description: | + Return a single tag vocabulary. requestBody: required: false content: application/json: schema: - # required: - # - project_uuid type: object properties: - limit: - type: integer - description: if given, the list of datasets will be broken into pages of at most `limit` datasets per page and only one page will be returned at a time - offset: - type: integer - description: when limit is given, the offset to start returning packages from - x-codeSamples: - - lang: rust - label: Rust SDK (ckanaction) example - source: | - use dotenvy::dotenv; + id: + type: string + description: the id or name of the vocabulary + user_follower_count: + post: + operationId: user_follower_count + summary: user_follower_count + description: | + Returun the number of followers of a user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the user + dataset_follower_count: + post: + operationId: dataset_follower_count + summary: dataset_follower_count + description: | + Returun the number of followers of a dataset. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the dataset + organization_follower_count: + post: + operationId: organization_follower_count + summary: organization_follower_count + description: | + Returun the number of followers of an organization. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the organization + user_follower_list: + post: + operationId: user_follower_list + summary: user_follower_list + description: | + Return the list of users that are following the given user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the user + dataset_follower_list: + post: + operationId: dataset_follower_list + summary: dataset_follower_list + description: | + Return the list of users that are following the given dataset. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the dataset + group_follower_list: + post: + operationId: group_follower_list + summary: group_follower_list + description: | + Return the list of users that are following the given group. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the group + organization_follower_list: + post: + operationId: organization_follower_list + summary: organization_follower_list + description: | + Return the list of users that are following the given organization. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the organization + am_following_user: + post: + operationId: am_following_user + summary: am_following_user + description: | + Return `True` if you're following the given user, `False` if not. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the user + am_following_dataset: + post: + operationId: am_following_dataset + summary: am_following_dataset + description: | + Return `True` if you're following the given dataset, `False` if not. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the dataset + am_following_group: + post: + operationId: am_following_group + summary: am_following_group + description: | + Return `True` if you're following the given group, `False` if not. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the group + followee_count: + post: + operationId: followee_count + summary: followee_count + description: | + Return the number of objects that are followed by the given user. - #[tokio::main] - async fn main() -> Result<(), Box> { - // Load environment variables from .env file - dotenv()?; + Counts all objects, of any type, that the given user is following (e.g. followed users, followed datasets, followed groups). + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id of the user + user_followee_count: + post: + operationId: user_followee_count + summary: user_followee_count + description: | + Return the number of users that are followed by the given user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id of the user + dataset_followee_count: + post: + operationId: dataset_followee_count + summary: dataset_followee_count + description: | + Return the number of datasets that are followed by the given user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id of the user + group_followee_count: + post: + operationId: group_followee_count + summary: group_followee_count + description: | + Return the number of groups that are followed by the given user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id of the user + organization_followee_count: + post: + operationId: organization_followee_count + summary: organization_followee_count + description: | + Return the number of organizations that are followed by the given user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id of the user + followee_list: + post: + operationId: followee_list + summary: followee_list + description: | + Return the list of objects that are followed by the given user. - // Initialize and build CKAN struct - let ckan = ckanaction::CKAN::builder() - .url("http://localhost:5000") - .token(dotenvy::var("CKAN_API_TOKEN")?) - .build(); + Returns all objects, of any type, that the given user is following (e.g. followed users, followed datasets, followed groups). + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the user + q: + type: string + description: a query string to limit results by, only objects whose display name begins with the given string (case-insensitive) wil be returned + organization_followee_list: + post: + operationId: organization_followee_list + summary: organization_followee_list + description: | + Return the list of organizations that are followed by the given user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: the id or name of the user + member_roles_list: + post: + operationId: member_roles_list + summary: member_roles_list + description: | + Return the possible roles for members of groups and organizations. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + group_type: + type: string + description: "the group type, either `\"group\"` or `\"organization\"` (default: `\"organization\"`)" + help_show: + post: + operationId: help_show + summary: help_show + description: | + Return the help string for a particular API action. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Action function name (e.g. `user_create`, `package_search`) + config_option_show: + post: + operationId: config_option_show + summary: config_option_show + description: | + Show the current value of a particular configuration option. - // Send request to /package_list and print output - let result = ckan.package_list() - .limit(5) // <-- This is an optional parameter you can remove - .call() - .await?; - println!("{result:#?}"); - - Ok(()) - } \ No newline at end of file + Only returns runtime-editable config options (the ones returned by `config_option_list()`), which can be updated with the `config_option_update()` action. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: The configuration option key + config_option_list: + post: + operationId: config_option_list + summary: config_option_list + description: | + Return a list of runtime-editable config option keys that can be updated with `config_option_update()`. + job_list: + post: + operationId: job_list + summary: job_list + description: | + List enqueued background jobs. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + queues: + type: array + items: + type: string + description: Queues to list jobs from. If not given then the jobs from all queues are listed. + job_show: + post: + operationId: job_show + summary: job_show + description: | + Show details for a background job. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: The ID of the background job. + api_token_list: + post: + operationId: api_token_list + summary: api_token_list + description: | + Return list of all available API tokens for the current user. + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + user_id: + type: string + description: The user ID or name \ No newline at end of file