All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.org.jellyfin.sdk.api.operations.StudiosApi.kt Maven / Gradle / Ivy

// !!        WARNING
// !! DO NOT EDIT THIS FILE
//
// This file is generated by the openapi-generator module and is not meant for manual changes.
// Please read the README.md file in the openapi-generator module for additional information.
package org.jellyfin.sdk.api.operations

import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.collections.Collection
import kotlin.collections.buildMap
import kotlin.collections.emptyList
import kotlin.collections.emptyMap
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.api.client.Response
import org.jellyfin.sdk.api.client.extensions.`get`
import org.jellyfin.sdk.model.UUID
import org.jellyfin.sdk.model.api.BaseItemDto
import org.jellyfin.sdk.model.api.BaseItemDtoQueryResult
import org.jellyfin.sdk.model.api.BaseItemKind
import org.jellyfin.sdk.model.api.ImageType
import org.jellyfin.sdk.model.api.ItemFields
import org.jellyfin.sdk.model.api.request.GetStudiosRequest

public class StudiosApi(
	private val api: ApiClient,
) : Api {
	/**
	 * Gets a studio by name.
	 *
	 * @param name Studio name.
	 * @param userId Optional. Filter by user id, and attach user data.
	 */
	public suspend fun getStudio(name: String, userId: UUID? = null): Response {
		val pathParameters = buildMap(1) {
			put("name", name)
		}
		val queryParameters = buildMap(1) {
			put("userId", userId)
		}
		val data = null
		val response = api.`get`("/Studios/{name}", pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Gets all studios from a given item, folder, or the entire library.
	 *
	 * @param startIndex Optional. The record index to start at. All items with a lower index will be
	 * dropped from the results.
	 * @param limit Optional. The maximum number of records to return.
	 * @param searchTerm Optional. Search term.
	 * @param parentId Specify this to localize the search to a specific item or folder. Omit to use
	 * the root.
	 * @param fields Optional. Specify additional fields of information to return in the output.
	 * @param excludeItemTypes Optional. If specified, results will be filtered out based on item type.
	 * This allows multiple, comma delimited.
	 * @param includeItemTypes Optional. If specified, results will be filtered based on item type.
	 * This allows multiple, comma delimited.
	 * @param isFavorite Optional filter by items that are marked as favorite, or not.
	 * @param enableUserData Optional, include user data.
	 * @param imageTypeLimit Optional, the max number of images to return, per image type.
	 * @param enableImageTypes Optional. The image types to include in the output.
	 * @param userId User id.
	 * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater
	 * than a given input string.
	 * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input
	 * string.
	 * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input
	 * string.
	 * @param enableImages Optional, include image information in output.
	 * @param enableTotalRecordCount Total record count.
	 */
	public suspend fun getStudios(
		startIndex: Int? = null,
		limit: Int? = null,
		searchTerm: String? = null,
		parentId: UUID? = null,
		fields: Collection? = emptyList(),
		excludeItemTypes: Collection? = emptyList(),
		includeItemTypes: Collection? = emptyList(),
		isFavorite: Boolean? = null,
		enableUserData: Boolean? = null,
		imageTypeLimit: Int? = null,
		enableImageTypes: Collection? = emptyList(),
		userId: UUID? = null,
		nameStartsWithOrGreater: String? = null,
		nameStartsWith: String? = null,
		nameLessThan: String? = null,
		enableImages: Boolean? = true,
		enableTotalRecordCount: Boolean? = true,
	): Response {
		val pathParameters = emptyMap()
		val queryParameters = buildMap(17) {
			put("startIndex", startIndex)
			put("limit", limit)
			put("searchTerm", searchTerm)
			put("parentId", parentId)
			put("fields", fields)
			put("excludeItemTypes", excludeItemTypes)
			put("includeItemTypes", includeItemTypes)
			put("isFavorite", isFavorite)
			put("enableUserData", enableUserData)
			put("imageTypeLimit", imageTypeLimit)
			put("enableImageTypes", enableImageTypes)
			put("userId", userId)
			put("nameStartsWithOrGreater", nameStartsWithOrGreater)
			put("nameStartsWith", nameStartsWith)
			put("nameLessThan", nameLessThan)
			put("enableImages", enableImages)
			put("enableTotalRecordCount", enableTotalRecordCount)
		}
		val data = null
		val response = api.`get`("/Studios", pathParameters, queryParameters,
				data)
		return response
	}

	/**
	 * Gets all studios from a given item, folder, or the entire library.
	 *
	 * @param request The request paramaters
	 */
	public suspend fun getStudios(request: GetStudiosRequest = GetStudiosRequest()):
			Response = getStudios(
		startIndex = request.startIndex,
		limit = request.limit,
		searchTerm = request.searchTerm,
		parentId = request.parentId,
		fields = request.fields,
		excludeItemTypes = request.excludeItemTypes,
		includeItemTypes = request.includeItemTypes,
		isFavorite = request.isFavorite,
		enableUserData = request.enableUserData,
		imageTypeLimit = request.imageTypeLimit,
		enableImageTypes = request.enableImageTypes,
		userId = request.userId,
		nameStartsWithOrGreater = request.nameStartsWithOrGreater,
		nameStartsWith = request.nameStartsWith,
		nameLessThan = request.nameLessThan,
		enableImages = request.enableImages,
		enableTotalRecordCount = request.enableTotalRecordCount,
	)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy