{"version":3,"file":"nestjs-mod-webhook-afat.mjs","sources":["../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/variables.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/configuration.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/encoder.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/api.base.service.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/api/webhook-rest.service.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/api/api.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/create-webhook-dto.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/find-many-response-meta.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/status-response.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/update-webhook-dto.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/webhook-error-enum.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/webhook-event.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/webhook-log-scalar-field-enum.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/webhook-role.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/webhook-scalar-field-enum.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/webhook-status.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/model/webhook-user-scalar-field-enum.interface.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/rest-sdk/api.module.ts","../../../../../libs/feature/webhook-afat/src/lib/generated/webhook-rest_sdk-angular.module.ts","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-events.service.ts","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-form.service.ts","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-mapper.service.ts","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-log-mapper.service.ts","../../../../../libs/feature/webhook-afat/src/lib/services/webhook.service.ts","../../../../../libs/feature/webhook-afat/src/lib/forms/webhook-form/webhook-form.component.ts","../../../../../libs/feature/webhook-afat/src/lib/forms/webhook-form/webhook-form.component.html","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-log-form.service.ts","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-log.service.ts","../../../../../libs/feature/webhook-afat/src/lib/forms/webhook-log-form/webhook-log-form.component.ts","../../../../../libs/feature/webhook-afat/src/lib/forms/webhook-log-form/webhook-log-form.component.html","../../../../../libs/feature/webhook-afat/src/lib/grids/webhook-grid/webhook-grid.component.ts","../../../../../libs/feature/webhook-afat/src/lib/grids/webhook-grid/webhook-grid.component.html","../../../../../libs/feature/webhook-afat/src/lib/grids/webhook-log-grid/webhook-log-grid.component.ts","../../../../../libs/feature/webhook-afat/src/lib/grids/webhook-log-grid/webhook-log-grid.component.html","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-auth.service.ts","../../../../../libs/feature/webhook-afat/src/lib/services/webhook-guard.service.ts","../../../../../libs/feature/webhook-afat/src/nestjs-mod-webhook-afat.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n    'csv': ',',\n    'tsv': '   ',\n    'ssv': ' ',\n    'pipes': '|'\n}\n","import { HttpHeaders, HttpParams, HttpParameterCodec } from '@angular/common/http';\nimport { Param } from './param';\n\nexport interface WebhookRestClientConfigurationParameters {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Override the default method for encoding path parameters in various\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam?: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class WebhookRestClientConfiguration {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Encoding of various path parameter\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials: {[ key: string ]: string | (() => string | undefined)};\n\nconstructor({ accessToken, apiKeys, basePath, credentials, encodeParam, encoder, password, username, withCredentials }: WebhookRestClientConfigurationParameters = {}) {\n        if (apiKeys) {\n            this.apiKeys = apiKeys;\n        }\n        if (username !== undefined) {\n            this.username = username;\n        }\n        if (password !== undefined) {\n            this.password = password;\n        }\n        if (accessToken !== undefined) {\n            this.accessToken = accessToken;\n        }\n        if (basePath !== undefined) {\n            this.basePath = basePath;\n        }\n        if (withCredentials !== undefined) {\n            this.withCredentials = withCredentials;\n        }\n        if (encoder) {\n            this.encoder = encoder;\n        }\n        this.encodeParam = encodeParam ?? (param => this.defaultEncodeParam(param));\n        this.credentials = credentials ?? {};\n\n        // init default bearer credential\n        if (!this.credentials['bearer']) {\n            this.credentials['bearer'] = () => {\n                return typeof this.accessToken === 'function'\n                    ? this.accessToken()\n                    : this.accessToken;\n            };\n        }\n    }\n\n    /**\n     * Select the correct content-type to use for a request.\n     * Uses {@link WebhookRestClientConfiguration#isJsonMime} to determine the correct content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param contentTypes - the array of content types that are available for selection\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderContentType (contentTypes: string[]): string | undefined {\n        if (contentTypes.length === 0) {\n            return undefined;\n        }\n\n        const type = contentTypes.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return contentTypes[0];\n        }\n        return type;\n    }\n\n    /**\n     * Select the correct accept content-type to use for a request.\n     * Uses {@link WebhookRestClientConfiguration#isJsonMime} to determine the correct accept content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param accepts - the array of content types that are available for selection.\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderAccept(accepts: string[]): string | undefined {\n        if (accepts.length === 0) {\n            return undefined;\n        }\n\n        const type = accepts.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return accepts[0];\n        }\n        return type;\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    public isJsonMime(mime: string): boolean {\n        const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n        return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n    }\n\n    public lookupCredential(key: string): string | undefined {\n        const value = this.credentials[key];\n        return typeof value === 'function'\n            ? value()\n            : value;\n    }\n\n    public addCredentialToHeaders(credentialKey: string, headerName: string, headers: HttpHeaders, prefix?: string): HttpHeaders {\n        const value = this.lookupCredential(credentialKey);\n        return value\n            ? headers.set(headerName, (prefix ?? '') + value)\n            : headers;\n    }\n\n    public addCredentialToQuery(credentialKey: string, paramName: string, query: HttpParams): HttpParams {\n        const value = this.lookupCredential(credentialKey);\n        return value\n            ? query.set(paramName, value)\n            : query;\n    }\n\n    private defaultEncodeParam(param: Param): string {\n        // This implementation exists as fallback for missing configuration\n        // and for backwards compatibility to older typescript-angular generator versions.\n        // It only works for the 'simple' parameter style.\n        // Date-handling only works for the 'date-time' format.\n        // All other styles and Date-formats are probably handled incorrectly.\n        //\n        // But: if that's all you need (i.e.: the most common use-case): no need for customization!\n\n        const value = param.dataFormat === 'date-time' && param.value instanceof Date\n            ? (param.value as Date).toISOString()\n            : param.value;\n\n        return encodeURIComponent(String(value));\n    }\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n    encodeKey(k: string): string {\n        return encodeURIComponent(k);\n    }\n    encodeValue(v: string): string {\n        return encodeURIComponent(v);\n    }\n    decodeKey(k: string): string {\n        return decodeURIComponent(k);\n    }\n    decodeValue(v: string): string {\n        return decodeURIComponent(v);\n    }\n}\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { HttpHeaders, HttpParams, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from './encoder';\nimport { WebhookRestClientConfiguration } from './configuration';\n\nexport class BaseService {\n    protected basePath = 'http://localhost';\n    public defaultHeaders = new HttpHeaders();\n    public configuration: WebhookRestClientConfiguration;\n    public encoder: HttpParameterCodec;\n\n    constructor(basePath?: string|string[], configuration?: WebhookRestClientConfiguration) {\n        this.configuration = configuration || new WebhookRestClientConfiguration();\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n    protected canConsumeForm(consumes: string[]): boolean {\n        return consumes.indexOf('multipart/form-data') !== -1;\n    }\n\n    protected addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        // If the value is an object (but not a Date), recursively add its keys.\n        if (typeof value === 'object' && !(value instanceof Date)) {\n            return this.addToHttpParamsRecursive(httpParams, value);\n        }\n        return this.addToHttpParamsRecursive(httpParams, value, key);\n    }\n\n    protected addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value === null || value === undefined) {\n            return httpParams;\n        }\n        if (typeof value === 'object') {\n            // If JSON format is preferred, key must be provided.\n            if (key != null) {\n                return httpParams.append(key, JSON.stringify(value));\n            }\n            // Otherwise, if it's an array, add each element.\n            if (Array.isArray(value)) {\n                value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, value.toISOString());\n                } else {\n                    throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach(k => {\n                    const paramKey = key ? `${key}.${k}` : k;\n                    httpParams = this.addToHttpParamsRecursive(httpParams, value[k], paramKey);\n                });\n            }\n            return httpParams;\n        } else if (key != null) {\n            return httpParams.append(key, value);\n        }\n        throw Error(\"key may not be null if value is not object or array\");\n    }\n}\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { CreateWebhookDtoInterface } from '../model/create-webhook-dto.interface';\n// @ts-ignore\nimport { FindManyWebhookLogResponseInterface } from '../model/find-many-webhook-log-response.interface';\n// @ts-ignore\nimport { FindManyWebhookResponseInterface } from '../model/find-many-webhook-response.interface';\n// @ts-ignore\nimport { StatusResponseInterface } from '../model/status-response.interface';\n// @ts-ignore\nimport { UpdateWebhookDtoInterface } from '../model/update-webhook-dto.interface';\n// @ts-ignore\nimport { WebhookEventInterface } from '../model/webhook-event.interface';\n// @ts-ignore\nimport { WebhookInterface } from '../model/webhook.interface';\n// @ts-ignore\nimport { WebhookLogInterface } from '../model/webhook-log.interface';\n// @ts-ignore\nimport { WebhookLogsControllerFindManyLogs400ResponseInterface } from '../model/webhook-logs-controller-find-many-logs400-response.interface';\n// @ts-ignore\nimport { WebhookTestRequestResponseInterface } from '../model/webhook-test-request-response.interface';\n// @ts-ignore\nimport { WebhookUserInterface } from '../model/webhook-user.interface';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { WebhookRestClientConfiguration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class WebhookRestService extends BaseService {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: WebhookRestClientConfiguration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * @param createWebhookDtoInterface \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerCreateOne(createWebhookDtoInterface: CreateWebhookDtoInterface, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebhookInterface>;\n    public webhookControllerCreateOne(createWebhookDtoInterface: CreateWebhookDtoInterface, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebhookInterface>>;\n    public webhookControllerCreateOne(createWebhookDtoInterface: CreateWebhookDtoInterface, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebhookInterface>>;\n    public webhookControllerCreateOne(createWebhookDtoInterface: CreateWebhookDtoInterface, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (createWebhookDtoInterface === null || createWebhookDtoInterface === undefined) {\n            throw new Error('Required parameter createWebhookDtoInterface was null or undefined when calling webhookControllerCreateOne.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<WebhookInterface>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: createWebhookDtoInterface,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param id \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerDeleteOne(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<StatusResponseInterface>;\n    public webhookControllerDeleteOne(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<StatusResponseInterface>>;\n    public webhookControllerDeleteOne(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<StatusResponseInterface>>;\n    public webhookControllerDeleteOne(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling webhookControllerDeleteOne.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<StatusResponseInterface>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerEvents(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Array<WebhookEventInterface>>;\n    public webhookControllerEvents(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Array<WebhookEventInterface>>>;\n    public webhookControllerEvents(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Array<WebhookEventInterface>>>;\n    public webhookControllerEvents(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/events`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Array<WebhookEventInterface>>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param curPage \n     * @param perPage \n     * @param searchText \n     * @param sort \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerFindMany(curPage?: number, perPage?: number, searchText?: string, sort?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FindManyWebhookResponseInterface>;\n    public webhookControllerFindMany(curPage?: number, perPage?: number, searchText?: string, sort?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FindManyWebhookResponseInterface>>;\n    public webhookControllerFindMany(curPage?: number, perPage?: number, searchText?: string, sort?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FindManyWebhookResponseInterface>>;\n    public webhookControllerFindMany(curPage?: number, perPage?: number, searchText?: string, sort?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>curPage, 'curPage');\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>perPage, 'perPage');\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>searchText, 'searchText');\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>sort, 'sort');\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<FindManyWebhookResponseInterface>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param id \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerFindOne(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebhookInterface>;\n    public webhookControllerFindOne(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebhookInterface>>;\n    public webhookControllerFindOne(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebhookInterface>>;\n    public webhookControllerFindOne(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling webhookControllerFindOne.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<WebhookInterface>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerProfile(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebhookUserInterface>;\n    public webhookControllerProfile(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebhookUserInterface>>;\n    public webhookControllerProfile(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebhookUserInterface>>;\n    public webhookControllerProfile(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/profile`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<WebhookUserInterface>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param createWebhookDtoInterface \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerTestRequest(createWebhookDtoInterface: CreateWebhookDtoInterface, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebhookTestRequestResponseInterface>;\n    public webhookControllerTestRequest(createWebhookDtoInterface: CreateWebhookDtoInterface, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebhookTestRequestResponseInterface>>;\n    public webhookControllerTestRequest(createWebhookDtoInterface: CreateWebhookDtoInterface, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebhookTestRequestResponseInterface>>;\n    public webhookControllerTestRequest(createWebhookDtoInterface: CreateWebhookDtoInterface, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (createWebhookDtoInterface === null || createWebhookDtoInterface === undefined) {\n            throw new Error('Required parameter createWebhookDtoInterface was null or undefined when calling webhookControllerTestRequest.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/test-request`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<WebhookTestRequestResponseInterface>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: createWebhookDtoInterface,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param id \n     * @param updateWebhookDtoInterface \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookControllerUpdateOne(id: string, updateWebhookDtoInterface: UpdateWebhookDtoInterface, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebhookInterface>;\n    public webhookControllerUpdateOne(id: string, updateWebhookDtoInterface: UpdateWebhookDtoInterface, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebhookInterface>>;\n    public webhookControllerUpdateOne(id: string, updateWebhookDtoInterface: UpdateWebhookDtoInterface, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebhookInterface>>;\n    public webhookControllerUpdateOne(id: string, updateWebhookDtoInterface: UpdateWebhookDtoInterface, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling webhookControllerUpdateOne.');\n        }\n        if (updateWebhookDtoInterface === null || updateWebhookDtoInterface === undefined) {\n            throw new Error('Required parameter updateWebhookDtoInterface was null or undefined when calling webhookControllerUpdateOne.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<WebhookInterface>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: updateWebhookDtoInterface,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param id \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookLogsControllerDeleteOne(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<StatusResponseInterface>;\n    public webhookLogsControllerDeleteOne(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<StatusResponseInterface>>;\n    public webhookLogsControllerDeleteOne(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<StatusResponseInterface>>;\n    public webhookLogsControllerDeleteOne(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling webhookLogsControllerDeleteOne.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/logs/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<StatusResponseInterface>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param webhookId \n     * @param curPage \n     * @param perPage \n     * @param searchText \n     * @param sort \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookLogsControllerFindManyLogs(webhookId: string, curPage?: number, perPage?: number, searchText?: string, sort?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FindManyWebhookLogResponseInterface>;\n    public webhookLogsControllerFindManyLogs(webhookId: string, curPage?: number, perPage?: number, searchText?: string, sort?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FindManyWebhookLogResponseInterface>>;\n    public webhookLogsControllerFindManyLogs(webhookId: string, curPage?: number, perPage?: number, searchText?: string, sort?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FindManyWebhookLogResponseInterface>>;\n    public webhookLogsControllerFindManyLogs(webhookId: string, curPage?: number, perPage?: number, searchText?: string, sort?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (webhookId === null || webhookId === undefined) {\n            throw new Error('Required parameter webhookId was null or undefined when calling webhookLogsControllerFindManyLogs.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>curPage, 'curPage');\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>perPage, 'perPage');\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>searchText, 'searchText');\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>sort, 'sort');\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>webhookId, 'webhookId');\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/logs`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<FindManyWebhookLogResponseInterface>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @param id \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public webhookLogsControllerFindOne(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebhookLogInterface>;\n    public webhookLogsControllerFindOne(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebhookLogInterface>>;\n    public webhookLogsControllerFindOne(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebhookLogInterface>>;\n    public webhookLogsControllerFindOne(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling webhookLogsControllerFindOne.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/webhook/logs/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<WebhookLogInterface>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","export * from './webhook-rest.service';\nimport { WebhookRestService } from './webhook-rest.service';\nexport const APIS = [WebhookRestService];\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateWebhookDtoInterface { \n    eventName: string;\n    endpoint: string;\n    enabled: boolean;\n    headers?: object | null;\n    requestTimeout?: number | null;\n    workUntilDate?: string | null;\n}\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface FindManyResponseMetaInterface { \n    curPage?: number;\n    perPage?: number;\n    totalResults: number;\n}\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface StatusResponseInterface { \n    message: string;\n}\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UpdateWebhookDtoInterface { \n    eventName?: string;\n    endpoint?: string;\n    enabled?: boolean;\n    headers?: object | null;\n    requestTimeout?: number | null;\n    workUntilDate?: string | null;\n}\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const WebhookErrorEnumInterface = {\n    WEBHOOK_000: 'WEBHOOK-000',\n    WEBHOOK_001: 'WEBHOOK-001',\n    WEBHOOK_002: 'WEBHOOK-002',\n    WEBHOOK_003: 'WEBHOOK-003',\n    WEBHOOK_004: 'WEBHOOK-004',\n    WEBHOOK_005: 'WEBHOOK-005'\n} as const;\nexport type WebhookErrorEnumInterface = typeof WebhookErrorEnumInterface[keyof typeof WebhookErrorEnumInterface];\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface WebhookEventInterface { \n    eventName: string;\n    description: string;\n    example: object;\n}\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const WebhookLogScalarFieldEnumInterface = {\n    id: 'id',\n    request: 'request',\n    responseStatus: 'responseStatus',\n    response: 'response',\n    webhookStatus: 'webhookStatus',\n    webhookId: 'webhookId',\n    externalTenantId: 'externalTenantId',\n    createdAt: 'createdAt',\n    updatedAt: 'updatedAt'\n} as const;\nexport type WebhookLogScalarFieldEnumInterface = typeof WebhookLogScalarFieldEnumInterface[keyof typeof WebhookLogScalarFieldEnumInterface];\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const WebhookRoleInterface = {\n    Admin: 'Admin',\n    User: 'User'\n} as const;\nexport type WebhookRoleInterface = typeof WebhookRoleInterface[keyof typeof WebhookRoleInterface];\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const WebhookScalarFieldEnumInterface = {\n    id: 'id',\n    eventName: 'eventName',\n    endpoint: 'endpoint',\n    enabled: 'enabled',\n    headers: 'headers',\n    requestTimeout: 'requestTimeout',\n    externalTenantId: 'externalTenantId',\n    createdBy: 'createdBy',\n    updatedBy: 'updatedBy',\n    createdAt: 'createdAt',\n    updatedAt: 'updatedAt',\n    workUntilDate: 'workUntilDate'\n} as const;\nexport type WebhookScalarFieldEnumInterface = typeof WebhookScalarFieldEnumInterface[keyof typeof WebhookScalarFieldEnumInterface];\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const WebhookStatusInterface = {\n    Pending: 'Pending',\n    Process: 'Process',\n    Success: 'Success',\n    Error: 'Error',\n    Timeout: 'Timeout'\n} as const;\nexport type WebhookStatusInterface = typeof WebhookStatusInterface[keyof typeof WebhookStatusInterface];\n\n","/**\n * \n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const WebhookUserScalarFieldEnumInterface = {\n    id: 'id',\n    externalTenantId: 'externalTenantId',\n    externalUserId: 'externalUserId',\n    userRole: 'userRole',\n    createdAt: 'createdAt',\n    updatedAt: 'updatedAt'\n} as const;\nexport type WebhookUserScalarFieldEnumInterface = typeof WebhookUserScalarFieldEnumInterface[keyof typeof WebhookUserScalarFieldEnumInterface];\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { WebhookRestClientConfiguration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\n\n@NgModule({\n  imports:      [],\n  declarations: [],\n  exports:      [],\n  providers: []\n})\nexport class WebhookRestClientApiModule {\n    public static forRoot(configurationFactory: () => WebhookRestClientConfiguration): ModuleWithProviders<WebhookRestClientApiModule> {\n        return {\n            ngModule: WebhookRestClientApiModule,\n            providers: [ { provide: WebhookRestClientConfiguration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor( @Optional() @SkipSelf() parentModule: WebhookRestClientApiModule,\n                 @Optional() http: HttpClient) {\n        if (parentModule) {\n            throw new Error('WebhookRestClientApiModule is already loaded. Import in your base AppModule only.');\n        }\n        if (!http) {\n            throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n            'See also https://github.com/angular/angular/issues/20575');\n        }\n    }\n}\n","import { NgModule, Injectable } from '@angular/core';\nimport {\n  WebhookRestClientApiModule,\n  WebhookRestClientConfiguration,\n  WebhookRestService,\n} from './rest-sdk';\nimport { HttpHeaders } from '@angular/common/http';\nimport { Observable, finalize } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class WebhookRestSdkAngularService {\n  constructor(\n    private readonly webhookRestClientConfiguration: WebhookRestClientConfiguration,\n    private readonly webhookRestService: WebhookRestService\n  ) {\n    webhookRestService.configuration.withCredentials = true;\n  }\n\n  getWebhookApi() {\n    if (!this.webhookRestService) {\n      throw new Error('webhookApi not set');\n    }\n    return this.webhookRestService;\n  }\n\n  updateHeaders(headers: Record<string, string>) {\n    this.webhookRestService.defaultHeaders = new HttpHeaders(headers);\n  }\n\n  webSocket<T>({\n    path,\n    eventName,\n    options,\n  }: {\n    path: string;\n    eventName: string;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    options?: any;\n  }) {\n    const wss = new WebSocket(\n      (this.webhookRestClientConfiguration.basePath || '')\n        .replace('/api', '')\n        .replace('http', 'ws') + path,\n      options\n    );\n    return new Observable<{ data: T; event: string }>((observer) => {\n      wss.addEventListener('open', () => {\n        wss.addEventListener('message', ({ data }) => {\n          observer.next(JSON.parse(data.toString()));\n        });\n        wss.addEventListener('error', (err) => {\n          observer.error(err);\n          if (wss?.readyState == WebSocket.OPEN) {\n            wss.close();\n          }\n        });\n        wss.send(\n          JSON.stringify({\n            event: eventName,\n            data: true,\n          })\n        );\n      });\n    }).pipe(\n      finalize(() => {\n        if (wss?.readyState == WebSocket.OPEN) {\n          wss.close();\n        }\n      })\n    );\n  }\n}\n\n@NgModule({})\nexport class WebhookRestSdkAngularModule {\n  public static forRoot(configuration: Partial<WebhookRestClientConfiguration>) {\n    const webhookRestClientConfiguration = new WebhookRestClientConfiguration(\n      configuration\n    );\n    const webhookRestClientApiModule = WebhookRestClientApiModule.forRoot(\n      () => webhookRestClientConfiguration\n    );\n    return {\n      ngModule: WebhookRestSdkAngularModule,\n      providers: [\n        {\n          provide: WebhookRestClientConfiguration,\n          useValue: webhookRestClientConfiguration,\n        },\n      ],\n      imports: [webhookRestClientApiModule],\n      exports: [webhookRestClientApiModule, WebhookRestClientConfiguration],\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { WebhookRestSdkAngularService } from '../generated/webhook-rest_sdk-angular.module';\n\n@Injectable({ providedIn: 'root' })\nexport class WebhookEventsService {\n  constructor(private readonly ssoRestSdkAngularService: WebhookRestSdkAngularService) {}\n\n  findMany() {\n    return this.ssoRestSdkAngularService.getWebhookApi().webhookControllerEvents();\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { ValidationErrorMetadataInterface, ValidationService } from '@nestjs-mod/afat';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { tap } from 'rxjs';\nimport {\n  UpdateWebhookDtoInterface,\n  WebhookEventInterface,\n  WebhookScalarFieldEnumInterface,\n} from '../generated/rest-sdk';\nimport { WebhookEventsService } from './webhook-events.service';\n\n@UntilDestroy()\n@Injectable({ providedIn: 'root' })\nexport class WebhookFormService {\n  protected events: WebhookEventInterface[] = [];\n\n  constructor(\n    protected readonly webhookEventsService: WebhookEventsService,\n    protected readonly translocoService: TranslocoService,\n    protected readonly validationService: ValidationService\n  ) {}\n\n  init() {\n    return this.webhookEventsService.findMany().pipe(\n      tap((events) => {\n        this.events = events;\n      })\n    );\n  }\n\n  getFormlyFields(options?: {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    data?: UpdateWebhookDtoInterface;\n    errors?: ValidationErrorMetadataInterface[];\n  }): FormlyFieldConfig[] {\n    return this.validationService.appendServerErrorsAsValidatorsToFields(\n      [\n        {\n          key: WebhookScalarFieldEnumInterface.endpoint,\n          type: 'input',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`webhook.form.fields.endpoint`),\n            placeholder: 'endpoint',\n            required: true,\n          },\n        },\n        {\n          key: WebhookScalarFieldEnumInterface.eventName,\n          type: 'select',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`webhook.form.fields.event-name`),\n            placeholder: 'eventName',\n            required: true,\n            options: (this.events || []).map((e) => ({\n              value: e.eventName,\n              label: `${e.eventName} - ${e.description}`,\n            })),\n            change: (field, eventName) => {\n              const event = this.events.find((e) => e.eventName === eventName);\n              field.form?.get('example')?.setValue(JSON.stringify(event?.example, null, 4));\n            },\n          },\n        },\n        {\n          key: WebhookScalarFieldEnumInterface.headers,\n          type: 'textarea',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`webhook.form.fields.headers`),\n            placeholder: 'headers',\n          },\n        },\n        {\n          fieldGroupClassName: 'flex justify-between',\n          fieldGroup: [\n            {\n              fieldGroupClassName: 'flex-1',\n              key: WebhookScalarFieldEnumInterface.enabled,\n              type: 'checkbox',\n              validation: {\n                show: true,\n              },\n              props: {\n                label: this.translocoService.translate(`webhook.form.fields.enabled`),\n                placeholder: 'enabled',\n                required: true,\n              },\n            },\n            {\n              fieldGroupClassName: 'flex-1',\n              key: WebhookScalarFieldEnumInterface.requestTimeout,\n              type: 'input',\n              validation: {\n                show: true,\n              },\n              props: {\n                type: 'number',\n                label: this.translocoService.translate(`webhook.form.fields.request-timeout`),\n                placeholder: 'requestTimeout',\n                required: false,\n              },\n            },\n            {\n              fieldGroupClassName: 'flex-1',\n              key: WebhookScalarFieldEnumInterface.workUntilDate,\n              type: 'date-input',\n              validation: {\n                show: true,\n              },\n              props: {\n                type: 'datetime-local',\n                label: this.translocoService.translate(`webhook.form.fields.work-until-date`),\n                placeholder: 'workUntilDate',\n                required: false,\n              },\n            },\n          ],\n        },\n        {\n          key: 'example',\n          type: 'textarea',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`Example of payload`),\n            placeholder: 'example of payload',\n            readonly: true,\n          },\n          templateOptions: {\n            rows: 15,\n          },\n        },\n      ],\n      options?.errors || []\n    );\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { TIMEZONE_OFFSET, safeParseJson } from '@nestjs-mod/misc';\n\nimport { addHours, format } from 'date-fns';\nimport { WebhookInterface } from '../generated/rest-sdk';\n\nexport interface WebhookModel\n  extends Partial<Omit<WebhookInterface, 'workUntilDate' | 'createdAt' | 'updatedAt' | 'headers'>> {\n  headers?: string | null;\n  createdAt?: Date | null;\n  updatedAt?: Date | null;\n  workUntilDate?: Date | null;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class WebhookMapperService {\n  toModel(item?: WebhookInterface): WebhookModel {\n    return {\n      ...item,\n      headers: item?.headers ? JSON.stringify(item.headers) : '',\n      requestTimeout: item?.requestTimeout ? +item.requestTimeout : null,\n      workUntilDate: item?.workUntilDate ? addHours(new Date(item.workUntilDate), TIMEZONE_OFFSET) : null,\n      createdAt: item?.createdAt ? addHours(new Date(item.createdAt), TIMEZONE_OFFSET) : null,\n      updatedAt: item?.updatedAt ? addHours(new Date(item.updatedAt), TIMEZONE_OFFSET) : null,\n    };\n  }\n\n  toForm(model: WebhookModel) {\n    return {\n      ...model,\n      requestTimeout: model.requestTimeout ? model.requestTimeout : '',\n      workUntilDate: model.workUntilDate ? format(model.workUntilDate, 'yyyy-MM-dd HH:mm:ss') : null,\n    };\n  }\n\n  toJson(data: WebhookModel) {\n    return {\n      enabled: data.enabled === true,\n      endpoint: data.endpoint || '',\n      eventName: data.eventName || '',\n      headers: data.headers ? safeParseJson(data.headers) : null,\n      requestTimeout: data.requestTimeout ? +data.requestTimeout : null,\n      workUntilDate: data.workUntilDate ? format(new Date(data.workUntilDate), 'yyyy-MM-dd HH:mm:ss') : undefined,\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { TIMEZONE_OFFSET, safeParseJson } from '@nestjs-mod/misc';\nimport { addHours } from 'date-fns';\nimport { WebhookLogInterface } from '../generated/rest-sdk';\n\nexport interface WebhookLogModel\n  extends Partial<Omit<WebhookLogInterface, 'createdAt' | 'updatedAt' | 'request' | 'response'>> {\n  request?: string | null;\n  response?: string | null;\n  createdAt?: Date | null;\n  updatedAt?: Date | null;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class WebhookLogMapperService {\n  toModel(item?: WebhookLogInterface): WebhookLogModel {\n    return {\n      ...item,\n      request: item?.request ? JSON.stringify(item.request) : '',\n      response: item?.response ? JSON.stringify(item.response) : '',\n      createdAt: item?.createdAt ? addHours(new Date(item.createdAt), TIMEZONE_OFFSET) : null,\n      updatedAt: item?.updatedAt ? addHours(new Date(item.updatedAt), TIMEZONE_OFFSET) : null,\n    };\n  }\n\n  toForm(model: WebhookLogModel) {\n    return {\n      ...model,\n    };\n  }\n\n  toJson(data: WebhookLogModel) {\n    return {\n      responseStatus: data.responseStatus || '',\n      webhookStatus: data.webhookStatus || '',\n      request: data.request ? safeParseJson(data.request) : null,\n      response: data.response ? safeParseJson(data.response) : null,\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { RequestMeta } from '@nestjs-mod/misc';\nimport { map } from 'rxjs';\nimport { CreateWebhookDtoInterface, UpdateWebhookDtoInterface, WebhookLogInterface } from '../generated/rest-sdk';\nimport { WebhookRestSdkAngularService } from '../generated/webhook-rest_sdk-angular.module';\nimport { WebhookLogMapperService } from './webhook-log-mapper.service';\nimport { WebhookMapperService } from './webhook-mapper.service';\n\n\n@Injectable({ providedIn: 'root' })\nexport class WebhookService {\n  constructor(\n    private readonly ssoRestSdkAngularService: WebhookRestSdkAngularService,\n    private readonly webhookMapperService: WebhookMapperService,\n    private readonly webhookLogMapperService: WebhookLogMapperService\n  ) {}\n\n  findOne(id: string) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookControllerFindOne(id)\n      .pipe(map((w) => this.webhookMapperService.toModel(w)));\n  }\n\n  findMany({\n    filters,\n    meta,\n  }: {\n    filters: Record<string, string>;\n    meta?: RequestMeta;\n  }) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookControllerFindMany(\n        meta?.curPage,\n        meta?.perPage,\n        filters['search'],\n        meta?.sort\n          ? Object.entries(meta?.sort)\n              .map(([key, value]) => `${key}:${value}`)\n              .join(',')\n          : undefined\n      )\n      .pipe(\n        map(({ meta, webhooks }) => ({\n          meta,\n          webhooks: webhooks.map((w) => this.webhookMapperService.toModel(w)),\n        }))\n      );\n  }\n\n  updateOne(id: string, data: UpdateWebhookDtoInterface) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookControllerUpdateOne(id, data)\n      .pipe(map((w) => this.webhookMapperService.toModel(w)));\n  }\n\n  deleteOne(id: string) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookControllerDeleteOne(id);\n  }\n\n  createOne(data: CreateWebhookDtoInterface) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookControllerCreateOne(data)\n      .pipe(map((w) => this.webhookMapperService.toModel(w)));\n  }\n\n  testRequest(data: CreateWebhookDtoInterface) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookControllerTestRequest(data)\n      .pipe(\n        map((result) =>\n          this.webhookLogMapperService.toModel(result as WebhookLogInterface)\n        )\n      );\n  }\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Inject,\n  Input,\n  OnInit,\n  Optional,\n  Output,\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { TranslocoPipe, TranslocoService } from '@jsverse/transloco';\nimport { ValidationErrorMetadataInterface, ValidationService } from '@nestjs-mod/afat';\nimport { TIMEZONE_OFFSET } from '@nestjs-mod/misc';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { FormlyFieldConfig, FormlyModule } from '@ngx-formly/core';\nimport { addHours } from 'date-fns';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\nimport { BehaviorSubject, catchError, distinctUntilChanged, mergeMap, of, tap, throwError } from 'rxjs';\nimport { WebhookFormService } from '../../services/webhook-form.service';\nimport { WebhookMapperService, WebhookModel } from '../../services/webhook-mapper.service';\nimport { WebhookService } from '../../services/webhook.service';\nimport { compare } from '@nestjs-mod/misc';\n\n@UntilDestroy()\n@Component({\n  imports: [\n    FormlyModule,\n    NzFormModule,\n    NzInputModule,\n    NzButtonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    AsyncPipe,\n    TranslocoPipe,\n  ],\n  selector: 'webhook-form',\n  templateUrl: './webhook-form.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n})\nexport class WebhookFormComponent implements OnInit {\n  @Input()\n  id?: string;\n\n  @Input()\n  hideButtons?: boolean;\n\n  @Output()\n  afterFind = new EventEmitter<WebhookModel>();\n\n  @Output()\n  afterCreate = new EventEmitter<WebhookModel>();\n\n  @Output()\n  afterUpdate = new EventEmitter<WebhookModel>();\n\n  form = new UntypedFormGroup({});\n  formlyModel$ = new BehaviorSubject<object | null>(null);\n  formlyFields$ = new BehaviorSubject<FormlyFieldConfig[] | null>(null);\n  errors?: ValidationErrorMetadataInterface[];\n\n  constructor(\n    @Optional()\n    @Inject(NZ_MODAL_DATA)\n    private readonly nzModalData: WebhookFormComponent,\n    private readonly webhookService: WebhookService,\n    private readonly nzMessageService: NzMessageService,\n    private readonly translocoService: TranslocoService,\n    private readonly webhookFormService: WebhookFormService,\n    private readonly webhookMapperService: WebhookMapperService,\n    private readonly validationService: ValidationService,\n  ) {}\n\n  ngOnInit(): void {\n    Object.assign(this, this.nzModalData);\n    this.webhookFormService\n      .init()\n      .pipe(\n        mergeMap(() => {\n          if (this.id) {\n            return this.findOne().pipe(\n              tap((result) =>\n                this.afterFind.next({\n                  ...result,\n                }),\n              ),\n            );\n          } else {\n            this.setFieldsAndModel();\n          }\n          return of(true);\n        }),\n        untilDestroyed(this),\n      )\n      .subscribe();\n\n    this.form.valueChanges\n      .pipe(\n        distinctUntilChanged((prev, cur) => compare(prev, cur).different.length === 0),\n        tap(() => {\n          if (this.errors?.length) {\n            this.setFormlyFields({ errors: [] });\n          }\n        }),\n        untilDestroyed(this),\n      )\n      .subscribe();\n  }\n\n  setFieldsAndModel(model?: Partial<object>) {\n    this.setFormlyFields();\n    this.formlyModel$.next(model || null);\n  }\n\n  submitForm(): void {\n    if (this.id) {\n      this.updateOne()\n        .pipe(\n          tap((result) => {\n            if (result) {\n              this.nzMessageService.success(this.translocoService.translate('Success'));\n              this.afterUpdate.next({\n                ...result,\n              });\n            }\n          }),\n          untilDestroyed(this),\n        )\n        .subscribe();\n    } else {\n      this.createOne()\n        .pipe(\n          tap((result) => {\n            if (result) {\n              this.nzMessageService.success(this.translocoService.translate('Success'));\n              this.afterCreate.next({\n                ...result,\n                workUntilDate: result.workUntilDate ? addHours(new Date(result.workUntilDate), TIMEZONE_OFFSET) : null,\n              });\n            }\n          }),\n\n          untilDestroyed(this),\n        )\n        .subscribe();\n    }\n  }\n\n  createOne() {\n    return this.webhookService\n      .createOne(this.webhookMapperService.toJson(this.form.value))\n      .pipe(\n        catchError((err) =>\n          this.validationService.catchAndProcessServerError(err, (options) => this.setFormlyFields(options)),\n        ),\n      );\n  }\n\n  updateOne() {\n    if (!this.id) {\n      return throwError(() => new Error(this.translocoService.translate('id not set')));\n    }\n    return this.webhookService\n      .updateOne(this.id, this.webhookMapperService.toJson(this.form.value))\n      .pipe(\n        catchError((err) =>\n          this.validationService.catchAndProcessServerError(err, (options) => this.setFormlyFields(options)),\n        ),\n      );\n  }\n\n  findOne() {\n    if (!this.id) {\n      return throwError(() => new Error(this.translocoService.translate('id not set')));\n    }\n    return this.webhookService.findOne(this.id).pipe(\n      tap((result) => {\n        this.setFieldsAndModel(this.webhookMapperService.toForm(result));\n      }),\n    );\n  }\n\n  setFormlyFields(options?: { errors?: ValidationErrorMetadataInterface[] }) {\n    this.formlyFields$.next(this.webhookFormService.getFormlyFields(options));\n    this.errors = options?.errors || [];\n  }\n}\n","@if (formlyFields$ | async; as formlyFields) {\n<form nz-form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\n  <formly-form\n    [model]=\"formlyModel$ | async\"\n    [fields]=\"formlyFields\"\n    [form]=\"form\"\n  >\n  </formly-form>\n  @if (!hideButtons) {\n  <nz-form-control>\n    <button\n      nzBlock\n      nz-button\n      nzType=\"primary\"\n      type=\"submit\"\n      [disabled]=\"!form.valid\"\n    >\n      {{ id ? ('Save' | transloco) : ('Create' | transloco) }}\n    </button>\n  </nz-form-control>\n  }\n</form>\n}\n","import { Injectable } from '@angular/core';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { ValidationErrorMetadataInterface, ValidationService } from '@nestjs-mod/afat';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { of } from 'rxjs';\nimport { WebhookLogInterface, WebhookLogScalarFieldEnumInterface } from '../generated/rest-sdk';\n\n@UntilDestroy()\n@Injectable({ providedIn: 'root' })\nexport class WebhookLogFormService {\n  constructor(\n    protected readonly translocoService: TranslocoService,\n    protected readonly validationService: ValidationService\n  ) {}\n\n  init() {\n    return of(true);\n  }\n\n  getFormlyFields(options?: {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    data?: WebhookLogInterface;\n    errors?: ValidationErrorMetadataInterface[];\n  }): FormlyFieldConfig[] {\n    return this.validationService.appendServerErrorsAsValidatorsToFields(\n      [\n        {\n          key: WebhookLogScalarFieldEnumInterface.request,\n          type: 'textarea',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`webhook-log.form.fields.request`),\n            placeholder: 'request',\n            disabled: true,\n          },\n        },\n        {\n          key: WebhookLogScalarFieldEnumInterface.webhookStatus,\n          type: 'input',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`webhook-log.form.fields.webhook-status`),\n            placeholder: 'webhook-status',\n            readonly: true,\n          },\n        },\n        {\n          key: WebhookLogScalarFieldEnumInterface.response,\n          type: 'textarea',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`webhook-log.form.fields.response`),\n            placeholder: 'response',\n            readonly: true,\n          },\n        },\n        {\n          key: WebhookLogScalarFieldEnumInterface.responseStatus,\n          type: 'input',\n          validation: {\n            show: true,\n          },\n          props: {\n            label: this.translocoService.translate(`webhook-log.form.fields.response-status`),\n            placeholder: 'response-status',\n            readonly: true,\n          },\n        },\n      ],\n      options?.errors || []\n    );\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { RequestMeta } from '@nestjs-mod/misc';\nimport { map } from 'rxjs';\nimport { WebhookRestSdkAngularService } from '../generated/webhook-rest_sdk-angular.module';\nimport { WebhookLogMapperService } from './webhook-log-mapper.service';\n\n@Injectable({ providedIn: 'root' })\nexport class WebhookLogService {\n  constructor(\n    private readonly ssoRestSdkAngularService: WebhookRestSdkAngularService,\n    private readonly webhookLogMapperService: WebhookLogMapperService\n  ) {}\n\n  findOne(id: string) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookLogsControllerFindOne(id)\n      .pipe(map((w) => this.webhookLogMapperService.toModel(w)));\n  }\n\n  findMany({\n    filters,\n    meta,\n  }: {\n    filters: Record<string, string>;\n    meta?: RequestMeta;\n  }) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookLogsControllerFindManyLogs(\n        filters['webhookId'],\n        meta?.curPage,\n        meta?.perPage,\n        filters['search'],\n        meta?.sort\n          ? Object.entries(meta?.sort)\n              .map(([key, value]) => `${key}:${value}`)\n              .join(',')\n          : undefined\n      );\n  }\n\n  deleteOne(id: string) {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookLogsControllerDeleteOne(id);\n  }\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Inject,\n  Input,\n  OnInit,\n  Optional,\n  Output,\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { TranslocoPipe, TranslocoService } from '@jsverse/transloco';\nimport { ValidationErrorMetadataInterface } from '@nestjs-mod/afat';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { FormlyFieldConfig, FormlyModule } from '@ngx-formly/core';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\nimport { BehaviorSubject, distinctUntilChanged, mergeMap, of, tap, throwError } from 'rxjs';\nimport { WebhookLogFormService } from '../../services/webhook-log-form.service';\nimport { WebhookLogMapperService, WebhookLogModel } from '../../services/webhook-log-mapper.service';\nimport { WebhookLogService } from '../../services/webhook-log.service';\nimport { compare } from '@nestjs-mod/misc';\n\n@UntilDestroy()\n@Component({\n  imports: [\n    FormlyModule,\n    NzFormModule,\n    NzInputModule,\n    NzButtonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    AsyncPipe,\n    TranslocoPipe,\n  ],\n  selector: 'webhook-log-form',\n  templateUrl: './webhook-log-form.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n})\nexport class WebhookLogFormComponent implements OnInit {\n  @Input()\n  id?: string;\n\n  @Input()\n  data?: WebhookLogModel;\n\n  @Input()\n  hideButtons?: boolean;\n\n  @Output()\n  afterFind = new EventEmitter<WebhookLogModel>();\n\n  form = new UntypedFormGroup({});\n  formlyModel$ = new BehaviorSubject<object | null>(null);\n  formlyFields$ = new BehaviorSubject<FormlyFieldConfig[] | null>(null);\n  errors?: ValidationErrorMetadataInterface[];\n\n  constructor(\n    @Optional()\n    @Inject(NZ_MODAL_DATA)\n    private readonly nzModalData: WebhookLogFormComponent,\n    private readonly webhookLogService: WebhookLogService,\n    private readonly translocoService: TranslocoService,\n    private readonly webhookLogFormService: WebhookLogFormService,\n    private readonly webhookLogMapperService: WebhookLogMapperService,\n  ) {}\n\n  ngOnInit(): void {\n    Object.assign(this, this.nzModalData);\n    this.webhookLogFormService\n      .init()\n      .pipe(\n        mergeMap(() => {\n          if (this.id || this.data) {\n            if (this.data) {\n              return of(this.data).pipe(\n                tap((result) => {\n                  this.setFieldsAndModel(this.webhookLogMapperService.toForm(result));\n                }),\n                tap((result) =>\n                  this.afterFind.next({\n                    ...result,\n                  }),\n                ),\n              );\n            }\n            return this.findOne().pipe(\n              tap((result) =>\n                this.afterFind.next({\n                  ...result,\n                }),\n              ),\n            );\n          } else {\n            this.setFieldsAndModel();\n          }\n          return of(true);\n        }),\n        untilDestroyed(this),\n      )\n      .subscribe();\n\n    this.form.valueChanges\n      .pipe(\n        distinctUntilChanged((prev, cur) => compare(prev, cur).different.length === 0),\n        tap(() => {\n          if (this.errors?.length) {\n            this.setFormlyFields({ errors: [] });\n          }\n        }),\n        untilDestroyed(this),\n      )\n      .subscribe();\n  }\n\n  setFieldsAndModel(model?: Partial<object>) {\n    this.setFormlyFields();\n    this.formlyModel$.next(model || null);\n  }\n\n  findOne() {\n    if (!this.id) {\n      return throwError(() => new Error(this.translocoService.translate('id not set')));\n    }\n    return this.webhookLogService.findOne(this.id).pipe(\n      tap((result) => {\n        this.setFieldsAndModel(this.webhookLogMapperService.toForm(result));\n      }),\n    );\n  }\n\n  private setFormlyFields(options?: { errors?: ValidationErrorMetadataInterface[] }) {\n    this.formlyFields$.next(this.webhookLogFormService.getFormlyFields(options));\n    this.errors = options?.errors || [];\n  }\n}\n","@if (formlyFields$ | async; as formlyFields) {\n<form nz-form [formGroup]=\"form\">\n  <formly-form\n    [model]=\"formlyModel$ | async\"\n    [fields]=\"formlyFields\"\n    [form]=\"form\"\n  >\n  </formly-form>\n  @if (!hideButtons) {\n  <nz-form-control>\n    <button\n      nzBlock\n      nz-button\n      nzType=\"primary\"\n      type=\"submit\"\n      [disabled]=\"!form.valid\"\n    >\n      {{ id ? ('Save' | transloco) : ('Create' | transloco) }}\n    </button>\n  </nz-form-control>\n  }\n</form>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewContainerRef } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport isEqual from 'lodash/fp/isEqual';\nimport omit from 'lodash/fp/omit';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzLayoutModule } from 'ng-zorro-antd/layout';\nimport { NzMenuModule } from 'ng-zorro-antd/menu';\nimport { ModalOptions, NzModalModule, NzModalRef, NzModalService } from 'ng-zorro-antd/modal';\nimport { NzTableModule, NzTableQueryParams } from 'ng-zorro-antd/table';\nimport { BehaviorSubject, Observable, catchError, debounceTime, distinctUntilChanged, merge, tap } from 'rxjs';\n\nimport { TranslocoDirective, TranslocoPipe, TranslocoService } from '@jsverse/transloco';\nimport { marker } from '@jsverse/transloco-keys-manager/marker';\nimport { TranslocoDatePipe } from '@jsverse/transloco-locale';\nimport { NzTableSortOrderDetectorPipe, ValidationService, getQueryMetaByParams } from '@nestjs-mod/afat';\nimport { RequestMeta, getQueryMeta } from '@nestjs-mod/misc';\nimport { WebhookFormComponent } from '../../forms/webhook-form/webhook-form.component';\nimport { WebhookLogFormComponent } from '../../forms/webhook-log-form/webhook-log-form.component';\nimport { WebhookScalarFieldEnumInterface } from '../../generated/rest-sdk';\nimport { WebhookLogModel } from '../../services/webhook-log-mapper.service';\nimport { WebhookMapperService, WebhookModel } from '../../services/webhook-mapper.service';\nimport { WebhookService } from '../../services/webhook.service';\n\n@UntilDestroy()\n@Component({\n  imports: [\n    NzGridModule,\n    NzMenuModule,\n    NzLayoutModule,\n    NzTableModule,\n    NzDividerModule,\n    CommonModule,\n    RouterModule,\n    NzModalModule,\n    NzButtonModule,\n    NzInputModule,\n    NzIconModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NzTableSortOrderDetectorPipe,\n    TranslocoDirective,\n    TranslocoPipe,\n    TranslocoDatePipe,\n  ],\n  selector: 'webhook-grid',\n  templateUrl: './webhook-grid.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n})\nexport class WebhookGridComponent implements OnInit {\n  @Input()\n  forceLoadStream?: Observable<unknown>[];\n\n  items$ = new BehaviorSubject<WebhookModel[]>([]);\n  meta$ = new BehaviorSubject<RequestMeta | undefined>(undefined);\n  searchField = new FormControl('');\n  selectedIds$ = new BehaviorSubject<string[]>([]);\n  keys = [\n    WebhookScalarFieldEnumInterface.id,\n    WebhookScalarFieldEnumInterface.enabled,\n    WebhookScalarFieldEnumInterface.endpoint,\n    WebhookScalarFieldEnumInterface.eventName,\n    WebhookScalarFieldEnumInterface.headers,\n    WebhookScalarFieldEnumInterface.requestTimeout,\n    WebhookScalarFieldEnumInterface.workUntilDate,\n  ];\n  columns = {\n    [WebhookScalarFieldEnumInterface.id]: marker('webhook.grid.columns.id'),\n    [WebhookScalarFieldEnumInterface.enabled]: marker('webhook.grid.columns.enabled'),\n    [WebhookScalarFieldEnumInterface.endpoint]: marker('webhook.grid.columns.endpoint'),\n    [WebhookScalarFieldEnumInterface.eventName]: marker('webhook.grid.columns.event-name'),\n    [WebhookScalarFieldEnumInterface.headers]: marker('webhook.grid.columns.headers'),\n    [WebhookScalarFieldEnumInterface.requestTimeout]: marker('webhook.grid.columns.request-timeout'),\n    [WebhookScalarFieldEnumInterface.workUntilDate]: marker('webhook.grid.columns.work-until-date'),\n  };\n  WebhookScalarFieldEnumInterface = WebhookScalarFieldEnumInterface;\n\n  private filters?: Record<string, string>;\n\n  constructor(\n    private readonly webhookService: WebhookService,\n    private readonly nzModalService: NzModalService,\n    private readonly viewContainerRef: ViewContainerRef,\n    private readonly translocoService: TranslocoService,\n    private readonly webhookMapperService: WebhookMapperService,\n    private readonly validationService: ValidationService,\n  ) {}\n\n  ngOnInit(): void {\n    merge(\n      this.searchField.valueChanges.pipe(debounceTime(700), distinctUntilChanged()),\n      ...(this.forceLoadStream ? this.forceLoadStream : []),\n    )\n      .pipe(\n        tap(() => this.loadMany({ force: true })),\n        untilDestroyed(this),\n      )\n      .subscribe();\n    this.loadMany();\n  }\n\n  loadMany(args?: {\n    filters?: Record<string, string>;\n    meta?: RequestMeta;\n    queryParams?: NzTableQueryParams;\n    force?: boolean;\n  }) {\n    let meta = { meta: {}, ...(args || {}) }.meta as RequestMeta;\n    const { queryParams, filters } = { filters: {}, ...(args || {}) };\n\n    if (!args?.force && queryParams) {\n      meta = getQueryMetaByParams(queryParams);\n    }\n\n    meta = getQueryMeta(meta, this.meta$.value);\n\n    if (!filters['search'] && this.searchField.value) {\n      filters['search'] = this.searchField.value;\n    }\n\n    if (\n      !args?.force &&\n      isEqual(\n        omit(['totalResults'], { ...meta, ...filters }),\n        omit(['totalResults'], {\n          ...this.meta$.value,\n          ...this.filters,\n        }),\n      )\n    ) {\n      return;\n    }\n\n    this.webhookService\n      .findMany({ filters, meta })\n      .pipe(\n        tap((result) => {\n          this.items$.next(result.webhooks);\n          this.meta$.next({ ...result.meta, ...meta });\n          this.filters = filters;\n          this.selectedIds$.next([]);\n        }),\n        untilDestroyed(this),\n      )\n      .subscribe();\n  }\n\n  showTestRequestModal(data: WebhookLogModel): void {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    let modal: NzModalRef<WebhookLogFormComponent, any>;\n\n    const config: ModalOptions<\n      WebhookLogFormComponent,\n      WebhookLogFormComponent,\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      any\n    > = {\n      nzTitle:\n        data.webhookStatus === 'Success'\n          ? this.translocoService.translate('webhook.test-request-modal.success-title')\n          : this.translocoService.translate('webhook.test-request-modal.error-title'),\n      nzContent: WebhookLogFormComponent,\n      nzViewContainerRef: this.viewContainerRef,\n      nzData: {\n        hideButtons: true,\n        data,\n      } as WebhookLogFormComponent,\n      nzWidth: 800,\n      nzFooter: [\n        {\n          label: this.translocoService.translate('Close'),\n          onClick: () => {\n            modal.close();\n          },\n        },\n      ],\n    };\n    if (data.webhookStatus === 'Success') {\n      modal = this.nzModalService.success<WebhookLogFormComponent>(config);\n    } else {\n      modal = this.nzModalService.error<WebhookLogFormComponent>(config);\n    }\n  }\n\n  submitTestRequest(webhookFormComponent: WebhookFormComponent): void {\n    this.webhookService\n      .testRequest(this.webhookMapperService.toJson(webhookFormComponent.form.value))\n      .pipe(\n        tap(() => webhookFormComponent.setFormlyFields({ errors: [] })),\n        catchError((err) =>\n          this.validationService.catchAndProcessServerError(err, (options) =>\n            webhookFormComponent.setFormlyFields(options),\n          ),\n        ),\n        tap((result) => {\n          if (result) {\n            this.showTestRequestModal(result);\n          }\n        }),\n\n        untilDestroyed(this),\n      )\n      .subscribe();\n  }\n\n  showCreateOrUpdateModal(id?: string): void {\n    const modal = this.nzModalService.create<WebhookFormComponent, WebhookFormComponent>({\n      nzTitle: id\n        ? this.translocoService.translate('webhook.update-modal.title', { id })\n        : this.translocoService.translate('webhook.create-modal.title'),\n      nzContent: WebhookFormComponent,\n      nzViewContainerRef: this.viewContainerRef,\n      nzData: {\n        hideButtons: true,\n        id,\n      } as WebhookFormComponent,\n      nzWidth: 800,\n      nzFooter: [\n        {\n          label: this.translocoService.translate('Test request'),\n          onClick: () => {\n            if (modal.componentInstance) {\n              this.submitTestRequest(modal.componentInstance);\n            }\n          },\n          type: 'dashed',\n        },\n        {\n          label: this.translocoService.translate('Cancel'),\n          onClick: () => {\n            modal.close();\n          },\n        },\n        {\n          label: id ? this.translocoService.translate('Save') : this.translocoService.translate('Create'),\n          onClick: () => {\n            modal.componentInstance?.afterUpdate\n              .pipe(\n                tap(() => {\n                  modal.close();\n                  this.loadMany({ force: true });\n                }),\n                untilDestroyed(modal.componentInstance),\n              )\n              .subscribe();\n\n            modal.componentInstance?.afterCreate\n              .pipe(\n                tap(() => {\n                  modal.close();\n                  this.loadMany({ force: true });\n                }),\n                untilDestroyed(modal.componentInstance),\n              )\n              .subscribe();\n\n            modal.componentInstance?.submitForm();\n          },\n          type: 'primary',\n        },\n      ],\n    });\n  }\n\n  showDeleteModal(id?: string) {\n    if (!id) {\n      return;\n    }\n    this.nzModalService.confirm({\n      nzTitle: this.translocoService.translate(`webhook.delete-modal.title`, {\n        id,\n      }),\n      nzOkText: this.translocoService.translate('Yes'),\n      nzCancelText: this.translocoService.translate('No'),\n      nzOnOk: () => {\n        this.webhookService\n          .deleteOne(id)\n          .pipe(\n            tap(() => {\n              this.loadMany({ force: true });\n            }),\n            untilDestroyed(this),\n          )\n          .subscribe();\n      },\n    });\n  }\n}\n","<div class=\"table-operations\" nz-row nzJustify=\"space-between\">\n  <div nz-col nzSpan=\"8\">\n    <button nz-button nzType=\"primary\" (click)=\"showCreateOrUpdateModal()\" transloco=\"Create new\"></button>\n  </div>\n  <div nz-col nzSpan=\"8\">\n    <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\">\n      <input type=\"text\" [formControl]=\"searchField\" nz-input [placeholder]=\"'input search text' | transloco\" />\n    </nz-input-group>\n    <ng-template #suffixIconButton>\n      <button (click)=\"loadMany({ force: true })\" nz-button nzType=\"primary\" nzSearch>\n        <span nz-icon nzType=\"search\"></span>\n      </button>\n    </ng-template>\n  </div>\n</div>\n@if ((meta$ | async); as meta){\n<nz-table\n  #basicTable\n  [nzBordered]=\"true\"\n  [nzOuterBordered]=\"true\"\n  nzShowPagination\n  nzShowSizeChanger\n  [nzFrontPagination]=\"false\"\n  [nzPageSizeOptions]=\"[1, 5, 10, 20, 30, 40]\"\n  [nzPageIndex]=\"meta.curPage\"\n  [nzPageSize]=\"meta.perPage\"\n  [nzTotal]=\"meta.totalResults || 0\"\n  (nzQueryParams)=\"\n    loadMany({\n      queryParams: $event\n    })\n  \"\n  [nzData]=\"(items$ | async) || []\"\n>\n  <thead>\n    <tr>\n      @for (key of keys; track $index) {\n      <th\n        [nzColumnKey]=\"key\"\n        [nzSortFn]=\"true\"\n        [nzSortOrder]=\"meta.sort[key] | nzTableSortOrderDetector\"\n        [transloco]=\"columns[key]\"\n      ></th>\n      }\n      <th transloco=\"Action\"></th>\n    </tr>\n  </thead>\n  @if (selectedIds$ | async; as selectedIds) {\n  <tbody>\n    @for (data of basicTable.data; track $index) {\n    <tr\n      (click)=\"selectedIds$.next(!data.id || selectedIds[0] === data.id ? [] : [data.id])\"\n      [class.selected]=\"selectedIds[0] === data.id\"\n    >\n      @for (key of keys; track $index) { @if (data[key] && key==='workUntilDate') {\n      <td>\n        {{ +data[key] | translocoDate : { dateStyle: 'medium', timeStyle: 'medium' } }}\n      </td>\n      } @else{\n      <td>\n        {{ data[key] }}\n      </td>\n      } }\n      <td>\n        <a (click)=\"showCreateOrUpdateModal(data.id)\" transloco=\"Edit\"></a>\n        <nz-divider nzType=\"vertical\"></nz-divider>\n        <a (click)=\"showDeleteModal(data.id)\" transloco=\"Delete\"></a>\n      </td>\n    </tr>\n    }\n  </tbody>\n  }\n</nz-table>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, ViewContainerRef } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport isEqual from 'lodash/fp/isEqual';\nimport omit from 'lodash/fp/omit';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzLayoutModule } from 'ng-zorro-antd/layout';\nimport { NzMenuModule } from 'ng-zorro-antd/menu';\nimport { NzModalModule, NzModalService } from 'ng-zorro-antd/modal';\nimport { NzTableModule, NzTableQueryParams } from 'ng-zorro-antd/table';\nimport { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, merge, tap } from 'rxjs';\n\nimport { TranslocoDirective, TranslocoPipe, TranslocoService } from '@jsverse/transloco';\nimport { marker } from '@jsverse/transloco-keys-manager/marker';\nimport { NgChanges, NzTableSortOrderDetectorPipe, getQueryMetaByParams } from '@nestjs-mod/afat';\nimport { RequestMeta, getQueryMeta } from '@nestjs-mod/misc';\nimport { WebhookLogFormComponent } from '../../forms/webhook-log-form/webhook-log-form.component';\nimport { WebhookLogInterface, WebhookLogScalarFieldEnumInterface } from '../../generated/rest-sdk';\nimport { WebhookLogService } from '../../services/webhook-log.service';\n\n@UntilDestroy()\n@Component({\n  imports: [\n    NzGridModule,\n    NzMenuModule,\n    NzLayoutModule,\n    NzTableModule,\n    NzDividerModule,\n    CommonModule,\n    RouterModule,\n    NzModalModule,\n    NzButtonModule,\n    NzInputModule,\n    NzIconModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NzTableSortOrderDetectorPipe,\n    TranslocoDirective,\n    TranslocoPipe,\n  ],\n  selector: 'webhook-log-grid',\n  templateUrl: './webhook-log-grid.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n})\nexport class WebhookLogGridComponent implements OnInit, OnChanges {\n  @Input({ required: true })\n  webhookId!: string | undefined;\n  @Input()\n  forceLoadStream?: Observable<unknown>[];\n\n  items$ = new BehaviorSubject<WebhookLogInterface[]>([]);\n  meta$ = new BehaviorSubject<RequestMeta | undefined>(undefined);\n  searchField = new FormControl('');\n  selectedIds$ = new BehaviorSubject<string[]>([]);\n  keys = [\n    WebhookLogScalarFieldEnumInterface.id,\n    WebhookLogScalarFieldEnumInterface.request,\n    WebhookLogScalarFieldEnumInterface.response,\n    WebhookLogScalarFieldEnumInterface.responseStatus,\n    WebhookLogScalarFieldEnumInterface.webhookStatus,\n  ];\n  columns = {\n    [WebhookLogScalarFieldEnumInterface.id]: marker('webhook-log.grid.columns.id'),\n    [WebhookLogScalarFieldEnumInterface.request]: marker('webhook-log.grid.columns.request'),\n    [WebhookLogScalarFieldEnumInterface.response]: marker('webhook-log.grid.columns.response'),\n    [WebhookLogScalarFieldEnumInterface.responseStatus]: marker('webhook-log.grid.columns.response-status'),\n    [WebhookLogScalarFieldEnumInterface.webhookStatus]: marker('webhook-log.grid.columns.webhook-status'),\n  };\n  WebhookLogScalarFieldEnumInterface = WebhookLogScalarFieldEnumInterface;\n\n  private filters?: Record<string, string>;\n\n  constructor(\n    private readonly webhookLogService: WebhookLogService,\n    private readonly nzModalService: NzModalService,\n    private readonly viewContainerRef: ViewContainerRef,\n    private readonly translocoService: TranslocoService,\n  ) {}\n\n  ngOnChanges(changes: NgChanges<WebhookLogGridComponent>): void {\n    // need for ignore dbl load\n    if (!changes.webhookId.firstChange) {\n      this.loadMany({ force: true });\n    } else {\n      this.loadMany();\n    }\n  }\n\n  ngOnInit(): void {\n    merge(\n      this.searchField.valueChanges.pipe(debounceTime(700), distinctUntilChanged()),\n      ...(this.forceLoadStream ? this.forceLoadStream : []),\n    )\n      .pipe(\n        tap(() => this.loadMany({ force: true })),\n        untilDestroyed(this),\n      )\n      .subscribe();\n    this.loadMany();\n  }\n\n  loadMany(args?: {\n    filters?: Record<string, string>;\n    meta?: RequestMeta;\n    queryParams?: NzTableQueryParams;\n    force?: boolean;\n  }) {\n    let meta = { meta: {}, ...(args || {}) }.meta as RequestMeta;\n    const { queryParams, filters } = { filters: {}, ...(args || {}) };\n\n    if (!args?.force && queryParams) {\n      meta = getQueryMetaByParams(queryParams);\n    }\n\n    meta = getQueryMeta(meta, this.meta$.value);\n\n    if (!filters['search'] && this.searchField.value) {\n      filters['search'] = this.searchField.value;\n    }\n\n    if (!filters['webhookId'] && this.webhookId) {\n      filters['webhookId'] = this.webhookId;\n    }\n\n    if (\n      !args?.force &&\n      isEqual(\n        omit(['totalResults'], { ...meta, ...filters }),\n        omit(['totalResults'], {\n          ...this.meta$.value,\n          ...this.filters,\n        }),\n      )\n    ) {\n      return;\n    }\n\n    if (!filters['webhookId']) {\n      this.items$.next([]);\n      this.selectedIds$.next([]);\n    } else {\n      this.webhookLogService\n        .findMany({ filters, meta })\n        .pipe(\n          tap((result) => {\n            this.items$.next(\n              result.webhookLogs.map((item) => ({\n                ...item,\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                request: JSON.stringify(item.request) as any,\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                response: JSON.stringify(item.response) as any,\n              })),\n            );\n            this.meta$.next({ ...result.meta, ...meta });\n            this.filters = filters;\n            this.selectedIds$.next([]);\n          }),\n          untilDestroyed(this),\n        )\n        .subscribe();\n    }\n  }\n\n  showCreateOrUpdateModal(id?: string): void {\n    const modal = this.nzModalService.create<WebhookLogFormComponent, WebhookLogFormComponent>({\n      nzTitle: this.translocoService.translate('webhook-log.view-modal.title', {\n        id,\n      }),\n      nzContent: WebhookLogFormComponent,\n      nzViewContainerRef: this.viewContainerRef,\n      nzData: {\n        hideButtons: true,\n        id,\n      } as WebhookLogFormComponent,\n      nzWidth: 800,\n      nzFooter: [\n        {\n          label: this.translocoService.translate('Close'),\n          onClick: () => {\n            modal.close();\n          },\n        },\n      ],\n    });\n  }\n\n  showDeleteModal(id?: string) {\n    if (!id) {\n      return;\n    }\n    this.nzModalService.confirm({\n      nzTitle: this.translocoService.translate(`webhook-log.delete-modal.title`, {\n        id,\n      }),\n      nzOkText: this.translocoService.translate('Yes'),\n      nzCancelText: this.translocoService.translate('No'),\n      nzOnOk: () => {\n        this.webhookLogService\n          .deleteOne(id)\n          .pipe(\n            tap(() => {\n              this.loadMany({ force: true });\n            }),\n            untilDestroyed(this),\n          )\n          .subscribe();\n      },\n    });\n  }\n}\n","<div class=\"table-operations\" nz-row nzJustify=\"space-between\">\n  <div nz-col nzSpan=\"8\">{{ 'Logs for webhook #{{webhookId}}' | transloco:{webhookId} }}</div>\n  <div nz-col nzSpan=\"8\">\n    <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\">\n      <input type=\"text\" [formControl]=\"searchField\" nz-input [placeholder]=\"'input search text' | transloco\" />\n    </nz-input-group>\n    <ng-template #suffixIconButton>\n      <button (click)=\"loadMany({ force: true })\" nz-button nzType=\"primary\" nzSearch>\n        <span nz-icon nzType=\"search\"></span>\n      </button>\n    </ng-template>\n  </div>\n</div>\n@if ((meta$ | async); as meta){\n<nz-table\n  #basicTable\n  [nzBordered]=\"true\"\n  [nzOuterBordered]=\"true\"\n  nzShowPagination\n  nzShowSizeChanger\n  [nzFrontPagination]=\"false\"\n  [nzPageSizeOptions]=\"[1, 5, 10, 20, 30, 40]\"\n  [nzPageIndex]=\"meta.curPage\"\n  [nzPageSize]=\"meta.perPage\"\n  [nzTotal]=\"meta.totalResults || 0\"\n  (nzQueryParams)=\"\n    loadMany({\n      queryParams: $event\n    })\n  \"\n  [nzData]=\"(items$ | async) || []\"\n>\n  <thead>\n    <tr>\n      @for (key of keys; track $index) {\n      <th\n        [nzColumnKey]=\"key\"\n        [nzSortFn]=\"true\"\n        [nzSortOrder]=\"meta.sort[key] | nzTableSortOrderDetector\"\n        [transloco]=\"columns[key]\"\n      ></th>\n      }\n      <th transloco=\"Action\"></th>\n    </tr>\n  </thead>\n  @if (selectedIds$ | async; as selectedIds) {\n  <tbody>\n    @for (data of basicTable.data; track $index) {\n    <tr\n      (click)=\"selectedIds$.next(selectedIds[0] === data.id ? [] : [data.id])\"\n      [class.selected]=\"selectedIds[0] === data.id\"\n    >\n      @for (key of keys; track $index) {\n      <td>\n        {{ data[key] }}\n      </td>\n      }\n      <td>\n        <a (click)=\"showCreateOrUpdateModal(data.id)\" transloco=\"View\"></a>\n        <nz-divider nzType=\"vertical\"></nz-divider>\n        <a (click)=\"showDeleteModal(data.id)\" transloco=\"Delete\"></a>\n      </td>\n    </tr>\n    }\n  </tbody>\n  }\n</nz-table>\n}\n","import { Injectable } from '@angular/core';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { BehaviorSubject, catchError, of, tap, throwError } from 'rxjs';\nimport { WebhookErrorInterface, WebhookUserInterface } from '../generated/rest-sdk';\nimport { WebhookRestSdkAngularService } from '../generated/webhook-rest_sdk-angular.module';\n\n@UntilDestroy()\n@Injectable({ providedIn: 'root' })\nexport class WebhookAuthService {\n  private webhookUser$ = new BehaviorSubject<WebhookUserInterface | null>(null);\n\n  constructor(private readonly ssoRestSdkAngularService: WebhookRestSdkAngularService) {}\n\n  getWebhookUser() {\n    return this.webhookUser$.value;\n  }\n\n  loadWebhookUser() {\n    return this.ssoRestSdkAngularService\n      .getWebhookApi()\n      .webhookControllerProfile()\n      .pipe(\n        tap((profile) => this.webhookUser$.next(profile)),\n        catchError((err: { error?: WebhookErrorInterface }) => {\n          if (err.error?.code === 'WEBHOOK-002') {\n            return of(null);\n          }\n          return throwError(() => err);\n        })\n      );\n  }\n\n  webhookUserUpdates() {\n    return this.webhookUser$.asObservable();\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { map, of } from 'rxjs';\nimport { WebhookAuthService } from './webhook-auth.service';\nimport { WebhookRoleInterface } from '../generated/rest-sdk';\n\nexport const WEBHOOK_GUARD_DATA_ROUTE_KEY = 'webhookGuardData';\n\nexport class WebhookGuardData {\n  roles?: WebhookRoleInterface[];\n\n  constructor(options?: WebhookGuardData) {\n    Object.assign(this, options);\n  }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class WebhookGuardService implements CanActivate {\n  constructor(private readonly webhookAuthService: WebhookAuthService) {}\n  canActivate(route: ActivatedRouteSnapshot) {\n    const webhookGuardData =\n      route.data && route.data[WEBHOOK_GUARD_DATA_ROUTE_KEY] instanceof WebhookGuardData\n        ? route.data[WEBHOOK_GUARD_DATA_ROUTE_KEY]\n        : null;\n    if (webhookGuardData) {\n      const webhookGuardDataRoles = webhookGuardData.roles || [];\n      return this.webhookAuthService.loadWebhookUser().pipe(\n        map((webhookUser) => {\n          return Boolean(\n            (webhookUser && webhookGuardDataRoles.length > 0 && webhookGuardDataRoles.includes(webhookUser.userRole)) ||\n              (webhookGuardDataRoles.length === 0 && !webhookUser?.userRole)\n          );\n        })\n      );\n    }\n    return of(true);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.WebhookRestClientConfiguration","i1.WebhookRestClientConfiguration","i1.WebhookRestService","i1.WebhookRestSdkAngularService","i1.WebhookEventsService","i2","i3","i2.WebhookMapperService","i3.WebhookLogMapperService","i1.WebhookService","i4.WebhookFormService","i5.WebhookMapperService","i6","i8","i1","i2.WebhookLogMapperService","i1.WebhookLogService","i3.WebhookLogFormService","i4.WebhookLogMapperService","i5","i7","i11","i4.WebhookMapperService","i13","i15","i9","i10","i12","i1.WebhookAuthService"],"mappings":"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"}