import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { Observable } from 'rxjs'; import { CreateQuestionSubmittedDtoApi } from '../model/createQuestionSubmittedDto'; import { DeleteResponseApi } from '../model/deleteResponse'; import { PatchQuestionSubmittedDtoApi } from '../model/patchQuestionSubmittedDto'; import { QuestionSubmittedDtoCreatedResponseApi } from '../model/questionSubmittedDtoCreatedResponse'; import { QuestionSubmittedDtoPaginatedResponseApi } from '../model/questionSubmittedDtoPaginatedResponse'; import { QuestionSubmittedDtoResponseApi } from '../model/questionSubmittedDtoResponse'; import { QuestionSubmittedStatusEnumApi } from '../model/questionSubmittedStatusEnum'; import { Configuration } from '../configuration'; import * as i0 from "@angular/core"; export interface CreateQuestionSubmittedRequestParams { createQuestionSubmittedDtoApi: CreateQuestionSubmittedDtoApi; /** The ID of the company that the user sending the request is related to. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. */ companyId?: string; /** The ID of the user sending the request. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. Used to set the `createdBy` property on creation of entities. */ userId?: string; } export interface DeleteQuestionSubmittedRequestParams { id: string; /** The ID of the company that the user sending the request is related to. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. */ companyId?: string; /** The ID of the user sending the request. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. Used to set the `createdBy` property on creation of entities. */ userId?: string; } export interface GetQuestionSubmittedByIdRequestParams { id: string; /** The ID of the company that the user sending the request is related to. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. */ companyId?: string; /** The ID of the user sending the request. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. Used to set the `createdBy` property on creation of entities. */ userId?: string; } export interface GetQuestionsSubmittedRequestParams { createdBy?: string; /** The fields to sort by. The Sort by allow to sort the results by specific properties, for example to sort the results by createdAt in scending order you can use the following syntaxt : ?sortBy=createdAt:asc if you want to apply multiple sort you can do it by adding more sortBy options like this : ?sortBy=createdAt:asc,questionId:desc */ sortBy?: string; /** An array of IDs used to filter the results to only include entities with the specified IDs */ ids?: string; /** The \'status\' property of a QuestionSubmittedQueryPaginatedDto object. This property represents the status of a submitted question and can be optionally set to a member of the \'QuestionSubmittedStatus\' enumeration. */ status?: QuestionSubmittedStatusEnumApi; /** The ID of the company that the user sending the request is related to. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. */ companyId?: string; /** The ID of the user sending the request. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. */ userId?: string; /** The page of results to retrieve. */ page?: number; /** The number of items per page to retrieve. */ itemsPerPage?: number; /** A date used to filter the results based on the createdAt field of the resources, only including resources created after this date. the operator used for this filter is >= (greater than or equal to) If the createdAfter field is provided with a date without a time, it will include resources created on the same day as the provided date, starting at midnight. The format of the datetime should be ISO 8601 with timezone: YYYY-MM-DDTHH:mm:ss.sssZ. Example: 2023-02-27T21:42:00.000Z. */ createdAfter?: Date; /** A date used to filter the results based on the createdAt field of the resources, only including resources created before this date. the operator used for this filter is <= (less than or equal to) If the createdBefore field is provided with a date without a time, it will include resources created on the same day as the provided date, ending at midnight. The format of the datetime should be ISO 8601 with timezone: YYYY-MM-DDTHH:mm:ss.sssZ. Example: 2023-02-27T21:42:00.000Z. */ createdBefore?: Date; } export interface PatchQuestionSubmittedRequestParams { id: string; patchQuestionSubmittedDtoApi: PatchQuestionSubmittedDtoApi; /** The ID of the company that the user sending the request is related to. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. */ companyId?: string; /** The ID of the user sending the request. This field is required when using the API Key. It will be included in the JSON Web Token (JWT) when using Auth0 authentication. Used to set the `createdBy` property on creation of entities. */ userId?: string; } export declare class QuestionsSubmittedApiService { protected httpClient: HttpClient; protected basePath: string; defaultHeaders: HttpHeaders; configuration: Configuration; encoder: HttpParameterCodec; constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration); private addToHttpParams; private addToHttpParamsRecursive; /** * Create a new question-submitted * This method handles POST requests to the \'/questions-submitted\' route to create a new question-submitted using the data passed in the body. It will respond with the newly created question-submitted. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ createQuestionSubmitted(requestParameters: CreateQuestionSubmittedRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; createQuestionSubmitted(requestParameters: CreateQuestionSubmittedRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; createQuestionSubmitted(requestParameters: CreateQuestionSubmittedRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Soft delete\" an existing question-submitted by ID * This method handles DELETE requests to the \'/questions-submitted/:id\' route, it \"softDelete\" a single question-submitted does not return anything. By \"soft delete\" we mean that it will just set the deletedAt and will not remove the item from the database, this is done to better manage deletions and allow us to handle different scenario like deleting in cascade etc... * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ deleteQuestionSubmitted(requestParameters: DeleteQuestionSubmittedRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; deleteQuestionSubmitted(requestParameters: DeleteQuestionSubmittedRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; deleteQuestionSubmitted(requestParameters: DeleteQuestionSubmittedRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Get a single question-submitted by ID * This method handles GET requests to the \'/questions-submitted/{:id}\' route with `{:id}` the id of the question-submitted we want to find. If the question-submitted exists it will return it, if not we respond with an error not found. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ getQuestionSubmittedById(requestParameters: GetQuestionSubmittedByIdRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; getQuestionSubmittedById(requestParameters: GetQuestionSubmittedByIdRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; getQuestionSubmittedById(requestParameters: GetQuestionSubmittedByIdRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Get QuestionsSubmitted with filter, sort and pagination options * This method handles GET requests to the \'/questions-submitted\' route with the filter, sort and pagination options passed in the query parameters it will respond with the paginated questions-submitted along with the current state of pagination . * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ getQuestionsSubmitted(requestParameters: GetQuestionsSubmittedRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; getQuestionsSubmitted(requestParameters: GetQuestionsSubmittedRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; getQuestionsSubmitted(requestParameters: GetQuestionsSubmittedRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Patch an existing question-submitted by ID * This method handles PATCH requests to the \'/questions-submitted/:id\' route where :id is a question-submitted ID, it updates a single question-submitted with the ID :id and return it. If the question-submitted with ID does not exists we return an error. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ patchQuestionSubmitted(requestParameters: PatchQuestionSubmittedRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; patchQuestionSubmitted(requestParameters: PatchQuestionSubmittedRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; patchQuestionSubmitted(requestParameters: PatchQuestionSubmittedRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }