diff --git a/eslint.config.js b/eslint.config.js index 6c4a64e93..a82debd36 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -24,6 +24,7 @@ export default defineConfig([ '**/dist/**', '**/.releaserc.cjs', '**/test/fixtures/**', + '**/.counterfact/**', ]), { languageOptions: { diff --git a/package-lock.json b/package-lock.json index 07ad0d94e..ef0966d3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -568,6 +568,10 @@ "resolved": "packages/spacecat-shared-tokowaka-client", "link": true }, + "node_modules/@adobe/spacecat-shared-user-manager-client": { + "resolved": "packages/spacecat-shared-user-manager-client", + "link": true + }, "node_modules/@adobe/spacecat-shared-utils": { "resolved": "packages/spacecat-shared-utils", "link": true @@ -27658,7 +27662,7 @@ }, "packages/spacecat-shared-data-access": { "name": "@adobe/spacecat-shared-data-access", - "version": "3.74.3", + "version": "3.75.0", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "^4.2.3", @@ -29836,7 +29840,7 @@ }, "packages/spacecat-shared-http-utils": { "name": "@adobe/spacecat-shared-http-utils", - "version": "1.29.0", + "version": "1.29.1", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.0", @@ -32315,7 +32319,7 @@ }, "packages/spacecat-shared-rum-api-client": { "name": "@adobe/spacecat-shared-rum-api-client", - "version": "2.42.0", + "version": "2.43.1", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.0", @@ -37144,9 +37148,76 @@ "node": ">=20.18.1" } }, + "packages/spacecat-shared-user-manager-client": { + "name": "@adobe/spacecat-shared-user-manager-client", + "version": "1.0.0", + "license": "Apache-2.0", + "devDependencies": { + "c8": "11.0.0", + "chai": "6.2.2", + "counterfact": "2.14.0", + "mocha": "11.7.6", + "mocha-multi-reporters": "1.5.1", + "openapi-typescript": "7.13.0", + "swagger2openapi": "7.0.8" + }, + "engines": { + "node": ">=22.0.0 <25.0.0", + "npm": ">=10.9.0 <12.0.0" + } + }, + "packages/spacecat-shared-user-manager-client/node_modules/openapi-typescript": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.13.0.tgz", + "integrity": "sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/openapi-core": "^1.34.6", + "ansi-colors": "^4.1.3", + "change-case": "^5.4.4", + "parse-json": "^8.3.0", + "supports-color": "^10.2.2", + "yargs-parser": "^21.1.1" + }, + "bin": { + "openapi-typescript": "bin/cli.js" + }, + "peerDependencies": { + "typescript": "^5.x" + } + }, + "packages/spacecat-shared-user-manager-client/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/spacecat-shared-user-manager-client/node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "packages/spacecat-shared-utils": { "name": "@adobe/spacecat-shared-utils", - "version": "1.119.0", + "version": "1.119.1", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.0", diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/.gitignore b/packages/spacecat-shared-user-manager-client/.counterfact/.gitignore new file mode 100644 index 000000000..16d3c4dbb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/.gitignore @@ -0,0 +1 @@ +.cache diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/cookie-options.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/cookie-options.ts new file mode 100644 index 000000000..2bed81d33 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/cookie-options.ts @@ -0,0 +1,14 @@ +/** + * Options for setting an HTTP cookie on a response. + * These correspond to standard `Set-Cookie` attributes and are passed to the + * `.cookie()` method on the response builder. + */ +export interface CookieOptions { + domain?: string; + expires?: Date; + httpOnly?: boolean; + maxAge?: number; + path?: string; + sameSite?: "lax" | "none" | "strict"; + secure?: boolean; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/counterfact-response.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/counterfact-response.ts new file mode 100644 index 000000000..9488ff78c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/counterfact-response.ts @@ -0,0 +1,15 @@ +/** + * A unique symbol used as a brand for the `COUNTERFACT_RESPONSE` type. + * This prevents arbitrary objects from being accidentally treated as a + * completed response value. + */ +const counterfactResponse = Symbol("Counterfact Response"); + +/** + * The terminal value type returned by the fluent response builder once all + * required fields (body, headers, etc.) have been provided. When a route + * handler returns this type, Counterfact treats the response as complete. + */ +export type COUNTERFACT_RESPONSE = { + [counterfactResponse]: typeof counterfactResponse; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/example-names.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/example-names.ts new file mode 100644 index 000000000..d1fe5b3f2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/example-names.ts @@ -0,0 +1,13 @@ +import type { OpenApiResponse } from "./open-api-response.js"; + +/** + * Extracts the union of named example keys defined on an OpenAPI response. + * Resolves to `never` when the response has no named examples. + * Used to constrain the argument to the `.example(name)` method on the + * response builder. + */ +export type ExampleNames = Response extends { + examples: infer E; +} + ? keyof E & string + : never; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/example.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/example.ts new file mode 100644 index 000000000..52561d6c3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/example.ts @@ -0,0 +1,14 @@ +/** + * Represents a named example defined in an OpenAPI document. + * Examples can be referenced by route handlers via the `.example(name)` method + * on the response builder. + * + * OpenAPI 3.2 adds `dataValue` as a structured alternative to `value`. + * When present, `dataValue` is preferred over `value`. + */ +export interface Example { + dataValue?: unknown; + description: string; + summary: string; + value?: unknown; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/generic-response-builder.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/generic-response-builder.ts new file mode 100644 index 000000000..25e28c8f3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/generic-response-builder.ts @@ -0,0 +1,167 @@ +import type { COUNTERFACT_RESPONSE } from "./counterfact-response.js"; +import type { CookieOptions } from "./cookie-options.js"; +import type { ExampleNames } from "./example-names.js"; +import type { IfHasKey } from "./if-has-key.js"; +import type { MediaType } from "./media-type.js"; +import type { OmitAll } from "./omit-all.js"; +import type { OmitValueWhenNever } from "./omit-value-when-never.js"; +import type { OpenApiResponse } from "./open-api-response.js"; +import type { RandomFunction } from "./random-function.js"; + +/** + * Returns `never` when `Record` is an empty object type (`{}`), signalling + * that there are no remaining choices available on the response builder. + */ +type NeverIfEmpty = object extends Record ? never : Record; + +/** + * Extracts the union of schema types from a map of media-type content entries. + * Used to type the body argument of shortcut methods like `.json()` or `.html()`. + */ +type SchemasOf = { + [K in keyof T]: T[K]["schema"]; +}[keyof T]; + +/** + * Produces a builder method for a shortcut (e.g. `.json()`, `.html()`) when + * the response contains at least one of the given `ContentTypes`, and `never` + * otherwise. Calling the method narrows the builder by removing those content + * types from the remaining options. + */ +type MaybeShortcut< + ContentTypes extends MediaType[], + Response extends OpenApiResponse, +> = IfHasKey< + Response["content"], + ContentTypes, + (body: SchemasOf) => GenericResponseBuilder<{ + content: NeverIfEmpty>; + headers: Response["headers"]; + requiredHeaders: Response["requiredHeaders"]; + }>, + never +>; + +/** + * The type of the `.match(contentType, body)` method on the generic response + * builder. Calling it narrows the builder by removing the chosen content type + * from the remaining options. + */ +type MatchFunction = < + ContentType extends MediaType & keyof Response["content"], +>( + contentType: ContentType, + body: Response["content"][ContentType]["schema"], +) => GenericResponseBuilder<{ + content: NeverIfEmpty>; + headers: Response["headers"]; + requiredHeaders: Response["requiredHeaders"]; +}>; + +/** + * The type of the `.header(name, value)` method on the generic response + * builder. Calling it narrows the builder by removing the satisfied header + * from the set of required headers. + */ +type HeaderFunction = < + Header extends string & keyof Response["headers"], +>( + header: Header, + value: Response["headers"][Header]["schema"], +) => GenericResponseBuilder<{ + content: NeverIfEmpty; + headers: NeverIfEmpty>; + requiredHeaders: Exclude; +}>; + +/** + * The inner shape of the generic response builder, listing all methods that + * are currently available given the remaining response constraints. + * Methods whose type resolves to `never` are stripped by `OmitValueWhenNever`. + * + * Note: `[T] extends [never]` (non-distributive tuple wrapping) is used + * alongside `[keyof T] extends [never]` to correctly handle both `T = never` + * (spec-generated no-body) and `T = {}` (all content types consumed) cases. + * TypeScript evaluates `keyof never` as `string | number | symbol`, so a + * direct `[keyof never] extends [never]` check would incorrectly return false. + */ +export type GenericResponseBuilderInner< + Response extends OpenApiResponse = OpenApiResponse, +> = OmitValueWhenNever<{ + binary: MaybeShortcut<["application/octet-stream"], Response>; + cookie: ( + name: string, + value: string, + options?: CookieOptions, + ) => GenericResponseBuilder; + empty: [Response["content"]] extends [never] + ? () => COUNTERFACT_RESPONSE + : [keyof Response["content"]] extends [never] + ? () => COUNTERFACT_RESPONSE + : never; + header: [Response["headers"]] extends [never] + ? never + : [keyof Response["headers"]] extends [never] + ? never + : HeaderFunction; + html: MaybeShortcut<["text/html"], Response>; + json: MaybeShortcut< + [ + "application/json", + "text/json", + "text/x-json", + "application/xml", + "text/xml", + ], + Response + >; + match: [Response["content"]] extends [never] + ? never + : [keyof Response["content"]] extends [never] + ? never + : MatchFunction; + random: [Response["content"]] extends [never] + ? never + : [keyof Response["content"]] extends [never] + ? never + : RandomFunction; + example: [ExampleNames] extends [never] + ? never + : (name: ExampleNames) => COUNTERFACT_RESPONSE; + text: MaybeShortcut<["text/plain"], Response>; + xml: MaybeShortcut<["application/xml", "text/xml"], Response>; + stream: MaybeShortcut< + ["text/event-stream", "application/jsonl", "application/json-seq"], + Response + >; +}>; + +/** + * The strongly-typed, fluent response builder generated for each operation in + * a route handler. Its available methods are derived from the OpenAPI response + * schema: as methods are called, the builder type narrows until all required + * content and headers have been provided, at which point it resolves to + * `COUNTERFACT_RESPONSE`. + * + * When a Response type carries an `examples` key it is a spec-generated + * response (either the initial no-body builder or a builder that still has + * content/headers to satisfy). Those always go through + * `GenericResponseBuilderInner`, which exposes `empty()` when `content` is + * `never`. + * + * When a Response type has no `examples` key it is a narrowed type produced + * by a method call (e.g. `.json()` sets the body and returns a type without + * `examples`). Those go through the existing collapse logic so that + * fully-satisfied responses resolve directly to `COUNTERFACT_RESPONSE`. + */ +export type GenericResponseBuilder< + Response extends OpenApiResponse = OpenApiResponse, +> = "examples" extends keyof Response + ? GenericResponseBuilderInner + : object extends OmitValueWhenNever> + ? COUNTERFACT_RESPONSE + : keyof OmitValueWhenNever> extends "headers" + ? COUNTERFACT_RESPONSE & { + header: HeaderFunction; + } + : GenericResponseBuilderInner; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/http-status-code.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/http-status-code.ts new file mode 100644 index 000000000..d8093639a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/http-status-code.ts @@ -0,0 +1,62 @@ +/** + * A union of all standard HTTP status codes. + * Used to constrain the status code argument in response builder calls and + * generated route handler types. + */ +export type HttpStatusCode = + | 100 + | 101 + | 102 + | 200 + | 201 + | 202 + | 203 + | 204 + | 205 + | 206 + | 207 + | 226 + | 300 + | 301 + | 302 + | 303 + | 304 + | 305 + | 307 + | 308 + | 400 + | 401 + | 402 + | 403 + | 404 + | 405 + | 406 + | 407 + | 408 + | 409 + | 410 + | 411 + | 412 + | 413 + | 414 + | 415 + | 416 + | 417 + | 418 + | 422 + | 423 + | 424 + | 426 + | 428 + | 429 + | 431 + | 451 + | 500 + | 501 + | 502 + | 503 + | 504 + | 505 + | 506 + | 507 + | 511; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/if-has-key.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/if-has-key.ts new file mode 100644 index 000000000..6608e8385 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/if-has-key.ts @@ -0,0 +1,19 @@ +/** + * Conditional type that resolves to `Yes` when `SomeObject` has at least one + * key that contains any string from `Keys` as a substring, and `No` otherwise. + * Used to determine whether a shortcut method (e.g. `.json()`, `.html()`) + * should be present on the response builder for a given response type. + */ +export type IfHasKey< + SomeObject, + Keys extends readonly string[], + Yes, + No, +> = Keys extends [ + infer FirstKey extends string, + ...infer RestKeys extends string[], +] + ? Extract extends never + ? IfHasKey + : Yes + : No; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/index.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/index.ts new file mode 100644 index 000000000..91e246bef --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/index.ts @@ -0,0 +1,21 @@ +export type { CookieOptions } from "./cookie-options.js"; +export type { COUNTERFACT_RESPONSE } from "./counterfact-response.js"; +export type { ExampleNames } from "./example-names.js"; +export type { + GenericResponseBuilder, + GenericResponseBuilderInner, +} from "./generic-response-builder.js"; +export type { HttpStatusCode } from "./http-status-code.js"; +export type { IfHasKey } from "./if-has-key.js"; +export type { MaybePromise } from "./maybe-promise.js"; +export type { MediaType } from "./media-type.js"; +export type { OmitAll } from "./omit-all.js"; +export type { OmitValueWhenNever } from "./omit-value-when-never.js"; +export type { OpenApiHeader } from "./open-api-header.js"; +export type { OpenApiOperation } from "./open-api-operation.js"; +export type { OpenApiParameters } from "./open-api-parameters.js"; +export type { OpenApiResponse } from "./open-api-response.js"; +export type { ResponseBuilder } from "./response-builder.js"; +export type { ResponseBuilderFactory } from "./response-builder-factory.js"; +export type { WideOperationArgument } from "./wide-operation-argument.js"; +export type { WideResponseBuilder } from "./wide-response-builder.js"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/maybe-promise.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/maybe-promise.ts new file mode 100644 index 000000000..65a990e0e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/maybe-promise.ts @@ -0,0 +1,6 @@ +/** + * A value that is either `T` directly or a `Promise`. + * Route handlers may return either synchronous values or promises, and + * Counterfact will await them transparently. + */ +export type MaybePromise = T | Promise; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/media-type.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/media-type.ts new file mode 100644 index 000000000..d3cc52838 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/media-type.ts @@ -0,0 +1,6 @@ +/** + * Represents an IANA media type string in the format `type/subtype` + * (e.g. `"application/json"`, `"text/plain"`, `"image/png"`). + * Used to identify the content type of an HTTP request or response body. + */ +export type MediaType = `${string}/${string}`; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/omit-all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/omit-all.ts new file mode 100644 index 000000000..dacf0558c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/omit-all.ts @@ -0,0 +1,11 @@ +/** + * Removes all keys from `T` whose names contain any of the strings in `K` + * as a substring (prefix, suffix, or exact match). + * Used internally to narrow the set of available content-type methods on the + * response builder after one has already been called. + */ +export type OmitAll = { + [P in keyof T as P extends `${string}${K[number]}${string}` + ? never + : P]: T[P]; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/omit-value-when-never.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/omit-value-when-never.ts new file mode 100644 index 000000000..e93f56b89 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/omit-value-when-never.ts @@ -0,0 +1,11 @@ +/** + * Creates a new type from `Base` that omits any keys whose value type is + * `never`. This is used to strip unavailable builder methods (those that + * don't apply to the current response shape) from the fluent response builder. + */ +export type OmitValueWhenNever = Pick< + Base, + { + [Key in keyof Base]: [Base[Key]] extends [never] ? never : Key; + }[keyof Base] +>; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-content.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-content.ts new file mode 100644 index 000000000..05d4bc845 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-content.ts @@ -0,0 +1,8 @@ +/** + * Represents a single content entry in an OpenAPI response object. + * The `schema` property holds the JSON Schema definition for the body of + * a response with this media type. + */ +export interface OpenApiContent { + schema: unknown; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-header.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-header.ts new file mode 100644 index 000000000..341f6a1f3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-header.ts @@ -0,0 +1,4 @@ +export interface OpenApiHeader { + required?: boolean; + schema: { [key: string]: unknown }; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-operation.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-operation.ts new file mode 100644 index 000000000..b5cc9e3f4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-operation.ts @@ -0,0 +1,36 @@ +import type { Example } from "./example.js"; +import type { OpenApiHeader } from "./open-api-header.js"; +import type { OpenApiParameters } from "./open-api-parameters.js"; + +/** + * Describes a single HTTP operation (e.g. `GET /pets`) as defined in an + * OpenAPI document. Used internally to derive the strongly-typed argument + * and response builder types for generated route handler functions. + */ +export interface OpenApiOperation { + parameters?: OpenApiParameters[]; + produces?: string[]; + requestBody?: { + content?: { + [mediaType: string]: { + schema: { [key: string]: unknown }; + }; + }; + required?: boolean; + }; + responses: { + [status: string]: { + content?: { + [type: number | string]: { + examples?: { [key: string]: Example }; + schema: { [key: string]: unknown }; + }; + }; + examples?: { [key: string]: unknown }; + headers?: { + [name: string]: OpenApiHeader; + }; + schema?: { [key: string]: unknown }; + }; + }; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-parameters.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-parameters.ts new file mode 100644 index 000000000..9dad5861a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-parameters.ts @@ -0,0 +1,26 @@ +/** + * Describes a single parameter (path, query, header, cookie, body, or + * formData) as defined in an OpenAPI document. Used internally to type the + * `path`, `query`, `headers`, and `body` properties of a route handler's + * argument object. + */ +export interface OpenApiParameters { + explode?: boolean; + in: + | "body" + | "cookie" + | "formData" + | "header" + | "path" + | "query" + | "querystring"; + name: string; + required?: boolean; + schema?: { + [key: string]: unknown; + properties?: Record; + type?: string; + }; + style?: string; + type?: "string" | "number" | "integer" | "boolean"; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-response.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-response.ts new file mode 100644 index 000000000..3d41c1518 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/open-api-response.ts @@ -0,0 +1,22 @@ +import type { MediaType } from "./media-type.js"; +import type { OpenApiContent } from "./open-api-content.js"; + +/** + * Describes a single HTTP response as modelled in an OpenAPI document. + * Contains the allowed content types, optional named examples, and the + * required/optional response headers for that response. + */ +export interface OpenApiResponse { + content: { [key: MediaType]: OpenApiContent }; + examples?: { [key: string]: unknown }; + headers: { [key: string]: { schema: unknown } }; + requiredHeaders: string; +} + +/** + * A map of HTTP status codes (or `"default"`) to their corresponding + * `OpenApiResponse` definitions for a given operation. + */ +export interface OpenApiResponses { + [key: string]: OpenApiResponse; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/random-function.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/random-function.ts new file mode 100644 index 000000000..332b5fe44 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/random-function.ts @@ -0,0 +1,9 @@ +import type { COUNTERFACT_RESPONSE } from "./counterfact-response.js"; +import type { MaybePromise } from "./maybe-promise.js"; + +/** + * The type of the `.random()` method on the response builder. + * When called, it randomly selects one of the available content-type examples + * and returns a completed `COUNTERFACT_RESPONSE`. + */ +export type RandomFunction = () => MaybePromise; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/response-builder-factory.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/response-builder-factory.ts new file mode 100644 index 000000000..15cd813f7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/response-builder-factory.ts @@ -0,0 +1,16 @@ +import type { GenericResponseBuilder } from "./generic-response-builder.js"; +import type { OpenApiResponses } from "./open-api-response.js"; + +/** + * Maps each HTTP status code (or `"default"`) in an OpenAPI operation's + * response definitions to the corresponding `GenericResponseBuilder`. + * This is the type of the `response` property in a generated route handler's + * argument object, allowing handlers to call e.g. `response[200].json(body)`. + */ +export type ResponseBuilderFactory< + Responses extends OpenApiResponses = OpenApiResponses, +> = { + [StatusCode in keyof Responses]: GenericResponseBuilder< + Responses[StatusCode] + >; +} & { [key: string]: GenericResponseBuilder }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/response-builder.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/response-builder.ts new file mode 100644 index 000000000..b4bdd61ba --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/response-builder.ts @@ -0,0 +1,36 @@ +import type { CookieOptions } from "./cookie-options.js"; +import type { MaybePromise } from "./maybe-promise.js"; + +/** + * A loosely-typed, chainable response builder used in non-generated contexts + * (e.g. middleware or wide/catch-all route handlers) where the exact response + * shape is not statically known. For generated route handlers, prefer the + * strongly-typed `GenericResponseBuilder`. + */ +export interface ResponseBuilder { + [status: number | `${number} ${string}`]: ResponseBuilder; + binary: (body: Uint8Array | string) => ResponseBuilder; + content?: { body: unknown; type: string }[]; + cookie: ( + name: string, + value: string, + options?: CookieOptions, + ) => ResponseBuilder; + empty: () => ResponseBuilder; + example: (name: string) => ResponseBuilder; + header: (name: string, value: string) => ResponseBuilder; + headers: { [name: string]: string | string[] }; + html: (body: unknown) => ResponseBuilder; + json: (body: unknown) => ResponseBuilder; + match: (contentType: string, body: unknown) => ResponseBuilder; + random: () => MaybePromise; + randomLegacy: () => MaybePromise; + status?: number; + stream: (iterable: AsyncIterable) => { + body: AsyncIterable; + contentType: string; + status?: number; + }; + text: (body: unknown) => ResponseBuilder; + xml: (body: unknown) => ResponseBuilder; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/wide-operation-argument.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/wide-operation-argument.ts new file mode 100644 index 000000000..ed5029f32 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/wide-operation-argument.ts @@ -0,0 +1,17 @@ +import type { WideResponseBuilder } from "./wide-response-builder.js"; + +/** + * The loosely-typed argument object passed to wide (catch-all) route handlers. + * Unlike the generated operation argument types, all fields are typed as + * `unknown` or broad index signatures. Use this when writing handlers that + * should accept any request without compile-time schema enforcement. + */ +export interface WideOperationArgument { + body: unknown; + context: unknown; + headers: { [key: string]: string }; + path: { [key: string]: string }; + proxy: (url: string) => { proxyUrl: string }; + query: { [key: string]: string }; + response: { [key: number]: WideResponseBuilder }; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/wide-response-builder.ts b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/wide-response-builder.ts new file mode 100644 index 000000000..a90c9aa35 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/counterfact-types/wide-response-builder.ts @@ -0,0 +1,27 @@ +import type { CookieOptions } from "./cookie-options.js"; +import type { MaybePromise } from "./maybe-promise.js"; + +/** + * A loosely-typed response builder used in wide (catch-all) route handlers + * where the response shape is not known at compile time. Unlike the generated + * `GenericResponseBuilder`, this interface accepts `unknown` for all body + * arguments and does not enforce content-type constraints. + */ +export interface WideResponseBuilder { + binary: (body: Uint8Array | string) => WideResponseBuilder; + empty: () => WideResponseBuilder; + example: (name: string) => WideResponseBuilder; + cookie: ( + name: string, + value: string, + options?: CookieOptions, + ) => WideResponseBuilder; + header: (body: unknown) => WideResponseBuilder; + html: (body: unknown) => WideResponseBuilder; + json: (body: unknown) => WideResponseBuilder; + match: (contentType: string, body: unknown) => WideResponseBuilder; + random: () => MaybePromise; + text: (body: unknown) => WideResponseBuilder; + xml: (body: unknown) => WideResponseBuilder; + stream: (body: AsyncIterable) => WideResponseBuilder; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/_.context.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/_.context.ts new file mode 100644 index 000000000..cac0c1866 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/_.context.ts @@ -0,0 +1,178 @@ +import type { Context$ } from "../types/_.context.js"; + +/** + * LLMO-5616 User Manager mock state. + * + * The root Context is a persistent singleton across requests (Counterfact's + * ContextRegistry), so this object IS the mock's in-session state. Stateful + * route handlers under `.counterfact/routes/**` delegate to these methods. + * + * `seed()` loads a known fixture set; `reset()` returns to it (called by the + * E2E suite in `beforeEach` and by the non-spec `POST /__reset` route). + * Counterfact only compiles its own `routes/` tree, so this state cannot live + * in `src/` — see the package README "Mock architecture". + */ + +type Dict = Record; +type Workspace = { id: string; parent_id: string | null } & Dict; +type Member = { user_id: string } & Dict; + +// Deep-clones the fixtures on each seed so resets never share references with a +// previous session's mutated state. Constraint: fixtures must be JSON-safe — +// `undefined`, `Date`, and functions are silently dropped by this round-trip. +function clone(value: T): T { + return JSON.parse(JSON.stringify(value)) as T; +} + +export const DEFAULT_FIXTURES = { + profile: { user_id: "user-1", email: "owner@example.com", first_name: "Owner" }, + workspaces: [ + { id: "ws-root", parent_id: null, name: "Root Workspace", subscription_tier: "enterprise" }, + { id: "ws-child", parent_id: "ws-root", name: "Child Workspace", subscription_tier: "team" }, + ] as Workspace[], + members: { + "ws-root": [{ user_id: "user-1", role: "owner" }, { user_id: "user-2", role: "editor" }], + } as Record, + resources: { + "ws-root": { workspace_id: "ws-root", limits: { projects: 100, keywords: 10000 } }, + "ws-child": { workspace_id: "ws-child", limits: { projects: 10, keywords: 1000 } }, + } as Record, + serviceUnits: { + "ws-root": { workspace_id: "ws-root", balance: 5000 }, + } as Record, +}; + +export class Context { + profile: Dict = {}; + + workspaces = new Map(); + + members = new Map>(); + + resources = new Map(); + + serviceUnits = new Map(); + + idCounter = 0; + + constructor($: Context$) { + void $; + this.seed(); + } + + // --- lifecycle --- + seed(fixtures = DEFAULT_FIXTURES) { + const f = clone(fixtures); + this.profile = f.profile; + this.workspaces = new Map(f.workspaces.map((w) => [w.id, w])); + this.members = new Map( + Object.entries(f.members).map(([wid, list]) => [ + wid, + new Map(list.map((m) => [m.user_id, m])), + ]), + ); + this.resources = new Map(Object.entries(f.resources)); + this.serviceUnits = new Map(Object.entries(f.serviceUnits)); + this.idCounter = 0; + } + + reset() { + this.seed(); + } + + // reset() zeroes idCounter, so generated ids restart at -1 after a reset. + // Safe today because reset() also clears `workspaces`; only relied upon within + // a single seeded session. Don't retain generated-id references across reset(). + nextId(prefix = "ws") { + this.idCounter += 1; + return `${prefix}-new-${this.idCounter}`; + } + + // --- profile --- + getProfile() { + return this.profile; + } + + updateProfile(patch: Dict) { + this.profile = { ...this.profile, ...patch }; + return this.profile; + } + + // --- workspaces --- + listWorkspaces() { + return { items: [...this.workspaces.values()] }; + } + + getWorkspace(id: string) { + return this.workspaces.get(id) ?? null; + } + + createChild(parentId: string, body: Dict) { + const id = this.nextId(); + const ws: Workspace = { ...body, id, parent_id: parentId }; + this.workspaces.set(id, ws); + return ws; + } + + updateWorkspace(id: string, patch: Dict) { + const ws = this.workspaces.get(id); + if (!ws) return null; + const updated = { ...ws, ...patch, id }; + this.workspaces.set(id, updated); + return updated; + } + + deleteWorkspace(id: string) { + return this.workspaces.delete(id); + } + + // --- members --- + listMembers(workspaceId: string) { + const m = this.members.get(workspaceId); + return { items: m ? [...m.values()] : [] }; + } + + addMembers(workspaceId: string, members: Member[]) { + if (!this.workspaces.has(workspaceId)) return null; + const map = this.members.get(workspaceId) ?? new Map(); + members.forEach((m) => map.set(m.user_id, m)); + this.members.set(workspaceId, map); + return { items: [...map.values()] }; + } + + updateMember(workspaceId: string, userId: string, patch: Dict) { + const map = this.members.get(workspaceId); + const existing = map?.get(userId); + if (!existing) return null; + const updated = { ...existing, ...patch, user_id: userId }; + map!.set(userId, updated); + return updated; + } + + // Returns the count of members actually removed, mirroring the real endpoint's + // "number of user units freed" semantics (0 is a valid success — deleting an + // absent member frees nothing). Returns null only when the workspace is missing, + // which the handler maps to 404/500. See the DELETE handler in workspaces/{id}/members.ts. + deleteMembers(workspaceId: string, userIds: string[]): number | null { + const map = this.members.get(workspaceId); + if (!map) return null; + let removed = 0; + userIds.forEach((uid) => { + if (map.delete(uid)) removed += 1; + }); + return removed; + } + + // --- resources / service units --- + getResources(workspaceId: string) { + return this.resources.get(workspaceId) ?? null; + } + + getTotalResources() { + return { items: [...this.resources.values()] }; + } + + getServiceUnitsBalance(workspaceId: string) { + return this.serviceUnits.get(workspaceId) ?? null; + } +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/_.helpers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/_.helpers.ts new file mode 100644 index 000000000..2d9654f6d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/_.helpers.ts @@ -0,0 +1,8 @@ +// LLMO-5616 shared route helpers. Underscore-prefixed = compiled by Counterfact +// but not served as a route (same convention as _.context.ts). Do-not-clobber. + +// Not-found responder. 404 isn't declared on every path in the spec; fall back +// to 500 where it isn't so the handler never references an undefined response. +// eslint-disable-next-line import/prefer-default-export +export const nf = ($: any, m = "not found") => + ($.response[404] ? $.response[404] : $.response[500]).json({ message: m }); diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/__reset.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/__reset.ts new file mode 100644 index 000000000..491910e84 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/__reset.ts @@ -0,0 +1,5 @@ +// LLMO-5616 non-spec reset endpoint for tests/local dev (do-not-clobber). +export const POST = async ($) => { + $.context.reset(); + return $.response[200].json({ reset: true }); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/core-users.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/core-users.ts new file mode 100644 index 000000000..83cf3d2bc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/core-users.ts @@ -0,0 +1,5 @@ +import type { adminCoreUsersList } from "../../../types/paths/v1/admin/core-users.types.js"; + +export const GET: adminCoreUsersList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users.ts new file mode 100644 index 000000000..0b84ac6ca --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users.ts @@ -0,0 +1,5 @@ +import type { usersCreate } from "../../../types/paths/v1/admin/users.types.js"; + +export const POST: usersCreate = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users/billing-status.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users/billing-status.ts new file mode 100644 index 000000000..f44395b9e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users/billing-status.ts @@ -0,0 +1,5 @@ +import type { adminGetUserBillingStatuses } from "../../../../types/paths/v1/admin/users/billing-status.types.js"; + +export const POST: adminGetUserBillingStatuses = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users/expired.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users/expired.ts new file mode 100644 index 000000000..127541cfc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/users/expired.ts @@ -0,0 +1,5 @@ +import type { expiredSubscriptionUsers } from "../../../../types/paths/v1/admin/users/expired.types.js"; + +export const GET: expiredSubscriptionUsers = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces.ts new file mode 100644 index 000000000..30e334baa --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces.ts @@ -0,0 +1,5 @@ +import type { adminWorkspaceChildCreate } from "../../../types/paths/v1/admin/workspaces.types.js"; + +export const POST: adminWorkspaceChildCreate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/activation-panel/app.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/activation-panel/app.ts new file mode 100644 index 000000000..9c8ebc964 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/activation-panel/app.ts @@ -0,0 +1,5 @@ +import type { activationPanelSpa } from "../../../../../types/paths/v1/admin/workspaces/activation-panel/app.types.js"; + +export const GET: activationPanelSpa = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/create.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/create.ts new file mode 100644 index 000000000..75dd1dd97 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/create.ts @@ -0,0 +1,5 @@ +import type { activationPanelWorkspaceCreateMaster } from "../../../../../types/paths/v1/admin/workspaces/api/create.types.js"; + +export const POST: activationPanelWorkspaceCreateMaster = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/list.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/list.ts new file mode 100644 index 000000000..f91698cfd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/list.ts @@ -0,0 +1,5 @@ +import type { activationPanelGetAllWorkspaces } from "../../../../../types/paths/v1/admin/workspaces/api/list.types.js"; + +export const GET: activationPanelGetAllWorkspaces = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/logs.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/logs.ts new file mode 100644 index 000000000..041caf513 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/logs.ts @@ -0,0 +1,5 @@ +import type { activationPanelGetAllAdminActivities } from "../../../../../types/paths/v1/admin/workspaces/api/logs.types.js"; + +export const GET: activationPanelGetAllAdminActivities = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organization/{id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organization/{id}.ts new file mode 100644 index 000000000..f1890dc0e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organization/{id}.ts @@ -0,0 +1,5 @@ +import type { activationPanelGetWorkspace } from "../../../../../../types/paths/v1/admin/workspaces/api/organization/{id}.types.js"; + +export const GET: activationPanelGetWorkspace = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organization/{id}/users-report.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organization/{id}/users-report.ts new file mode 100644 index 000000000..dd3224584 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organization/{id}/users-report.ts @@ -0,0 +1,5 @@ +import type { activationPanelUsersReport } from "../../../../../../../types/paths/v1/admin/workspaces/api/organization/{id}/users-report.types.js"; + +export const GET: activationPanelUsersReport = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organizations.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organizations.ts new file mode 100644 index 000000000..868dd12b0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/organizations.ts @@ -0,0 +1,5 @@ +import type { activationPanelGetAllOrganizations } from "../../../../../types/paths/v1/admin/workspaces/api/organizations.types.js"; + +export const GET: activationPanelGetAllOrganizations = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/permissions.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/permissions.ts new file mode 100644 index 000000000..4fe5abafe --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/permissions.ts @@ -0,0 +1,5 @@ +import type { activationPanelWorkspacePermissions } from "../../../../../types/paths/v1/admin/workspaces/api/permissions.types.js"; + +export const GET: activationPanelWorkspacePermissions = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/subscriptions/update.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/subscriptions/update.ts new file mode 100644 index 000000000..ffb9e108f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/subscriptions/update.ts @@ -0,0 +1,5 @@ +import type { activationPanelSubscriptionUpdate } from "../../../../../../types/paths/v1/admin/workspaces/api/subscriptions/update.types.js"; + +export const PUT: activationPanelSubscriptionUpdate = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/update/{id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/update/{id}.ts new file mode 100644 index 000000000..9ab740c33 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/update/{id}.ts @@ -0,0 +1,5 @@ +import type { activationPanelWorkspaceUpdate } from "../../../../../../types/paths/v1/admin/workspaces/api/update/{id}.types.js"; + +export const PUT: activationPanelWorkspaceUpdate = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/users/{email}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/users/{email}.ts new file mode 100644 index 000000000..f5820cb27 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/users/{email}.ts @@ -0,0 +1,5 @@ +import type { activationPanelCheckOwnerEmail } from "../../../../../../types/paths/v1/admin/workspaces/api/users/{email}.types.js"; + +export const GET: activationPanelCheckOwnerEmail = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces.ts new file mode 100644 index 000000000..8bf7d975a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces.ts @@ -0,0 +1,5 @@ +import type { activationPanelAllWorkspacesFind } from "../../../../../types/paths/v1/admin/workspaces/api/workspaces.types.js"; + +export const GET: activationPanelAllWorkspacesFind = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.ts new file mode 100644 index 000000000..080168a09 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.ts @@ -0,0 +1,10 @@ +import type { activationPanelAioSettingsGet } from "../../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.types.js"; +import type { activationPanelAioSettingsUpsert } from "../../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.types.js"; + +export const GET: activationPanelAioSettingsGet = async ($) => { + return $.response[200].random(); +}; + +export const PUT: activationPanelAioSettingsUpsert = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/products.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/products.ts new file mode 100644 index 000000000..c735d4241 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/products.ts @@ -0,0 +1,5 @@ +import type { activationPanelWorkspaceProductsGet } from "../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/products.types.js"; + +export const GET: activationPanelWorkspaceProductsGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/projects.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/projects.ts new file mode 100644 index 000000000..a1918ef8b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/projects.ts @@ -0,0 +1,5 @@ +import type { activationPanelProjectsFind } from "../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/projects.types.js"; + +export const GET: activationPanelProjectsFind = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/projects/transfer.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/projects/transfer.ts new file mode 100644 index 000000000..99840f10d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/projects/transfer.ts @@ -0,0 +1,5 @@ +import type { activationPanelProjectsTransfer } from "../../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/projects/transfer.types.js"; + +export const POST: activationPanelProjectsTransfer = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/resources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/resources.ts new file mode 100644 index 000000000..89b464d39 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/resources.ts @@ -0,0 +1,5 @@ +import type { activationPanelWorkspaceResources } from "../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/resources.types.js"; + +export const GET: activationPanelWorkspaceResources = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report.ts new file mode 100644 index 000000000..c39ebf88c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report.ts @@ -0,0 +1,5 @@ +import type { activationPanelProjectsMigrationReport } from "../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report.types.js"; + +export const GET: activationPanelProjectsMigrationReport = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/smb-migration.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/smb-migration.ts new file mode 100644 index 000000000..f33674ed6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/workspaces/{id}/smb-migration.ts @@ -0,0 +1,5 @@ +import type { activationPanelProjectsMigration } from "../../../../../../../types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration.types.js"; + +export const POST: activationPanelProjectsMigration = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/{id}/expire-subscription.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/{id}/expire-subscription.ts new file mode 100644 index 000000000..bee8d73ed --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/api/{id}/expire-subscription.ts @@ -0,0 +1,5 @@ +import type { adminWorkspaceUpdateExpiration } from "../../../../../../types/paths/v1/admin/workspaces/api/{id}/expire-subscription.types.js"; + +export const PATCH: adminWorkspaceUpdateExpiration = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/managers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/managers.ts new file mode 100644 index 000000000..f9b64aae3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/managers.ts @@ -0,0 +1,5 @@ +import type { workspaceManagerImport } from "../../../../types/paths/v1/admin/workspaces/managers.types.js"; + +export const POST: workspaceManagerImport = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/master.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/master.ts new file mode 100644 index 000000000..41c3eeeb0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/master.ts @@ -0,0 +1,5 @@ +import type { adminWorkspaceCreateMaster } from "../../../../types/paths/v1/admin/workspaces/master.types.js"; + +export const POST: adminWorkspaceCreateMaster = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/tiers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/tiers.ts new file mode 100644 index 000000000..920fc309d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/tiers.ts @@ -0,0 +1,5 @@ +import type { activationPanelTiersList } from "../../../../types/paths/v1/admin/workspaces/tiers.types.js"; + +export const GET: activationPanelTiersList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/partnership.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/partnership.ts new file mode 100644 index 000000000..d69f04146 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/partnership.ts @@ -0,0 +1,5 @@ +import type { adminWorkspaceUpdatePartnership } from "../../../../../types/paths/v1/admin/workspaces/{id}/partnership.types.js"; + +export const PATCH: adminWorkspaceUpdatePartnership = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/products.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/products.ts new file mode 100644 index 000000000..a5ae40a01 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/products.ts @@ -0,0 +1,10 @@ +import type { adminWorkspaceProductUpdate } from "../../../../../types/paths/v1/admin/workspaces/{id}/products.types.js"; +import type { adminWorkspaceProductCreate } from "../../../../../types/paths/v1/admin/workspaces/{id}/products.types.js"; + +export const PATCH: adminWorkspaceProductUpdate = async ($) => { + return $.response[204].empty(); +}; + +export const POST: adminWorkspaceProductCreate = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/products/{product_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/products/{product_id}.ts new file mode 100644 index 000000000..4030a62ab --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/products/{product_id}.ts @@ -0,0 +1,5 @@ +import type { adminWorkspaceProductDelete } from "../../../../../../types/paths/v1/admin/workspaces/{id}/products/{product_id}.types.js"; + +export const DELETE: adminWorkspaceProductDelete = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/projects/{project_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/projects/{project_id}.ts new file mode 100644 index 000000000..1c6393232 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/admin/workspaces/{id}/projects/{project_id}.ts @@ -0,0 +1,5 @@ +import type { adminEsProjectDelete } from "../../../../../../types/paths/v1/admin/workspaces/{id}/projects/{project_id}.types.js"; + +export const DELETE: adminEsProjectDelete = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/credentials.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/credentials.ts new file mode 100644 index 000000000..d530f4fa1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/credentials.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsCreateCredentials } from "../../../types/paths/v1/adobe-analytics/credentials.types.js"; + +export const POST: adobeAnalyticsCreateCredentials = async ($) => { + return $.response[201].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/status/bulk.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/status/bulk.ts new file mode 100644 index 000000000..593b8b5cf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/status/bulk.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetBulkStatus } from "../../../../types/paths/v1/adobe-analytics/status/bulk.types.js"; + +export const POST: adobeAnalyticsGetBulkStatus = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/status.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/status.ts new file mode 100644 index 000000000..35a863e6e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/status.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetStatus } from "../../../../types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/status.types.js"; + +export const GET: adobeAnalyticsGetStatus = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions.ts new file mode 100644 index 000000000..468bc6313 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetDimensions } from "../../../../../types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions.types.js"; + +export const GET: adobeAnalyticsGetDimensions = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation.ts new file mode 100644 index 000000000..3c21dd87a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsValidate } from "../../../../../../types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation.types.js"; + +export const POST: adobeAnalyticsValidate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics.ts new file mode 100644 index 000000000..d9f5d0d0f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetMetrics } from "../../../../../types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics.types.js"; + +export const GET: adobeAnalyticsGetMetrics = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites.ts new file mode 100644 index 000000000..f397ae740 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetReportSuites } from "../../../../../types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites.types.js"; + +export const GET: adobeAnalyticsGetReportSuites = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated.ts new file mode 100644 index 000000000..17bdf1090 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetReportSuitesPaginated } from "../../../../../../types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated.types.js"; + +export const GET: adobeAnalyticsGetReportSuitesPaginated = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/countries.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/countries.ts new file mode 100644 index 000000000..145d4ccb7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/countries.ts @@ -0,0 +1,5 @@ +import type { countries } from "../../types/paths/v1/countries.types.js"; + +export const GET: countries = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/goals/metrics.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/goals/metrics.ts new file mode 100644 index 000000000..1de00e61e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/goals/metrics.ts @@ -0,0 +1,5 @@ +import type { goalsMetricsList } from "../../../types/paths/v1/goals/metrics.types.js"; + +export const GET: goalsMetricsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/core-users.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/core-users.ts new file mode 100644 index 000000000..51bd29b03 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/core-users.ts @@ -0,0 +1,5 @@ +import type { internalCoreUsersList } from "../../../types/paths/v1/internal/core-users.types.js"; + +export const GET: internalCoreUsersList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/projects/all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/projects/all.ts new file mode 100644 index 000000000..fce48be9b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/projects/all.ts @@ -0,0 +1,5 @@ +import type { internalProjectAllList } from "../../../../types/paths/v1/internal/projects/all.types.js"; + +export const GET: internalProjectAllList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/projects/restore.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/projects/restore.ts new file mode 100644 index 000000000..a596c79f4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/projects/restore.ts @@ -0,0 +1,5 @@ +import type { internalRestoreProject } from "../../../../types/paths/v1/internal/projects/restore.types.js"; + +export const POST: internalRestoreProject = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/targets/all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/targets/all.ts new file mode 100644 index 000000000..2b89ef582 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/targets/all.ts @@ -0,0 +1,5 @@ +import type { internalAllLiveTargets } from "../../../../types/paths/v1/internal/targets/all.types.js"; + +export const GET: internalAllLiveTargets = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions.ts new file mode 100644 index 000000000..2d717113c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions.ts @@ -0,0 +1,5 @@ +import type { transactionCreate } from "../../../types/paths/v1/internal/transactions.types.js"; + +export const POST: transactionCreate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/list.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/list.ts new file mode 100644 index 000000000..8b5b293b8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/list.ts @@ -0,0 +1,5 @@ +import type { serviceCreditsInternalTransactionsList } from "../../../../types/paths/v1/internal/transactions/list.types.js"; + +export const POST: serviceCreditsInternalTransactionsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/{transaction_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/{transaction_id}.ts new file mode 100644 index 000000000..cfe75df8f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/{transaction_id}.ts @@ -0,0 +1,5 @@ +import type { serviceCreditsInternalTransactionGet } from "../../../../types/paths/v1/internal/transactions/{transaction_id}.types.js"; + +export const GET: serviceCreditsInternalTransactionGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/{transaction_id}/cancel.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/{transaction_id}/cancel.ts new file mode 100644 index 000000000..c5c5bf6eb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/transactions/{transaction_id}/cancel.ts @@ -0,0 +1,5 @@ +import type { transactionCancel } from "../../../../../types/paths/v1/internal/transactions/{transaction_id}/cancel.types.js"; + +export const POST: transactionCancel = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users.ts new file mode 100644 index 000000000..ff2310b79 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users.ts @@ -0,0 +1,5 @@ +import type { profilesList } from "../../../types/paths/v1/internal/users.types.js"; + +export const GET: profilesList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/all.ts new file mode 100644 index 000000000..a36337b5d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/all.ts @@ -0,0 +1,5 @@ +import type { internalAllEsUsers } from "../../../../types/paths/v1/internal/users/all.types.js"; + +export const GET: internalAllEsUsers = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/api-key/{api_key}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/api-key/{api_key}.ts new file mode 100644 index 000000000..57da29a62 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/api-key/{api_key}.ts @@ -0,0 +1,5 @@ +import type { userByApiKeyGetInternal } from "../../../../../types/paths/v1/internal/users/api-key/{api_key}.types.js"; + +export const GET: userByApiKeyGetInternal = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/basic.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/basic.ts new file mode 100644 index 000000000..cf25010ee --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/basic.ts @@ -0,0 +1,5 @@ +import type { basicProfilesList } from "../../../../types/paths/v1/internal/users/basic.types.js"; + +export const GET: basicProfilesList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/{user_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/{user_id}.ts new file mode 100644 index 000000000..5df647972 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/users/{user_id}.ts @@ -0,0 +1,5 @@ +import type { userProfileUpdateInternal } from "../../../../types/paths/v1/internal/users/{user_id}.types.js"; + +export const PUT: userProfileUpdateInternal = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/all.ts new file mode 100644 index 000000000..0e4a43a0f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/all.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesAllList } from "../../../../types/paths/v1/internal/workspaces/all.types.js"; + +export const GET: internalWorkspacesAllList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/limits.ts new file mode 100644 index 000000000..2bb3c66a9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/limits.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesLimits } from "../../../../types/paths/v1/internal/workspaces/limits.types.js"; + +export const GET: internalWorkspacesLimits = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/members/batch.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/members/batch.ts new file mode 100644 index 000000000..81a820d09 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/members/batch.ts @@ -0,0 +1,5 @@ +import type { internalBatchWorkspacesMembers } from "../../../../../types/paths/v1/internal/workspaces/members/batch.types.js"; + +export const POST: internalBatchWorkspacesMembers = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/root.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/root.ts new file mode 100644 index 000000000..42df1e4d2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/root.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceGetRoot } from "../../../../types/paths/v1/internal/workspaces/root.types.js"; + +export const GET: internalWorkspaceGetRoot = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/sox.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/sox.ts new file mode 100644 index 000000000..7bc1095da --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/sox.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesSoxList } from "../../../../types/paths/v1/internal/workspaces/sox.types.js"; + +export const GET: internalWorkspacesSoxList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/tiers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/tiers.ts new file mode 100644 index 000000000..d19a7ffb6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/tiers.ts @@ -0,0 +1,5 @@ +import type { internalTiersList } from "../../../../types/paths/v1/internal/workspaces/tiers.types.js"; + +export const GET: internalTiersList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}.ts new file mode 100644 index 000000000..64e52ab61 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceGet } from "../../../../types/paths/v1/internal/workspaces/{id}.types.js"; + +export const GET: internalWorkspaceGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/ancestors.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/ancestors.ts new file mode 100644 index 000000000..d6e68aba5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/ancestors.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesAncestor } from "../../../../../types/paths/v1/internal/workspaces/{id}/ancestors.types.js"; + +export const GET: internalWorkspacesAncestor = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/api-key.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/api-key.ts new file mode 100644 index 000000000..c404808cf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/api-key.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceOwnerApiKeyGet } from "../../../../../types/paths/v1/internal/workspaces/{id}/api-key.types.js"; + +export const GET: internalWorkspaceOwnerApiKeyGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/family.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/family.ts new file mode 100644 index 000000000..ae2445286 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/family.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesFamily } from "../../../../../types/paths/v1/internal/workspaces/{id}/family.types.js"; + +export const GET: internalWorkspacesFamily = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/managers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/managers.ts new file mode 100644 index 000000000..3d31343c4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/managers.ts @@ -0,0 +1,5 @@ +import type { workspaceManagersGet } from "../../../../../types/paths/v1/internal/workspaces/{id}/managers.types.js"; + +export const GET: workspaceManagersGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members.ts new file mode 100644 index 000000000..6b9b583de --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members.ts @@ -0,0 +1,10 @@ +import type { internalWorkspacesMembers } from "../../../../../types/paths/v1/internal/workspaces/{id}/members.types.js"; +import type { internalWorkspaceAddMembers } from "../../../../../types/paths/v1/internal/workspaces/{id}/members.types.js"; + +export const GET: internalWorkspacesMembers = async ($) => { + return $.response[200].random(); +}; + +export const POST: internalWorkspaceAddMembers = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members/{user_id}/roles/status.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members/{user_id}/roles/status.ts new file mode 100644 index 000000000..cc5a6035b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members/{user_id}/roles/status.ts @@ -0,0 +1,5 @@ +import type { workspacesCheckRolesInAncestry } from "../../../../../../../../types/paths/v1/internal/workspaces/{id}/members/{user_id}/roles/status.types.js"; + +export const GET: workspacesCheckRolesInAncestry = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members/{user_id}/status.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members/{user_id}/status.ts new file mode 100644 index 000000000..53d485cf8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/members/{user_id}/status.ts @@ -0,0 +1,5 @@ +import type { workspacesCheckMembershipInAncestry } from "../../../../../../../types/paths/v1/internal/workspaces/{id}/members/{user_id}/status.types.js"; + +export const GET: workspacesCheckMembershipInAncestry = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers.ts new file mode 100644 index 000000000..eb213ba9a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers.ts @@ -0,0 +1,5 @@ +import type { pagespeedInternalList } from "../../../../../types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers.types.js"; + +export const GET: pagespeedInternalList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords.ts new file mode 100644 index 000000000..24c872423 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords.ts @@ -0,0 +1,5 @@ +import type { pagespeedInternalKeywordsList } from "../../../../../../../types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords.types.js"; + +export const GET: pagespeedInternalKeywordsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls.ts new file mode 100644 index 000000000..7b3832e67 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls.ts @@ -0,0 +1,5 @@ +import type { pagespeedInternalUrlsList } from "../../../../../../../types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls.types.js"; + +export const GET: pagespeedInternalUrlsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects.ts new file mode 100644 index 000000000..f61d3ac14 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects.ts @@ -0,0 +1,5 @@ +import type { projectListGet } from "../../../../../types/paths/v1/internal/workspaces/{id}/projects.types.js"; + +export const GET: projectListGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/targets.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/targets.ts new file mode 100644 index 000000000..b5b8bb72d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/targets.ts @@ -0,0 +1,5 @@ +import type { internalLiveProjectsTargetListGet } from "../../../../../../types/paths/v1/internal/workspaces/{id}/projects/targets.types.js"; + +export const GET: internalLiveProjectsTargetListGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/goals.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/goals.ts new file mode 100644 index 000000000..c7753e9ed --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/goals.ts @@ -0,0 +1,5 @@ +import type { internalGoalsList } from "../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/goals.types.js"; + +export const GET: internalGoalsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/public/segments.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/public/segments.ts new file mode 100644 index 000000000..07ca84243 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/public/segments.ts @@ -0,0 +1,5 @@ +import type { internalPublicProjectSegmentListGet } from "../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/public/segments.types.js"; + +export const GET: internalPublicProjectSegmentListGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/segments.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/segments.ts new file mode 100644 index 000000000..cb825638b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/segments.ts @@ -0,0 +1,5 @@ +import type { internalProjectSegmentListGet } from "../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments.types.js"; + +export const GET: internalProjectSegmentListGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}.ts new file mode 100644 index 000000000..580f7ac47 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}.ts @@ -0,0 +1,5 @@ +import type { internalProjectSegmentsGet } from "../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.js"; + +export const GET: internalProjectSegmentsGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets.ts new file mode 100644 index 000000000..52c38762b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets.ts @@ -0,0 +1,5 @@ +import type { projectTargetListGetInternal } from "../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets.types.js"; + +export const GET: projectTargetListGetInternal = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}.ts new file mode 100644 index 000000000..00cb829b0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}.ts @@ -0,0 +1,5 @@ +import type { internalProjectTargetDetails } from "../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.js"; + +export const GET: internalProjectTargetDetails = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input.ts new file mode 100644 index 000000000..a9ef3bea4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input.ts @@ -0,0 +1,5 @@ +import type { internalBenchmarksInput } from "../../../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input.types.js"; + +export const GET: internalBenchmarksInput = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input.ts new file mode 100644 index 000000000..ff5ce3942 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input.ts @@ -0,0 +1,5 @@ +import type { internalProjectTargetInputDetails } from "../../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input.types.js"; + +export const GET: internalProjectTargetInputDetails = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.ts new file mode 100644 index 000000000..c8b07d890 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.ts @@ -0,0 +1,5 @@ +import type { projectGetTaggedKeywords } from "../../../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.js"; + +export const GET: projectGetTaggedKeywords = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.ts new file mode 100644 index 000000000..c6639d5bc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.ts @@ -0,0 +1,5 @@ +import type { projectInternalSearchListTags } from "../../../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.js"; + +export const GET: projectInternalSearchListTags = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.ts new file mode 100644 index 000000000..933f04754 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.ts @@ -0,0 +1,5 @@ +import type { projectInternalTagsTree } from "../../../../../../../../../../types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.js"; + +export const GET: projectInternalTagsTree = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/resources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/resources.ts new file mode 100644 index 000000000..707a23cc6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/resources.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceResources } from "../../../../../types/paths/v1/internal/workspaces/{id}/resources.types.js"; + +export const GET: internalWorkspaceResources = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/service-units.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/service-units.ts new file mode 100644 index 000000000..b70c6fe97 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/service-units.ts @@ -0,0 +1,10 @@ +import type { serviceUnitsGet } from "../../../../../types/paths/v1/internal/workspaces/{id}/service-units.types.js"; +import type { serviceUnitsSet } from "../../../../../types/paths/v1/internal/workspaces/{id}/service-units.types.js"; + +export const GET: serviceUnitsGet = async ($) => { + return $.response[200].random(); +}; + +export const PUT: serviceUnitsSet = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/service-units/used.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/service-units/used.ts new file mode 100644 index 000000000..3a5b7c316 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{id}/service-units/used.ts @@ -0,0 +1,5 @@ +import type { serviceUnitsUsedSet } from "../../../../../../types/paths/v1/internal/workspaces/{id}/service-units/used.types.js"; + +export const PUT: serviceUnitsUsedSet = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections.ts new file mode 100644 index 000000000..f7ea7574b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceConnectionsList } from "../../../../../types/paths/v1/internal/workspaces/{workspace_id}/connections.types.js"; + +export const GET: internalWorkspaceConnectionsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.ts new file mode 100644 index 000000000..8cde92b0b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { internalLogFileAnalysisConnectionUpdate } from "../../../../../../../types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.js"; + +export const PUT: internalLogFileAnalysisConnectionUpdate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status.ts new file mode 100644 index 000000000..2543ffe75 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status.ts @@ -0,0 +1,7 @@ +import type { internalLogFileAnalysisConnectionStatusPatch } from "../../../../../../../../types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status.types.js"; + +export const PATCH: internalLogFileAnalysisConnectionStatusPatch = async ( + $, +) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/{connection_id}.ts new file mode 100644 index 000000000..75b2c8d64 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/connections/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceConnectionByid } from "../../../../../../types/paths/v1/internal/workspaces/{workspace_id}/connections/{connection_id}.types.js"; + +export const GET: internalWorkspaceConnectionByid = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections.ts new file mode 100644 index 000000000..b02ee3f65 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceProjectConnections } from "../../../../../../../types/paths/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections.types.js"; + +export const GET: internalWorkspaceProjectConnections = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/languages.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/languages.ts new file mode 100644 index 000000000..b1de2cc03 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/languages.ts @@ -0,0 +1,5 @@ +import type { languages } from "../../types/paths/v1/languages.types.js"; + +export const GET: languages = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/locations.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/locations.ts new file mode 100644 index 000000000..fa01c8634 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/locations.ts @@ -0,0 +1,5 @@ +import type { locations } from "../../types/paths/v1/locations.types.js"; + +export const GET: locations = async ($) => { + return $.response[401].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/profile.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/profile.ts new file mode 100644 index 000000000..41234ef9e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/profile.ts @@ -0,0 +1,10 @@ +// LLMO-5616 stateful handler — uses $.context (root Context singleton). Do-not-clobber. +import type { userProfile } from "../../types/paths/v1/profile.types.js"; +import type { userProfileUpdate } from "../../types/paths/v1/profile.types.js"; + +export const GET: userProfile = async ($) => $.response[200].json($.context.getProfile()); + +export const POST: userProfileUpdate = async ($) => { + $.context.updateProfile(($.body as Record) ?? {}); + return $.response[200].json($.context.getProfile()); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/users/required-units.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/users/required-units.ts new file mode 100644 index 000000000..6692d9db4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/users/required-units.ts @@ -0,0 +1,5 @@ +import type { usersRequiredUnits } from "../../../types/paths/v1/users/required-units.types.js"; + +export const POST: usersRequiredUnits = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/users/workspace-ownership-eligibility.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/users/workspace-ownership-eligibility.ts new file mode 100644 index 000000000..6166ada06 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/users/workspace-ownership-eligibility.ts @@ -0,0 +1,5 @@ +import type { userOwnershipEligibility } from "../../../types/paths/v1/users/workspace-ownership-eligibility.types.js"; + +export const GET: userOwnershipEligibility = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/work-categories.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/work-categories.ts new file mode 100644 index 000000000..f228b71e0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/work-categories.ts @@ -0,0 +1,5 @@ +import type { workCategories } from "../../types/paths/v1/work-categories.types.js"; + +export const GET: workCategories = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces.ts new file mode 100644 index 000000000..c0f91698a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces.ts @@ -0,0 +1,2 @@ +// LLMO-5616 stateful handler (do-not-clobber). +export const GET = async ($) => $.response[200].json($.context.listWorkspaces()); diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/light.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/light.ts new file mode 100644 index 000000000..8b75dab7e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/light.ts @@ -0,0 +1,5 @@ +import type { workspacesLightList } from "../../../types/paths/v1/workspaces/light.types.js"; + +export const GET: workspacesLightList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/limits.ts new file mode 100644 index 000000000..82ac82578 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/limits.ts @@ -0,0 +1,2 @@ +// LLMO-5616 stateful handler — DEPRECATED, aliases /resources (do-not-clobber). +export const GET = async ($) => $.response[200].json($.context.getTotalResources()); diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/resources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/resources.ts new file mode 100644 index 000000000..2aca7a8c0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/resources.ts @@ -0,0 +1,2 @@ +// LLMO-5616 stateful handler (do-not-clobber). +export const GET = async ($) => $.response[200].json($.context.getTotalResources()); diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/tiers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/tiers.ts new file mode 100644 index 000000000..2207f9678 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/tiers.ts @@ -0,0 +1,5 @@ +import type { tiersList } from "../../../types/paths/v1/workspaces/tiers.types.js"; + +export const GET: tiersList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}.ts new file mode 100644 index 000000000..b8fd8f437 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}.ts @@ -0,0 +1,15 @@ +// LLMO-5616 stateful handler (do-not-clobber). +import { nf } from "../../_.helpers.js"; + +export const GET = async ($) => { + const ws = $.context.getWorkspace($.path.id); + return ws ? $.response[200].json(ws) : nf($); +}; +export const PUT = async ($) => { + const ws = $.context.updateWorkspace($.path.id, $.body ?? {}); + return ws ? $.response[200].json(ws) : nf($); +}; +export const DELETE = async ($) => { + const ok = $.context.deleteWorkspace($.path.id); + return ok ? $.response[200].json({ deleted: true }) : nf($); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/api_units.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/api_units.ts new file mode 100644 index 000000000..d2787b548 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/api_units.ts @@ -0,0 +1,5 @@ +import type { workspaceApiUnitsGet } from "../../../../types/paths/v1/workspaces/{id}/api_units.types.js"; + +export const GET: workspaceApiUnitsGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/campaigns/{campaign_id}/keywords.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/campaigns/{campaign_id}/keywords.ts new file mode 100644 index 000000000..6bd74a1cb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/campaigns/{campaign_id}/keywords.ts @@ -0,0 +1,5 @@ +import type { workspacesCampaignKeywordsList } from "../../../../../../types/paths/v1/workspaces/{id}/campaigns/{campaign_id}/keywords.types.js"; + +export const GET: workspacesCampaignKeywordsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/child.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/child.ts new file mode 100644 index 000000000..f7779b5ce --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/child.ts @@ -0,0 +1,5 @@ +// LLMO-5616 stateful handler (do-not-clobber). +export const POST = async ($) => { + const ws = $.context.createChild($.path.id, $.body ?? {}); + return $.response[200].json(ws); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/family.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/family.ts new file mode 100644 index 000000000..d985d8460 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/family.ts @@ -0,0 +1,5 @@ +import type { workspacesFamily } from "../../../../types/paths/v1/workspaces/{id}/family.types.js"; + +export const GET: workspacesFamily = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/has_children.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/has_children.ts new file mode 100644 index 000000000..540773844 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/has_children.ts @@ -0,0 +1,5 @@ +import type { workspacesHasChildren } from "../../../../types/paths/v1/workspaces/{id}/has_children.types.js"; + +export const GET: workspacesHasChildren = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/icon.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/icon.ts new file mode 100644 index 000000000..777c957e5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/icon.ts @@ -0,0 +1,5 @@ +import type { workspaceUpdateIcon } from "../../../../types/paths/v1/workspaces/{id}/icon.types.js"; + +export const PUT: workspaceUpdateIcon = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists.ts new file mode 100644 index 000000000..2ce437c39 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists.ts @@ -0,0 +1,15 @@ +import type { keywordslistsDelete } from "../../../../types/paths/v1/workspaces/{id}/keywordslists.types.js"; +import type { keywordslistsGet } from "../../../../types/paths/v1/workspaces/{id}/keywordslists.types.js"; +import type { keywordslistsPost } from "../../../../types/paths/v1/workspaces/{id}/keywordslists.types.js"; + +export const DELETE: keywordslistsDelete = async ($) => { + return $.response[200].random(); +}; + +export const GET: keywordslistsGet = async ($) => { + return $.response[200].random(); +}; + +export const POST: keywordslistsPost = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/databases.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/databases.ts new file mode 100644 index 000000000..bd7346f03 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/databases.ts @@ -0,0 +1,5 @@ +import type { keywordslistsDatabasesGet } from "../../../../../types/paths/v1/workspaces/{id}/keywordslists/databases.types.js"; + +export const GET: keywordslistsDatabasesGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}.ts new file mode 100644 index 000000000..3aa8a6922 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}.ts @@ -0,0 +1,5 @@ +import type { keywordslistsRename } from "../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}.types.js"; + +export const PUT: keywordslistsRename = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.ts new file mode 100644 index 000000000..c02f3924a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.ts @@ -0,0 +1,15 @@ +import type { keywordslistsKeywordsDelete } from "../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.types.js"; +import type { keywordslistsKeywordsGet } from "../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.types.js"; +import type { keywordslistsKeywordsPost } from "../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.types.js"; + +export const DELETE: keywordslistsKeywordsDelete = async ($) => { + return $.response[200].random(); +}; + +export const GET: keywordslistsKeywordsGet = async ($) => { + return $.response[200].random(); +}; + +export const POST: keywordslistsKeywordsPost = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.ts new file mode 100644 index 000000000..81d970629 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.ts @@ -0,0 +1,15 @@ +import type { keywordslistsKeywordsTagsDelete } from "../../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.types.js"; +import type { keywordslistsKeywordsTagsPatch } from "../../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.types.js"; +import type { keywordslistsKeywordsTagsAdd } from "../../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.types.js"; + +export const DELETE: keywordslistsKeywordsTagsDelete = async ($) => { + return $.response[200].random(); +}; + +export const PATCH: keywordslistsKeywordsTagsPatch = async ($) => { + return $.response[200].random(); +}; + +export const POST: keywordslistsKeywordsTagsAdd = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload.ts new file mode 100644 index 000000000..baa9a9e81 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload.ts @@ -0,0 +1,5 @@ +import type { keywordslistsKeywordsPostUpload } from "../../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload.types.js"; + +export const POST: keywordslistsKeywordsPostUpload = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/members.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/members.ts new file mode 100644 index 000000000..4018bdfdb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/keywordslists/{basket_id}/members.ts @@ -0,0 +1,20 @@ +import type { keywordsListDeleteMembers } from "../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/members.types.js"; +import type { keywordsListMembers } from "../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/members.types.js"; +import type { keywordsListUpdateMembersRole } from "../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/members.types.js"; +import type { keywordsListAddMembers } from "../../../../../../types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/members.types.js"; + +export const DELETE: keywordsListDeleteMembers = async ($) => { + return $.response[204].empty(); +}; + +export const GET: keywordsListMembers = async ($) => { + return $.response[200].random(); +}; + +export const PATCH: keywordsListUpdateMembersRole = async ($) => { + return $.response[204].empty(); +}; + +export const POST: keywordsListAddMembers = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/light.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/light.ts new file mode 100644 index 000000000..546f96341 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/light.ts @@ -0,0 +1,5 @@ +import type { workspaceLightDetails } from "../../../../types/paths/v1/workspaces/{id}/light.types.js"; + +export const GET: workspaceLightDetails = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/limits.ts new file mode 100644 index 000000000..3119cd6bc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/limits.ts @@ -0,0 +1,7 @@ +// LLMO-5616 stateful handler — DEPRECATED, aliases /resources (do-not-clobber). +import { nf } from "../../../_.helpers.js"; + +export const GET = async ($) => { + const r = $.context.getResources($.path.id); + return r ? $.response[200].json(r) : nf($); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/members.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/members.ts new file mode 100644 index 000000000..90295207a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/members.ts @@ -0,0 +1,25 @@ +// LLMO-5616 stateful handler (do-not-clobber). +import { nf } from "../../../_.helpers.js"; + +export const GET = async ($) => $.response[200].json($.context.listMembers($.path.id)); +export const POST = async ($) => { + const body = $.body ?? {}; + const members = Array.isArray(body) ? body : (body.members ?? [body]); + const res = $.context.addMembers($.path.id, members); + return res ? $.response[200].json(res) : nf($, "workspace not found"); +}; +export const PATCH = async ($) => { + const body = $.body ?? {}; + const updated = $.context.updateMember($.path.id, body.user_id, body); + return updated ? $.response[200].json(updated) : nf($, "member not found"); +}; +export const DELETE = async ($) => { + const body = $.body ?? {}; + const ids = body.user_ids ?? (body.user_id ? [body.user_id] : []); + // null = workspace missing (404/500); a number = members actually removed + // (0 is valid — spec returns "number of user units freed", 0 means none). + const removed = $.context.deleteMembers($.path.id, ids); + return removed === null + ? nf($, "workspace not found") + : $.response[200].json({ deleted: true, count: removed }); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/parent.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/parent.ts new file mode 100644 index 000000000..7db3dadb3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/parent.ts @@ -0,0 +1,5 @@ +import type { workspaceDetailsParent } from "../../../../types/paths/v1/workspaces/{id}/parent.types.js"; + +export const GET: workspaceDetailsParent = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/parent/resources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/parent/resources.ts new file mode 100644 index 000000000..3df3a108a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/parent/resources.ts @@ -0,0 +1,5 @@ +import type { workspaceResourcesMaster } from "../../../../../types/paths/v1/workspaces/{id}/parent/resources.types.js"; + +export const GET: workspaceResourcesMaster = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects.ts new file mode 100644 index 000000000..7bd0edbb5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects.ts @@ -0,0 +1,10 @@ +import type { projectListGetForUser } from "../../../../types/paths/v1/workspaces/{id}/projects.types.js"; +import type { projectCreate } from "../../../../types/paths/v1/workspaces/{id}/projects.types.js"; + +export const GET: projectListGetForUser = async ($) => { + return $.response[200].random(); +}; + +export const POST: projectCreate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/targets.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/targets.ts new file mode 100644 index 000000000..829d33b0a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/targets.ts @@ -0,0 +1,5 @@ +import type { liveProjectsTargetListGet } from "../../../../../types/paths/v1/workspaces/{id}/projects/targets.types.js"; + +export const GET: liveProjectsTargetListGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}.ts new file mode 100644 index 000000000..f6cd89e84 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}.ts @@ -0,0 +1,15 @@ +import type { projectDelete } from "../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}.types.js"; +import type { projectGet } from "../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}.types.js"; +import type { projectUpdate } from "../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}.types.js"; + +export const DELETE: projectDelete = async ($) => { + return $.response[200].random(); +}; + +export const GET: projectGet = async ($) => { + return $.response[200].random(); +}; + +export const PUT: projectUpdate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone.ts new file mode 100644 index 000000000..645901e04 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone.ts @@ -0,0 +1,5 @@ +import type { workspacesCloneBenchmarksTags } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone.types.js"; + +export const POST: workspacesCloneBenchmarksTags = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/discard_draft.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/discard_draft.ts new file mode 100644 index 000000000..d2e66b3e8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/discard_draft.ts @@ -0,0 +1,5 @@ +import type { discardDraftProject } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/discard_draft.types.js"; + +export const POST: discardDraftProject = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/favourite.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/favourite.ts new file mode 100644 index 000000000..bdbe197ae --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/favourite.ts @@ -0,0 +1,5 @@ +import type { setProjectFavourite } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/favourite.types.js"; + +export const POST: setProjectFavourite = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals.ts new file mode 100644 index 000000000..90fc4cf39 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals.ts @@ -0,0 +1,15 @@ +import type { goalsDelete } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/goals.types.js"; +import type { goalsList } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/goals.types.js"; +import type { goalCreate } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/goals.types.js"; + +export const DELETE: goalsDelete = async ($) => { + return $.response[200].random(); +}; + +export const GET: goalsList = async ($) => { + return $.response[200].random(); +}; + +export const POST: goalCreate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals/import.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals/import.ts new file mode 100644 index 000000000..e0a4100e9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals/import.ts @@ -0,0 +1,5 @@ +import type { goalSimport } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/goals/import.types.js"; + +export const POST: goalSimport = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}.ts new file mode 100644 index 000000000..2e64ae141 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}.ts @@ -0,0 +1,5 @@ +import type { goalUpdate } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}.types.js"; + +export const PUT: goalUpdate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/limits.ts new file mode 100644 index 000000000..710135129 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/limits.ts @@ -0,0 +1,5 @@ +import type { projectLimitsGet } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/limits.types.js"; + +export const GET: projectLimitsGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/members.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/members.ts new file mode 100644 index 000000000..9feae07f8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/members.ts @@ -0,0 +1,20 @@ +import type { projectDeleteMembers } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/members.types.js"; +import type { projectMembers } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/members.types.js"; +import type { projectUpdateMembersRole } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/members.types.js"; +import type { projectAddMembers } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/members.types.js"; + +export const DELETE: projectDeleteMembers = async ($) => { + return $.response[204].empty(); +}; + +export const GET: projectMembers = async ($) => { + return $.response[200].random(); +}; + +export const PATCH: projectUpdateMembersRole = async ($) => { + return $.response[204].empty(); +}; + +export const POST: projectAddMembers = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.ts new file mode 100644 index 000000000..fb2627e5f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.ts @@ -0,0 +1,15 @@ +import type { pagespeedDelete } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.types.js"; +import type { pagespeedList } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.types.js"; +import type { pagespeedCreate } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.types.js"; + +export const DELETE: pagespeedDelete = async ($) => { + return $.response[200].random(); +}; + +export const GET: pagespeedList = async ($) => { + return $.response[200].random(); +}; + +export const POST: pagespeedCreate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}.ts new file mode 100644 index 000000000..4f0c8af0f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}.ts @@ -0,0 +1,5 @@ +import type { pagespeedUpdate } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}.types.js"; + +export const PATCH: pagespeedUpdate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.ts new file mode 100644 index 000000000..e547bea88 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.ts @@ -0,0 +1,15 @@ +import type { pagespeedDeleteKeywords } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.types.js"; +import type { pagespeedKeywordsList } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.types.js"; +import type { pagespeedAddKeywords } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.types.js"; + +export const DELETE: pagespeedDeleteKeywords = async ($) => { + return $.response[200].random(); +}; + +export const GET: pagespeedKeywordsList = async ($) => { + return $.response[200].random(); +}; + +export const POST: pagespeedAddKeywords = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom.ts new file mode 100644 index 000000000..ce29831cf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom.ts @@ -0,0 +1,5 @@ +import type { pagespeedAddNamedKeywords } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom.types.js"; + +export const POST: pagespeedAddNamedKeywords = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits.ts new file mode 100644 index 000000000..f98f2ac57 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits.ts @@ -0,0 +1,5 @@ +import type { crawlerLimitsGet } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits.types.js"; + +export const GET: crawlerLimitsGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.ts new file mode 100644 index 000000000..cad7bba7b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.ts @@ -0,0 +1,15 @@ +import type { pagespeedDeleteUrls } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.types.js"; +import type { pagespeedUrlsList } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.types.js"; +import type { pagespeedAddUrls } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.types.js"; + +export const DELETE: pagespeedDeleteUrls = async ($) => { + return $.response[200].random(); +}; + +export const GET: pagespeedUrlsList = async ($) => { + return $.response[200].random(); +}; + +export const POST: pagespeedAddUrls = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible.ts new file mode 100644 index 000000000..34af211d9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible.ts @@ -0,0 +1,5 @@ +import type { pagespeedVisible } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible.types.js"; + +export const PATCH: pagespeedVisible = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/publish/async.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/publish/async.ts new file mode 100644 index 000000000..d45ccc72d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/publish/async.ts @@ -0,0 +1,5 @@ +import type { projectPublishAsync } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/publish/async.types.js"; + +export const POST: projectPublishAsync = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/segments.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/segments.ts new file mode 100644 index 000000000..1517ced86 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/segments.ts @@ -0,0 +1,10 @@ +import type { projectSegmentDelete } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/segments.types.js"; +import type { projectSegmentListGet } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/segments.types.js"; + +export const DELETE: projectSegmentDelete = async ($) => { + return $.response[204].empty(); +}; + +export const GET: projectSegmentListGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.ts new file mode 100644 index 000000000..4621c8fd9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.ts @@ -0,0 +1,10 @@ +import type { projectSegmentsGet } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.js"; +import type { projectSegmentUpdate } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.js"; + +export const GET: projectSegmentsGet = async ($) => { + return $.response[200].random(); +}; + +export const PUT: projectSegmentUpdate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets.ts new file mode 100644 index 000000000..98889d81d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets.ts @@ -0,0 +1,15 @@ +import type { projectTargetDelete } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets.types.js"; +import type { projectTargetListGet } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets.types.js"; +import type { projectAddTarget } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets.types.js"; + +export const DELETE: projectTargetDelete = async ($) => { + return $.response[200].random(); +}; + +export const GET: projectTargetListGet = async ($) => { + return $.response[200].random(); +}; + +export const POST: projectAddTarget = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone.ts new file mode 100644 index 000000000..965ec7d8d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone.ts @@ -0,0 +1,5 @@ +import type { workspacesCloneKeywordsTags } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone.types.js"; + +export const POST: workspacesCloneKeywordsTags = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}.ts new file mode 100644 index 000000000..aba9aa7a7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}.ts @@ -0,0 +1,5 @@ +import type { projectTargetDetails } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.js"; + +export const GET: projectTargetDetails = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.ts new file mode 100644 index 000000000..3ab99f3ae --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.ts @@ -0,0 +1,15 @@ +import type { projectDeleteBenchmarks } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.types.js"; +import type { benchmarksList } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.types.js"; +import type { projectAddBenchmarks } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.types.js"; + +export const DELETE: projectDeleteBenchmarks = async ($) => { + return $.response[200].random(); +}; + +export const GET: benchmarksList = async ($) => { + return $.response[200].random(); +}; + +export const POST: projectAddBenchmarks = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk.ts new file mode 100644 index 000000000..938be3833 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk.ts @@ -0,0 +1,5 @@ +import type { projectBulkUpdateBenchmarks } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk.types.js"; + +export const PUT: projectBulkUpdateBenchmarks = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download.ts new file mode 100644 index 000000000..2312be6e5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download.ts @@ -0,0 +1,5 @@ +import type { projectDownloadBenchmarks } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download.types.js"; + +export const GET: projectDownloadBenchmarks = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags.ts new file mode 100644 index 000000000..7603aebe9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags.ts @@ -0,0 +1,5 @@ +import type { projectRemoveTagsBenchmarks } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags.types.js"; + +export const DELETE: projectRemoveTagsBenchmarks = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload.ts new file mode 100644 index 000000000..e5889b9e0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload.ts @@ -0,0 +1,5 @@ +import type { projectUploadBenchmarks } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload.types.js"; + +export const POST: projectUploadBenchmarks = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}.ts new file mode 100644 index 000000000..7184097d8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}.ts @@ -0,0 +1,5 @@ +import type { projectUpdateBenchmarks } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}.types.js"; + +export const PUT: projectUpdateBenchmarks = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts new file mode 100644 index 000000000..e4e6d4814 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts @@ -0,0 +1,15 @@ +import type { projectDeleteKeywords } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.js"; +import type { projectGetKeywords } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.js"; +import type { projectAddKeywords } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.js"; + +export const DELETE: projectDeleteKeywords = async ($) => { + return $.response[200].random(); +}; + +export const GET: projectGetKeywords = async ($) => { + return $.response[200].random(); +}; + +export const POST: projectAddKeywords = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names.ts new file mode 100644 index 000000000..b55f631f3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names.ts @@ -0,0 +1,5 @@ +import type { targetsKeywordsByNames } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names.types.js"; + +export const POST: targetsKeywordsByNames = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.ts new file mode 100644 index 000000000..24b445610 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.ts @@ -0,0 +1,10 @@ +import type { projectUpdateKeywords } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.types.js"; +import type { keywordsPreferredUrlsUpload } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.types.js"; + +export const PATCH: projectUpdateKeywords = async ($) => { + return $.response[200].random(); +}; + +export const POST: keywordsPreferredUrlsUpload = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download.ts new file mode 100644 index 000000000..fc7966556 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download.ts @@ -0,0 +1,5 @@ +import type { keywordsPreferredUrlsDownload } from "../../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download.types.js"; + +export const GET: keywordsPreferredUrlsDownload = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids.ts new file mode 100644 index 000000000..5db2474f7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids.ts @@ -0,0 +1,5 @@ +import type { keywordsRelatedTagIdsGet } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids.types.js"; + +export const POST: keywordsRelatedTagIdsGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations.ts new file mode 100644 index 000000000..1ff941219 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations.ts @@ -0,0 +1,5 @@ +import type { keywordsTagsRelationsDelete } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations.types.js"; + +export const DELETE: keywordsTagsRelationsDelete = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats.ts new file mode 100644 index 000000000..933c56b1a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats.ts @@ -0,0 +1,5 @@ +import type { keywordsMetrics } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats.types.js"; + +export const GET: keywordsMetrics = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.ts new file mode 100644 index 000000000..f9279e6bc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.ts @@ -0,0 +1,5 @@ +import type { projectAddTaggedKeywords } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.js"; + +export const POST: projectAddTaggedKeywords = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download.ts new file mode 100644 index 000000000..a1ddacb44 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download.ts @@ -0,0 +1,5 @@ +import type { projectDownloadTaggedKeywords } from "../../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download.types.js"; + +export const GET: projectDownloadTaggedKeywords = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload.ts new file mode 100644 index 000000000..5522b656f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload.ts @@ -0,0 +1,5 @@ +import type { projectUploadTaggedKeywords } from "../../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload.types.js"; + +export const POST: projectUploadTaggedKeywords = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.ts new file mode 100644 index 000000000..09fb730d9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.ts @@ -0,0 +1,15 @@ +import type { projectDeleteTags } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.js"; +import type { projectGetTags } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.js"; +import type { projectAddTags } from "../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.js"; + +export const DELETE: projectDeleteTags = async ($) => { + return $.response[200].random(); +}; + +export const GET: projectGetTags = async ($) => { + return $.response[200].random(); +}; + +export const POST: projectAddTags = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all.ts new file mode 100644 index 000000000..4547f568a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all.ts @@ -0,0 +1,5 @@ +import type { projectTagsAll } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all.types.js"; + +export const GET: projectTagsAll = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.ts new file mode 100644 index 000000000..e51ed5c6a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.ts @@ -0,0 +1,5 @@ +import type { projectSearchListTags } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.js"; + +export const GET: projectSearchListTags = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.ts new file mode 100644 index 000000000..f0aaeb866 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.ts @@ -0,0 +1,5 @@ +import type { projectTagsTree } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.js"; + +export const GET: projectTagsTree = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path.ts new file mode 100644 index 000000000..ba5f6d558 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path.ts @@ -0,0 +1,5 @@ +import type { projectFindTagsPath } from "../../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path.types.js"; + +export const GET: projectFindTagsPath = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search.ts new file mode 100644 index 000000000..b03c2b982 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search.ts @@ -0,0 +1,5 @@ +import type { projectSearchTreeTags } from "../../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search.types.js"; + +export const GET: projectSearchTreeTags = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}.ts new file mode 100644 index 000000000..743b824a6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}.ts @@ -0,0 +1,5 @@ +import type { projectUpdateTag } from "../../../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}.types.js"; + +export const PUT: projectUpdateTag = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/url-groups.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/url-groups.ts new file mode 100644 index 000000000..cb1fe1f39 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/url-groups.ts @@ -0,0 +1,15 @@ +import type { urlGroupsDelete } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups.types.js"; +import type { urlGroupsList } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups.types.js"; +import type { urlGroupsCreate } from "../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups.types.js"; + +export const DELETE: urlGroupsDelete = async ($) => { + return $.response[200].random(); +}; + +export const GET: urlGroupsList = async ($) => { + return $.response[200].random(); +}; + +export const POST: urlGroupsCreate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}.ts new file mode 100644 index 000000000..5d8a11818 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}.ts @@ -0,0 +1,5 @@ +import type { urlGroupsUpdate } from "../../../../../../../types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}.types.js"; + +export const PUT: urlGroupsUpdate = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/resources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/resources.ts new file mode 100644 index 000000000..e1b735c4d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/resources.ts @@ -0,0 +1,7 @@ +// LLMO-5616 stateful handler (do-not-clobber). +import { nf } from "../../../_.helpers.js"; + +export const GET = async ($) => { + const r = $.context.getResources($.path.id); + return r ? $.response[200].json(r) : nf($); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/resources/transfer.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/resources/transfer.ts new file mode 100644 index 000000000..473b453bc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/resources/transfer.ts @@ -0,0 +1,5 @@ +import type { workspaceTransferResources } from "../../../../../types/paths/v1/workspaces/{id}/resources/transfer.types.js"; + +export const POST: workspaceTransferResources = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/role.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/role.ts new file mode 100644 index 000000000..17c4a1a7c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/role.ts @@ -0,0 +1,5 @@ +import type { userWorkspaceRole } from "../../../../types/paths/v1/workspaces/{id}/role.types.js"; + +export const GET: userWorkspaceRole = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/segments.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/segments.ts new file mode 100644 index 000000000..a4fb18156 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/segments.ts @@ -0,0 +1,5 @@ +import type { workspaceSegmentListGet } from "../../../../types/paths/v1/workspaces/{id}/segments.types.js"; + +export const GET: workspaceSegmentListGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/balance.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/balance.ts new file mode 100644 index 000000000..b5963e077 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/balance.ts @@ -0,0 +1,7 @@ +// LLMO-5616 stateful handler (do-not-clobber). +import { nf } from "../../../../_.helpers.js"; + +export const GET = async ($) => { + const b = $.context.getServiceUnitsBalance($.path.id); + return b ? $.response[200].json(b) : nf($); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/transactions.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/transactions.ts new file mode 100644 index 000000000..8202198cd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/transactions.ts @@ -0,0 +1,5 @@ +import type { serviceCreditsTransactionsList } from "../../../../../types/paths/v1/workspaces/{id}/service-units/transactions.types.js"; + +export const POST: serviceCreditsTransactionsList = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/transactions/{transaction_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/transactions/{transaction_id}.ts new file mode 100644 index 000000000..17f5d3971 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/service-units/transactions/{transaction_id}.ts @@ -0,0 +1,5 @@ +import type { serviceCreditsTransactionGet } from "../../../../../../types/paths/v1/workspaces/{id}/service-units/transactions/{transaction_id}.types.js"; + +export const GET: serviceCreditsTransactionGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/status.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/status.ts new file mode 100644 index 000000000..c0a026b83 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{id}/status.ts @@ -0,0 +1,5 @@ +import type { workspacesStatusGet } from "../../../../types/paths/v1/workspaces/{id}/status.types.js"; + +export const GET: workspacesStatusGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections.ts new file mode 100644 index 000000000..1f31f40d3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections.ts @@ -0,0 +1,10 @@ +import type { workspaceConnectionsDelete } from "../../../../types/paths/v1/workspaces/{workspace_id}/connections.types.js"; +import type { workspaceConnections } from "../../../../types/paths/v1/workspaces/{workspace_id}/connections.types.js"; + +export const DELETE: workspaceConnectionsDelete = async ($) => { + return $.response[200].empty(); +}; + +export const GET: workspaceConnections = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/adobe-analytics.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/adobe-analytics.ts new file mode 100644 index 000000000..cf59aea11 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/adobe-analytics.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsConnectionCreate } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics.types.js"; + +export const POST: adobeAnalyticsConnectionCreate = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.ts new file mode 100644 index 000000000..a5ddbfc86 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsConnectionUpdate } from "../../../../../../types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.js"; + +export const PUT: adobeAnalyticsConnectionUpdate = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/attach-projects.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/attach-projects.ts new file mode 100644 index 000000000..1c4ea4901 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/attach-projects.ts @@ -0,0 +1,5 @@ +import type { workspaceConnectionsMerge } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/attach-projects.types.js"; + +export const POST: workspaceConnectionsMerge = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-ads.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-ads.ts new file mode 100644 index 000000000..a10320a38 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-ads.ts @@ -0,0 +1,5 @@ +import type { adsConnectionCreate } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/google-ads.types.js"; + +export const POST: adsConnectionCreate = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}.ts new file mode 100644 index 000000000..99d7a0373 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { adsConnectionUpdate } from "../../../../../../types/paths/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}.types.js"; + +export const PUT: adsConnectionUpdate = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-analytics.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-analytics.ts new file mode 100644 index 000000000..aed1654d8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-analytics.ts @@ -0,0 +1,5 @@ +import type { analyticsConnectionCreate } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/google-analytics.types.js"; + +export const POST: analyticsConnectionCreate = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}.ts new file mode 100644 index 000000000..344a173e5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { analyticsConnectionUpdate } from "../../../../../../types/paths/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}.types.js"; + +export const PUT: analyticsConnectionUpdate = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-console.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-console.ts new file mode 100644 index 000000000..b67d5379c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-console.ts @@ -0,0 +1,5 @@ +import type { consoleConnectionCreate } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/google-console.types.js"; + +export const POST: consoleConnectionCreate = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}.ts new file mode 100644 index 000000000..7f0c91901 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { consoleConnectionUpdate } from "../../../../../../types/paths/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}.types.js"; + +export const PUT: consoleConnectionUpdate = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/log-file-analysis.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/log-file-analysis.ts new file mode 100644 index 000000000..0cd08b90e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/log-file-analysis.ts @@ -0,0 +1,5 @@ +import type { logFileAnalysisConnectionCreate } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis.types.js"; + +export const POST: logFileAnalysisConnectionCreate = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.ts new file mode 100644 index 000000000..3e6e62de1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { logFileAnalysisConnectionUpdate } from "../../../../../../types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.js"; + +export const PUT: logFileAnalysisConnectionUpdate = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/owners.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/owners.ts new file mode 100644 index 000000000..cfcb6482c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/owners.ts @@ -0,0 +1,5 @@ +import type { workspaceConnectionOwners } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/owners.types.js"; + +export const GET: workspaceConnectionOwners = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/{connection_id}.ts new file mode 100644 index 000000000..e0e060697 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { workspaceConnectionsByid } from "../../../../../types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}.types.js"; + +export const GET: workspaceConnectionsByid = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.ts new file mode 100644 index 000000000..4e55e7753 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.ts @@ -0,0 +1,10 @@ +import type { workspaceConnectionDetachProject } from "../../../../../../../types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.types.js"; +import type { workspaceConnectionAttachProject } from "../../../../../../../types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.types.js"; + +export const DELETE: workspaceConnectionDetachProject = async ($) => { + return $.response[200].empty(); +}; + +export const POST: workspaceConnectionAttachProject = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/projects/{project_id}/connections.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/projects/{project_id}/connections.ts new file mode 100644 index 000000000..0f5966cd5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v1/workspaces/{workspace_id}/projects/{project_id}/connections.ts @@ -0,0 +1,5 @@ +import type { workspaceProjectConnections } from "../../../../../../types/paths/v1/workspaces/{workspace_id}/projects/{project_id}/connections.types.js"; + +export const GET: workspaceProjectConnections = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/admin/workspaces/api/create.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/admin/workspaces/api/create.ts new file mode 100644 index 000000000..3f147d2f6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/admin/workspaces/api/create.ts @@ -0,0 +1,5 @@ +import type { activationPanelWorkspaceCreateMasterV2 } from "../../../../../types/paths/v2/admin/workspaces/api/create.types.js"; + +export const POST: activationPanelWorkspaceCreateMasterV2 = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials.ts new file mode 100644 index 000000000..d2a609e7f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsCreateCredentialsV2 } from "../../../types/paths/v2/adobe-analytics/credentials.types.js"; + +export const POST: adobeAnalyticsCreateCredentialsV2 = async ($) => { + return $.response[201].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/dimensions.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/dimensions.ts new file mode 100644 index 000000000..1155a1b62 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/dimensions.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetDimensionsV2 } from "../../../../types/paths/v2/adobe-analytics/credentials/dimensions.types.js"; + +export const GET: adobeAnalyticsGetDimensionsV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/metrics-dimensions/validation.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/metrics-dimensions/validation.ts new file mode 100644 index 000000000..049a96349 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/metrics-dimensions/validation.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsValidateV2 } from "../../../../../types/paths/v2/adobe-analytics/credentials/metrics-dimensions/validation.types.js"; + +export const POST: adobeAnalyticsValidateV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/metrics.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/metrics.ts new file mode 100644 index 000000000..920c152cd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/metrics.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetMetricsV2 } from "../../../../types/paths/v2/adobe-analytics/credentials/metrics.types.js"; + +export const GET: adobeAnalyticsGetMetricsV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/reportsuites.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/reportsuites.ts new file mode 100644 index 000000000..24a80a6c1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/reportsuites.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetReportSuitesV2 } from "../../../../types/paths/v2/adobe-analytics/credentials/reportsuites.types.js"; + +export const GET: adobeAnalyticsGetReportSuitesV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/reportsuites/paginated.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/reportsuites/paginated.ts new file mode 100644 index 000000000..e7e2c37dc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/reportsuites/paginated.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetReportSuitesPaginatedV2 } from "../../../../../types/paths/v2/adobe-analytics/credentials/reportsuites/paginated.types.js"; + +export const GET: adobeAnalyticsGetReportSuitesPaginatedV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/status.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/status.ts new file mode 100644 index 000000000..01afea7ba --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/adobe-analytics/credentials/status.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsGetStatusV2 } from "../../../../types/paths/v2/adobe-analytics/credentials/status.types.js"; + +export const GET: adobeAnalyticsGetStatusV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/products/{product_id}/workspaces.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/products/{product_id}/workspaces.ts new file mode 100644 index 000000000..456ddbc07 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/products/{product_id}/workspaces.ts @@ -0,0 +1,5 @@ +import type { internalProductWorkspacesGet } from "../../../../../types/paths/v2/internal/products/{product_id}/workspaces.types.js"; + +export const GET: internalProductWorkspacesGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/transactions.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/transactions.ts new file mode 100644 index 000000000..9438c7c0f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/transactions.ts @@ -0,0 +1,5 @@ +import type { transactionCreateV2 } from "../../../types/paths/v2/internal/transactions.types.js"; + +export const POST: transactionCreateV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/transactions/{transaction_id}/refund.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/transactions/{transaction_id}/refund.ts new file mode 100644 index 000000000..714e6d0fa --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/transactions/{transaction_id}/refund.ts @@ -0,0 +1,5 @@ +import type { transactionRefundV2 } from "../../../../../types/paths/v2/internal/transactions/{transaction_id}/refund.types.js"; + +export const POST: transactionRefundV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/all.ts new file mode 100644 index 000000000..e967d71f0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/all.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesAllListV2 } from "../../../../types/paths/v2/internal/workspaces/all.types.js"; + +export const GET: internalWorkspacesAllListV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/projects/all.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/projects/all.ts new file mode 100644 index 000000000..a2326f8b5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/projects/all.ts @@ -0,0 +1,5 @@ +import type { internalProjectsAllV2List } from "../../../../../types/paths/v2/internal/workspaces/projects/all.types.js"; + +export const GET: internalProjectsAllV2List = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/ancestors.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/ancestors.ts new file mode 100644 index 000000000..fddb35c95 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/ancestors.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesAncestorV2 } from "../../../../../types/paths/v2/internal/workspaces/{id}/ancestors.types.js"; + +export const GET: internalWorkspacesAncestorV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/family.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/family.ts new file mode 100644 index 000000000..873edb95f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/family.ts @@ -0,0 +1,5 @@ +import type { internalWorkspacesFamilyV2 } from "../../../../../types/paths/v2/internal/workspaces/{id}/family.types.js"; + +export const GET: internalWorkspacesFamilyV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/limits.ts new file mode 100644 index 000000000..0ce1a2df3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/limits.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceProductLimits } from "../../../../../../../types/paths/v2/internal/workspaces/{id}/products/{product_id}/limits.types.js"; + +export const GET: internalWorkspaceProductLimits = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/projects.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/projects.ts new file mode 100644 index 000000000..78353ea2b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/projects.ts @@ -0,0 +1,5 @@ +import type { internalProductProjectsFind } from "../../../../../../../types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects.types.js"; + +export const GET: internalProductProjectsFind = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits.ts new file mode 100644 index 000000000..2f244edda --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits.ts @@ -0,0 +1,5 @@ +import type { internalWorkspaceProductLimitsByProject } from "../../../../../../../../../types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits.types.js"; + +export const GET: internalWorkspaceProductLimitsByProject = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/projects.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/projects.ts new file mode 100644 index 000000000..03945705e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/projects.ts @@ -0,0 +1,5 @@ +import type { internalProjectsListV2 } from "../../../../../types/paths/v2/internal/workspaces/{id}/projects.types.js"; + +export const GET: internalProjectsListV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/projects/{project_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/projects/{project_id}.ts new file mode 100644 index 000000000..b8fc37d96 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/internal/workspaces/{id}/projects/{project_id}.ts @@ -0,0 +1,5 @@ +import type { internalProjectByIdV2 } from "../../../../../../types/paths/v2/internal/workspaces/{id}/projects/{project_id}.types.js"; + +export const GET: internalProjectByIdV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}.ts new file mode 100644 index 000000000..36389e34c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}.ts @@ -0,0 +1,7 @@ +// LLMO-5616 stateful handler (do-not-clobber). +import { nf } from "../../_.helpers.js"; + +export const GET = async ($) => { + const ws = $.context.getWorkspace($.path.id); + return ws ? $.response[200].json(ws) : nf($); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/child.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/child.ts new file mode 100644 index 000000000..32169c075 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/child.ts @@ -0,0 +1,5 @@ +import type { workspaceChildCreateV2 } from "../../../../types/paths/v2/workspaces/{id}/child.types.js"; + +export const POST: workspaceChildCreateV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects.ts new file mode 100644 index 000000000..84bf6b874 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects.ts @@ -0,0 +1,10 @@ +import type { projectsListV2 } from "../../../../types/paths/v2/workspaces/{id}/projects.types.js"; +import type { projectCreateV2 } from "../../../../types/paths/v2/workspaces/{id}/projects.types.js"; + +export const GET: projectsListV2 = async ($) => { + return $.response[200].random(); +}; + +export const POST: projectCreateV2 = async ($) => { + return $.response[201].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits.ts new file mode 100644 index 000000000..913093f01 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits.ts @@ -0,0 +1,5 @@ +import type { projectLimitsGetV2 } from "../../../../../../../types/paths/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits.types.js"; + +export const GET: projectLimitsGetV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}.ts new file mode 100644 index 000000000..219f4a3c8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}.ts @@ -0,0 +1,5 @@ +import type { projectUpdateV2 } from "../../../../../types/paths/v2/workspaces/{id}/projects/{project_id}.types.js"; + +export const PUT: projectUpdateV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts new file mode 100644 index 000000000..671c7b101 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts @@ -0,0 +1,5 @@ +import type { projectGetKeywordsV2 } from "../../../../../../../../types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.js"; + +export const POST: projectGetKeywordsV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.ts new file mode 100644 index 000000000..b09785276 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.ts @@ -0,0 +1,10 @@ +import type { projectDeleteKeywordTagsBatchV2 } from "../../../../../../../../../types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.types.js"; +import type { projectUpdateKeywordTagsBatchV2 } from "../../../../../../../../../types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.types.js"; + +export const DELETE: projectDeleteKeywordTagsBatchV2 = async ($) => { + return $.response[204].empty(); +}; + +export const PUT: projectUpdateKeywordTagsBatchV2 = async ($) => { + return $.response[204].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.ts new file mode 100644 index 000000000..ab1576d89 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.ts @@ -0,0 +1,10 @@ +import type { projectDeleteTagsBatchV2 } from "../../../../../../../../types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.js"; +import type { projectGetTagsWithSearch } from "../../../../../../../../types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.js"; + +export const DELETE: projectDeleteTagsBatchV2 = async ($) => { + return $.response[204].empty(); +}; + +export const GET: projectGetTagsWithSearch = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/resources/transfer.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/resources/transfer.ts new file mode 100644 index 000000000..6a128eb08 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{id}/resources/transfer.ts @@ -0,0 +1,5 @@ +import type { workspaceTransferResourcesV2 } from "../../../../../types/paths/v2/workspaces/{id}/resources/transfer.types.js"; + +export const POST: workspaceTransferResourcesV2 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{workspace_id}/connections/adobe-analytics.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{workspace_id}/connections/adobe-analytics.ts new file mode 100644 index 000000000..b578a3212 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{workspace_id}/connections/adobe-analytics.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsConnectionCreateV2 } from "../../../../../types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics.types.js"; + +export const POST: adobeAnalyticsConnectionCreateV2 = async ($) => { + return $.response[201].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.ts new file mode 100644 index 000000000..b2edea2e4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.ts @@ -0,0 +1,5 @@ +import type { adobeAnalyticsConnectionUpdateV2 } from "../../../../../../types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.js"; + +export const PUT: adobeAnalyticsConnectionUpdateV2 = async ($) => { + return $.response[200].empty(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts new file mode 100644 index 000000000..950925b7c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.ts @@ -0,0 +1,5 @@ +import type { projectGetKeywordsV3 } from "../../../../../../../../types/paths/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.js"; + +export const POST: projectGetKeywordsV3 = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/api-key.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/api-key.ts new file mode 100644 index 000000000..066097992 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/api-key.ts @@ -0,0 +1,5 @@ +import type { workspaceOwnerApiKeyGet } from "../../../types/paths/workspaces/{id}/api-key.types.js"; + +export const GET: workspaceOwnerApiKeyGet = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments.ts new file mode 100644 index 000000000..8fc330cee --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments.ts @@ -0,0 +1,5 @@ +import type { projectSegmentCreate } from "../../../../../types/paths/workspaces/{id}/projects/{project_id}/segments.types.js"; + +export const POST: projectSegmentCreate = async ($) => { + return $.response[201].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/copy-all-from.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/copy-all-from.ts new file mode 100644 index 000000000..bb278d631 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/copy-all-from.ts @@ -0,0 +1,5 @@ +import type { HTTP_POST } from "../../../../../../types/paths/workspaces/{id}/projects/{project_id}/segments/copy-all-from.types.js"; + +export const POST: HTTP_POST = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/copy.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/copy.ts new file mode 100644 index 000000000..40ee42e9d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/copy.ts @@ -0,0 +1,5 @@ +import type { segmentsCopyToProjects } from "../../../../../../types/paths/workspaces/{id}/projects/{project_id}/segments/copy.types.js"; + +export const POST: segmentsCopyToProjects = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/export.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/export.ts new file mode 100644 index 000000000..f267842dc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/export.ts @@ -0,0 +1,5 @@ +import type { segmentsExport } from "../../../../../../types/paths/workspaces/{id}/projects/{project_id}/segments/export.types.js"; + +export const GET: segmentsExport = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/import.ts b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/import.ts new file mode 100644 index 000000000..5f30b7e3d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/routes/workspaces/{id}/projects/{project_id}/segments/import.ts @@ -0,0 +1,5 @@ +import type { segmentsImport } from "../../../../../../types/paths/workspaces/{id}/projects/{project_id}/segments/import.types.js"; + +export const POST: segmentsImport = async ($) => { + return $.response[200].random(); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/scenarios/index.ts b/packages/spacecat-shared-user-manager-client/.counterfact/scenarios/index.ts new file mode 100644 index 000000000..28749f0c5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/scenarios/index.ts @@ -0,0 +1,54 @@ +import type { Scenario } from "../types/_.context.js"; + +/** + * Scenario scripts are plain TypeScript functions that receive the live REPL + * environment and can read or mutate server state. Run them from the REPL with: + * .scenario + */ + +/** + * Read or mutate the root context (same object routes see as $.context): + * $.context. = ; + * + * Load a context for a specific path: + * const petsCtx = $.loadContext("/pets"); + * + * Store a pre-configured route builder for later use in the REPL: + * $.routes.myRequest = $.route("/pets").method("get"); + */ + +/** + * startup() runs automatically when the server initializes, right before the + * REPL starts. Use it to seed dummy data so the server is ready to use + * immediately. It receives the same $ argument as all other scenario functions. + * + * Tip: delegate to other scenario functions and pass $ along so each function + * stays focused on a single concern. You can also pass additional arguments to + * configure them, e.g. addPets($, 20, "dog"). + * + * If you don't need a startup scenario, delete this function or leave it empty. + */ +export const startup: Scenario = ($) => { + void $; +}; + +/** + * An example scenario. To use it in the REPL, type: + * .scenario help + */ +export const help: Scenario = ($) => { + void $; + + console.log( + [ + "Scenarios are functions that populate the context object", + "and / or the REPL environment. They are intended to", + "populate your environment with specific data and", + "configurations for testing purposes.", + ].join("\n"), + ); + + console.log( + "\nScenarios (including this one) are defined in the ./scenarios directory.", + ); +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/_.context.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/_.context.ts new file mode 100644 index 000000000..76042c67b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/_.context.ts @@ -0,0 +1,29 @@ +// This file is generated by Counterfact. Do not edit manually. +import type { Context } from "../routes/_.context"; + +interface LoadContextDefinitions { + /* code generator adds additional signatures here */ + loadContext(path: "/" | `/${string}`): Context; + loadContext(path: string): Record; +} + +export interface Scenario$ { + /** Root context, same as loadContext("/") */ + readonly context: Context; + readonly loadContext: LoadContextDefinitions["loadContext"]; + /** Named route builders stored in the REPL execution context */ + readonly routes: Record; + /** Create a new route builder for a given path */ + readonly route: (path: string) => unknown; +} + +/** A scenario function that receives the live REPL environment */ +export type Scenario = ($: Scenario$) => Promise | void; + +/** Interface for Context objects defined in _.context.ts files */ +export interface Context$ { + /** Load a context object for a specific path */ + readonly loadContext: LoadContextDefinitions["loadContext"]; + /** Load a JSON file relative to this file's path */ + readonly readJson: (relativePath: string) => Promise; +} diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.APIUnitsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.APIUnitsResponse.ts new file mode 100644 index 000000000..fb0a36aa1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.APIUnitsResponse.ts @@ -0,0 +1 @@ +export type handlers_APIUnitsResponse = { api_units?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelAdminActivity.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelAdminActivity.ts new file mode 100644 index 000000000..b9bc75412 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelAdminActivity.ts @@ -0,0 +1,13 @@ +export type handlers_ActivationPanelAdminActivity = { + action?: string; + admin_email?: string; + admin_id?: number; + corporate_account_id?: number; + created_at?: string; + log_id?: number; + owner_id?: number; + section?: string; + subscription_id?: number; + user_email?: string; + workspace_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelAdminActivityResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelAdminActivityResponse.ts new file mode 100644 index 000000000..803d628c3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelAdminActivityResponse.ts @@ -0,0 +1,8 @@ +import type { handlers_ActivationPanelAdminActivity } from "./handlers.ActivationPanelAdminActivity.js"; + +export type handlers_ActivationPanelAdminActivityResponse = { + items?: Array; + limit?: number; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelBillingStatusCoreAccountId.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelBillingStatusCoreAccountId.ts new file mode 100644 index 000000000..7bf645af5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelBillingStatusCoreAccountId.ts @@ -0,0 +1,4 @@ +export type handlers_ActivationPanelBillingStatusCoreAccountId = { + corporate_account_id?: number; + subscription_id?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelOwner.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelOwner.ts new file mode 100644 index 000000000..f480ccdbc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelOwner.ts @@ -0,0 +1 @@ +export type handlers_ActivationPanelOwner = { email?: string; id?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelPermissionsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelPermissionsResponse.ts new file mode 100644 index 000000000..a1f52b698 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelPermissionsResponse.ts @@ -0,0 +1,5 @@ +import type { handlers_activationPanelPermission } from "./handlers.activationPanelPermission.js"; + +export type handlers_ActivationPanelPermissionsResponse = { + permissions?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspace.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspace.ts new file mode 100644 index 000000000..5ce2fdef7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspace.ts @@ -0,0 +1,19 @@ +import type { handlers_ActivationPanelOwner } from "./handlers.ActivationPanelOwner.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductTierWithTimestamps } from "./page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps.js"; + +export type handlers_ActivationPanelWorkspace = { + corporate_account_id?: number; + created_at?: string; + expiration_date?: string; + icon?: string; + id?: string; + last_updated_at?: string; + owner?: handlers_ActivationPanelOwner; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: Array; + status?: string; + subscription_id?: number; + subscription_rank?: number; + title?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceListResponse.ts new file mode 100644 index 000000000..1e7864cf7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_ActivationPanelWorkspace } from "./handlers.ActivationPanelWorkspace.js"; + +export type handlers_ActivationPanelWorkspaceListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceMetadata.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceMetadata.ts new file mode 100644 index 000000000..e1c3e2bcb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceMetadata.ts @@ -0,0 +1,18 @@ +export type handlers_ActivationPanelWorkspaceMetadata = { + /** + * @example "https://example.com/icon.png" + */ + icon?: string; + /** + * @example "550e8400-e29b-41d4-a716-446655440000" + */ + id?: string; + /** + * @example "" + */ + parent_id?: string; + /** + * @example "My Workspace" + */ + title?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceWithLimits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceWithLimits.ts new file mode 100644 index 000000000..ad20ad859 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ActivationPanelWorkspaceWithLimits.ts @@ -0,0 +1,33 @@ +import type { handlers_ActivationPanelWorkspaceWithLimits } from "./handlers.ActivationPanelWorkspaceWithLimits.js"; +import type { handlers_ActivationPanelOwner } from "./handlers.ActivationPanelOwner.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductTierWithTimestamps } from "./page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps.js"; + +export type handlers_ActivationPanelWorkspaceWithLimits = { + api_units?: number; + children?: Array; + corporate_account_id?: number; + created_at?: string; + expiration_date?: string; + icon?: string; + id?: string; + keywords?: number; + last_updated_at?: string; + owner?: handlers_ActivationPanelOwner; + pagespeed_urls?: number; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: Array; + projects?: number; + service_credits?: number; + status?: string; + subscription_id?: number; + subscription_rank?: number; + title?: string; + total_api_units?: number; + total_keywords?: number; + total_pagespeed_urls?: number; + total_projects?: number; + total_service_credits?: number; + total_users?: number; + users?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdminProjectsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdminProjectsResponse.ts new file mode 100644 index 000000000..2dc2b8e11 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdminProjectsResponse.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_AdminProject } from "./page-engine-backend_internal_usermanager_core_domain.AdminProject.js"; + +export type handlers_AdminProjectsResponse = { + items?: Array; + next_cursor?: string; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionCreateSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionCreateSettings.ts new file mode 100644 index 000000000..579d61285 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionCreateSettings.ts @@ -0,0 +1,16 @@ +/** + * Adobe Analytics connection settings + */ +export type handlers_AdobeAnalyticsConnectionCreateSettings = { + adobe_proxy_auth_id: string; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionCreateSettingsV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionCreateSettingsV2.ts new file mode 100644 index 000000000..70b61763b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionCreateSettingsV2.ts @@ -0,0 +1,16 @@ +/** + * Adobe Analytics connection settings (v2) with credential_id instead of adobe_proxy_auth_id + */ +export type handlers_AdobeAnalyticsConnectionCreateSettingsV2 = { + credential_id: number; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionSettings.ts new file mode 100644 index 000000000..5f6e905ba --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionSettings.ts @@ -0,0 +1,16 @@ +/** + * Adobe Analytics connection settings (public, uses credential_id) + */ +export type handlers_AdobeAnalyticsConnectionSettings = { + credential_id?: number; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name?: string; + dimension_marketing_channel_detail_name?: string; + dimension_marketing_channel_name?: string; + global_company_id?: string; + metric_bounce_rate_name?: string; + metric_target_conversion_name?: string; + metric_visits_name?: string; + rs_name?: string; + rsid?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionUpdateSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionUpdateSettings.ts new file mode 100644 index 000000000..fe456638a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionUpdateSettings.ts @@ -0,0 +1,16 @@ +/** + * Adobe Analytics connection settings for update request + */ +export type handlers_AdobeAnalyticsConnectionUpdateSettings = { + adobe_proxy_auth_id: string; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionUpdateSettingsV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionUpdateSettingsV2.ts new file mode 100644 index 000000000..48c8d86a6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsConnectionUpdateSettingsV2.ts @@ -0,0 +1,16 @@ +/** + * Adobe Analytics connection settings for update (v2) with credential_id + */ +export type handlers_AdobeAnalyticsConnectionUpdateSettingsV2 = { + credential_id: number; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateRequest.ts new file mode 100644 index 000000000..1d854e149 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateRequest.ts @@ -0,0 +1,8 @@ +/** + * Request body for validating Adobe Analytics metrics and dimensions + */ +export type handlers_AdobeAnalyticsValidateRequest = { + dimension?: string; + metric: string; + rsid: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateResponse.ts new file mode 100644 index 000000000..68055e7a5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateResponse.ts @@ -0,0 +1,7 @@ +/** + * Response for Adobe Analytics validation + */ +export type handlers_AdobeAnalyticsValidateResponse = { + message?: string; + valid?: boolean; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateV2Request.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateV2Request.ts new file mode 100644 index 000000000..d7d437999 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsValidateV2Request.ts @@ -0,0 +1,10 @@ +/** + * V2 request body for validating Adobe Analytics metrics and dimensions + */ +export type handlers_AdobeAnalyticsValidateV2Request = { + credential_id: number; + dimension?: string; + global_company_id: string; + metric: string; + rsid: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreate.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreate.ts new file mode 100644 index 000000000..c25fd3b24 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreate.ts @@ -0,0 +1,6 @@ +import type { handlers_AdobeAnalyticsConnectionCreateSettings } from "./handlers.AdobeAnalyticsConnectionCreateSettings.js"; + +export type handlers_AdobeAnalyticsWorkspaceConnectionCreate = { + project_ids?: Array; + settings?: handlers_AdobeAnalyticsConnectionCreateSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreateV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreateV2.ts new file mode 100644 index 000000000..f6a7bb46f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreateV2.ts @@ -0,0 +1,9 @@ +import type { handlers_AdobeAnalyticsConnectionCreateSettingsV2 } from "./handlers.AdobeAnalyticsConnectionCreateSettingsV2.js"; + +/** + * V2 request body for creating Adobe Analytics workspace connection (uses credential_id) + */ +export type handlers_AdobeAnalyticsWorkspaceConnectionCreateV2 = { + project_ids?: Array; + settings?: handlers_AdobeAnalyticsConnectionCreateSettingsV2; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdate.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdate.ts new file mode 100644 index 000000000..4bfad1d00 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdate.ts @@ -0,0 +1,6 @@ +import type { handlers_AdobeAnalyticsConnectionUpdateSettings } from "./handlers.AdobeAnalyticsConnectionUpdateSettings.js"; + +export type handlers_AdobeAnalyticsWorkspaceConnectionUpdate = { + project_ids?: Array; + settings?: handlers_AdobeAnalyticsConnectionUpdateSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2.ts new file mode 100644 index 000000000..924e0895e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2.ts @@ -0,0 +1,9 @@ +import type { handlers_AdobeAnalyticsConnectionUpdateSettingsV2 } from "./handlers.AdobeAnalyticsConnectionUpdateSettingsV2.js"; + +/** + * V2 request body for updating Adobe Analytics workspace connection (uses credential_id) + */ +export type handlers_AdobeAnalyticsWorkspaceConnectionUpdateV2 = { + project_ids?: Array; + settings?: handlers_AdobeAnalyticsConnectionUpdateSettingsV2; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeBulkStatusRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeBulkStatusRequest.ts new file mode 100644 index 000000000..619eb18ac --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeBulkStatusRequest.ts @@ -0,0 +1,3 @@ +export type handlers_AdobeBulkStatusRequest = { + adobe_proxy_auth_ids: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeBulkStatusResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeBulkStatusResponse.ts new file mode 100644 index 000000000..890ed152c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeBulkStatusResponse.ts @@ -0,0 +1,5 @@ +import type { handlers_AdobeCredentialStatusInfo } from "./handlers.AdobeCredentialStatusInfo.js"; + +export type handlers_AdobeBulkStatusResponse = { + statuses?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCompanyInfo.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCompanyInfo.ts new file mode 100644 index 000000000..ea9ec69b3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCompanyInfo.ts @@ -0,0 +1,4 @@ +export type handlers_AdobeCompanyInfo = { + company_name?: string; + global_company_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialCreatedResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialCreatedResponse.ts new file mode 100644 index 000000000..d9be5a5f2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialCreatedResponse.ts @@ -0,0 +1,6 @@ +/** + * V2 credential creation response returning internal credential_id + */ +export type handlers_AdobeCredentialCreatedResponse = { + credential_id?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialStatusInfo.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialStatusInfo.ts new file mode 100644 index 000000000..92c3a3b25 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialStatusInfo.ts @@ -0,0 +1,7 @@ +import type { handlers_AdobeOrganizationInfo } from "./handlers.AdobeOrganizationInfo.js"; + +export type handlers_AdobeCredentialStatusInfo = { + adobe_proxy_auth_id?: string; + organizations?: Array; + status?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialsCreateRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialsCreateRequest.ts new file mode 100644 index 000000000..fe921e258 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialsCreateRequest.ts @@ -0,0 +1,4 @@ +export type handlers_AdobeCredentialsCreateRequest = { + client_id: string; + client_secret: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialsInfo.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialsInfo.ts new file mode 100644 index 000000000..93bc17fa6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeCredentialsInfo.ts @@ -0,0 +1 @@ +export type handlers_AdobeCredentialsInfo = { adobe_proxy_auth_id?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeOrganizationInfo.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeOrganizationInfo.ts new file mode 100644 index 000000000..3943249cf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeOrganizationInfo.ts @@ -0,0 +1,6 @@ +import type { handlers_AdobeCompanyInfo } from "./handlers.AdobeCompanyInfo.js"; + +export type handlers_AdobeOrganizationInfo = { + companies?: Array; + organization_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeReportSuitesResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeReportSuitesResponse.ts new file mode 100644 index 000000000..f93a05ee2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.AdobeReportSuitesResponse.ts @@ -0,0 +1,9 @@ +import type { handlers_ReportSuite } from "./handlers.ReportSuite.js"; + +export type handlers_AdobeReportSuitesResponse = { + content?: Array; + page?: number; + size?: number; + totalElements?: number; + totalPages?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BaseProject.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BaseProject.ts new file mode 100644 index 000000000..6ca802ef5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BaseProject.ts @@ -0,0 +1,7 @@ +export type handlers_BaseProject = { + color?: string; + domain?: string; + is_draft?: boolean; + title?: string; + total_invited_members?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasicUserProfile.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasicUserProfile.ts new file mode 100644 index 000000000..a28ba2688 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasicUserProfile.ts @@ -0,0 +1,6 @@ +export type handlers_BasicUserProfile = { + email?: string; + id?: number; + name?: string; + profile_pic?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasicWorkspaceMember.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasicWorkspaceMember.ts new file mode 100644 index 000000000..a66cd3ff5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasicWorkspaceMember.ts @@ -0,0 +1,6 @@ +export type handlers_BasicWorkspaceMember = { + email?: string; + id?: number; + name?: string; + profile_pic?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasketResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasketResponse.ts new file mode 100644 index 000000000..ff01cfbb9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BasketResponse.ts @@ -0,0 +1,40 @@ +import type { rbac_RoleName } from "./rbac.RoleName.js"; + +export type handlers_BasketResponse = { + /** + * BasketID is the id of the keywords-list + */ + basket_id?: number; + /** + * BasketType is the type of the keywords-list + */ + basket_type?: string; + /** + * KeywordsCount is the count of keywords in the keywords-list + */ + keywords_count?: number; + /** + * Name is the name of the keywords-list + */ + name?: string; + /** + * OwnerID is the id of the owner of the keywords-list + */ + owner_id?: number; + /** + * Role is the role of the user in the keywords-list. Namely, role/keywords_list/editor, role/keywords_list/viewer + */ + role?: rbac_RoleName; + /** + * SharedWith is the count of users with whom the keywords-list is shared + */ + shared_with?: number; + /** + * UpdatedAt is the last update time of the keywords-list + */ + updated_at?: string; + /** + * UserID is the id of the user of the keywords-list + */ + user_id?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BatchDeleteReferenceRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BatchDeleteReferenceRequest.ts new file mode 100644 index 000000000..e4e3b676e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BatchDeleteReferenceRequest.ts @@ -0,0 +1,5 @@ +export type handlers_BatchDeleteReferenceRequest = { + all?: boolean; + cascade?: boolean; + ids?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BatchReferenceRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BatchReferenceRequest.ts new file mode 100644 index 000000000..c4c85e506 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.BatchReferenceRequest.ts @@ -0,0 +1,5 @@ +import type { handlers_ReferenceRequest } from "./handlers.ReferenceRequest.js"; + +export type handlers_BatchReferenceRequest = { + items: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Condition.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Condition.ts new file mode 100644 index 000000000..057527cb2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Condition.ts @@ -0,0 +1,9 @@ +import type { handlers_SubCondition } from "./handlers.SubCondition.js"; + +export type handlers_Condition = { + column_name: string; + operator: string; + sub_conditions?: Array; + value: string; + values: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ConsumedUnits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ConsumedUnits.ts new file mode 100644 index 000000000..1c025d9fa --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ConsumedUnits.ts @@ -0,0 +1 @@ +export type handlers_ConsumedUnits = { users?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CopyAllSegmentsRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CopyAllSegmentsRequest.ts new file mode 100644 index 000000000..ff5daf67c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CopyAllSegmentsRequest.ts @@ -0,0 +1 @@ +export type handlers_CopyAllSegmentsRequest = { source_project_id: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CopySegmentsRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CopySegmentsRequest.ts new file mode 100644 index 000000000..a970ee813 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CopySegmentsRequest.ts @@ -0,0 +1,4 @@ +export type handlers_CopySegmentsRequest = { + segment_ids: Array; + target_project_ids: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CoreUser.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CoreUser.ts new file mode 100644 index 000000000..5d8265c8d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CoreUser.ts @@ -0,0 +1,10 @@ +export type handlers_CoreUser = { + activated?: boolean; + company?: string; + email?: string; + id?: number; + locale?: string; + name?: string; + profession?: string; + timezone_new?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CoreUserWithAPIKey.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CoreUserWithAPIKey.ts new file mode 100644 index 000000000..1dec59be0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.CoreUserWithAPIKey.ts @@ -0,0 +1,11 @@ +export type handlers_CoreUserWithAPIKey = { + activated?: boolean; + api_key?: string; + company?: string; + email?: string; + id?: number; + locale?: string; + name?: string; + profession?: string; + timezone_new?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Country.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Country.ts new file mode 100644 index 000000000..7d6a36c99 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Country.ts @@ -0,0 +1 @@ +export type handlers_Country = { code?: string; name?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Dimension.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Dimension.ts new file mode 100644 index 000000000..d0f4ce1d7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Dimension.ts @@ -0,0 +1,13 @@ +export type handlers_Dimension = { + category?: string; + description?: string; + extra_title_info?: string; + id?: string; + name?: string; + pathable?: boolean; + reportable?: Array; + segmentable?: boolean; + support?: Array; + title?: string; + type?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Filter.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Filter.ts new file mode 100644 index 000000000..d5a03f05f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Filter.ts @@ -0,0 +1,8 @@ +import type { handlers_Filter } from "./handlers.Filter.js"; + +export type handlers_Filter = { + column_name?: string; + filters?: Array; + operator: string; + value: unknown; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GetLimitsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GetLimitsResponse.ts new file mode 100644 index 000000000..c708749d0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GetLimitsResponse.ts @@ -0,0 +1,3 @@ +import type { handlers_Limits } from "./handlers.Limits.js"; + +export type handlers_GetLimitsResponse = { limits?: handlers_Limits }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAdsConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAdsConnectionSettings.ts new file mode 100644 index 000000000..d2ce06fdd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAdsConnectionSettings.ts @@ -0,0 +1,10 @@ +/** + * Google Ads connection settings + */ +export type handlers_GoogleAdsConnectionSettings = { + customer_id: number; + customer_title: string; + gap_email: string; + gap_user_id: string; + mcc_id: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAdsWorkspaceConnectionCreate.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAdsWorkspaceConnectionCreate.ts new file mode 100644 index 000000000..a4f1184f9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAdsWorkspaceConnectionCreate.ts @@ -0,0 +1,6 @@ +import type { handlers_GoogleAdsConnectionSettings } from "./handlers.GoogleAdsConnectionSettings.js"; + +export type handlers_GoogleAdsWorkspaceConnectionCreate = { + project_ids?: Array; + settings?: handlers_GoogleAdsConnectionSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAnalyticsConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAnalyticsConnectionSettings.ts new file mode 100644 index 000000000..ed70b3118 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAnalyticsConnectionSettings.ts @@ -0,0 +1,11 @@ +/** + * Google Analytics connection settings + */ +export type handlers_GoogleAnalyticsConnectionSettings = { + ga_account: string; + ga_account_title: string; + gap_email: string; + gap_user_id: string; + property: string; + property_title: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAnalyticsWorkspaceConnectionCreate.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAnalyticsWorkspaceConnectionCreate.ts new file mode 100644 index 000000000..83e8e4daa --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleAnalyticsWorkspaceConnectionCreate.ts @@ -0,0 +1,6 @@ +import type { handlers_GoogleAnalyticsConnectionSettings } from "./handlers.GoogleAnalyticsConnectionSettings.js"; + +export type handlers_GoogleAnalyticsWorkspaceConnectionCreate = { + project_ids?: Array; + settings?: handlers_GoogleAnalyticsConnectionSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleConsoleWorkspaceConnectionCreate.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleConsoleWorkspaceConnectionCreate.ts new file mode 100644 index 000000000..c7636189b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleConsoleWorkspaceConnectionCreate.ts @@ -0,0 +1,6 @@ +import type { handlers_GoogleSearchConsoleConnectionSettings } from "./handlers.GoogleSearchConsoleConnectionSettings.js"; + +export type handlers_GoogleConsoleWorkspaceConnectionCreate = { + project_ids?: Array; + settings?: handlers_GoogleSearchConsoleConnectionSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleSearchConsoleConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleSearchConsoleConnectionSettings.ts new file mode 100644 index 000000000..a2f3edc9c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.GoogleSearchConsoleConnectionSettings.ts @@ -0,0 +1,8 @@ +/** + * Google Console connection settings + */ +export type handlers_GoogleSearchConsoleConnectionSettings = { + gap_email: string; + gap_property: string; + gap_user_id: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.HasChildrenResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.HasChildrenResponse.ts new file mode 100644 index 000000000..40394d6bd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.HasChildrenResponse.ts @@ -0,0 +1 @@ +export type handlers_HasChildrenResponse = { has_children?: boolean }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.IDsForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.IDsForm.ts new file mode 100644 index 000000000..9f605a5f2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.IDsForm.ts @@ -0,0 +1 @@ +export type handlers_IDsForm = { ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalAdobeAnalyticsConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalAdobeAnalyticsConnectionSettings.ts new file mode 100644 index 000000000..c5aaf31d1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalAdobeAnalyticsConnectionSettings.ts @@ -0,0 +1,16 @@ +/** + * Adobe Analytics connection settings (internal, uses adobe_proxy_auth_id) + */ +export type handlers_InternalAdobeAnalyticsConnectionSettings = { + adobe_proxy_auth_id?: string; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name?: string; + dimension_marketing_channel_detail_name?: string; + dimension_marketing_channel_name?: string; + global_company_id?: string; + metric_bounce_rate_name?: string; + metric_target_conversion_name?: string; + metric_visits_name?: string; + rs_name?: string; + rsid?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalBenchmark.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalBenchmark.ts new file mode 100644 index 000000000..23fd9f849 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalBenchmark.ts @@ -0,0 +1,10 @@ +export type handlers_InternalBenchmark = { + benchmark_id?: string; + created_at?: string; + database?: string; + device?: string; + project_id?: string; + target_id?: string; + url?: string; + url_type?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalESUsersList.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalESUsersList.ts new file mode 100644 index 000000000..8ec07c50b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalESUsersList.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_User } from "./page-engine-backend_internal_usermanager_core_domain.User.js"; + +export type handlers_InternalESUsersList = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalProfileUpdate.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalProfileUpdate.ts new file mode 100644 index 000000000..37a8957d8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalProfileUpdate.ts @@ -0,0 +1,19 @@ +import type { handlers_Country } from "./handlers.Country.js"; +import type { handlers_UserJob } from "./handlers.UserJob.js"; + +export type handlers_InternalProfileUpdate = { + availability?: string; + company?: string; + country?: handlers_Country; + description?: string; + es_type?: string; + jobs?: Array; + languages?: Array; + linked_in?: string; + name?: string; + phone?: string; + profession?: string; + profile_pic?: string; + skills?: Array; + time_zone?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalProjectsList.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalProjectsList.ts new file mode 100644 index 000000000..36350c68e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalProjectsList.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_InternalProject } from "./page-engine-backend_internal_usermanager_core_domain.InternalProject.js"; + +export type handlers_InternalProjectsList = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalTarget.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalTarget.ts new file mode 100644 index 000000000..3e98485ee --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalTarget.ts @@ -0,0 +1,10 @@ +export type handlers_InternalTarget = { + campaign_id?: string; + created_at?: string; + database?: string; + device?: string; + domains?: Array; + project_domain?: string; + project_id?: string; + target_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalWorkspaceConnectionDetails.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalWorkspaceConnectionDetails.ts new file mode 100644 index 000000000..5a0006802 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalWorkspaceConnectionDetails.ts @@ -0,0 +1,16 @@ +import type { handlers_WorkspaceConnectionOwner } from "./handlers.WorkspaceConnectionOwner.js"; +import type { handlers_InternalWorkspaceConnectionSettings } from "./handlers.InternalWorkspaceConnectionSettings.js"; +import type { handlers_WorkspaceConnectionStatus } from "./handlers.WorkspaceConnectionStatus.js"; + +/** + * A connection for a particular workspace (internal) + */ +export type handlers_InternalWorkspaceConnectionDetails = { + data_source?: string; + id?: number; + owner?: handlers_WorkspaceConnectionOwner; + project_ids?: Array; + settings?: handlers_InternalWorkspaceConnectionSettings; + status?: handlers_WorkspaceConnectionStatus; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalWorkspaceConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalWorkspaceConnectionSettings.ts new file mode 100644 index 000000000..0bdd6e6b5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.InternalWorkspaceConnectionSettings.ts @@ -0,0 +1,16 @@ +import type { handlers_InternalAdobeAnalyticsConnectionSettings } from "./handlers.InternalAdobeAnalyticsConnectionSettings.js"; +import type { handlers_GoogleAdsConnectionSettings } from "./handlers.GoogleAdsConnectionSettings.js"; +import type { handlers_GoogleAnalyticsConnectionSettings } from "./handlers.GoogleAnalyticsConnectionSettings.js"; +import type { handlers_GoogleSearchConsoleConnectionSettings } from "./handlers.GoogleSearchConsoleConnectionSettings.js"; +import type { handlers_LogFileAnalysisConnectionSettings } from "./handlers.LogFileAnalysisConnectionSettings.js"; + +/** + * Connection settings for internal use (adobe analytics returns adobe_proxy_auth_id) + */ +export type handlers_InternalWorkspaceConnectionSettings = { + adobe_analytics?: handlers_InternalAdobeAnalyticsConnectionSettings; + google_ads?: handlers_GoogleAdsConnectionSettings; + google_analytics?: handlers_GoogleAnalyticsConnectionSettings; + google_console?: handlers_GoogleSearchConsoleConnectionSettings; + log_file_analysis?: handlers_LogFileAnalysisConnectionSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordAddRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordAddRequest.ts new file mode 100644 index 000000000..c4dab48a3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordAddRequest.ts @@ -0,0 +1,3 @@ +import type { handlers_Keyword } from "./handlers.Keyword.js"; + +export type handlers_KeywordAddRequest = { keywords: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordCountResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordCountResponse.ts new file mode 100644 index 000000000..212a96961 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordCountResponse.ts @@ -0,0 +1 @@ +export type handlers_KeywordCountResponse = { added_keyword_count?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordDeleteRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordDeleteRequest.ts new file mode 100644 index 000000000..fcea79d5f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordDeleteRequest.ts @@ -0,0 +1,5 @@ +import type { handlers_KeywordID } from "./handlers.KeywordID.js"; + +export type handlers_KeywordDeleteRequest = { + keyword_ids: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordDeleteResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordDeleteResponse.ts new file mode 100644 index 000000000..66c3cef45 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordDeleteResponse.ts @@ -0,0 +1,5 @@ +import type { handlers_KeywordID } from "./handlers.KeywordID.js"; + +export type handlers_KeywordDeleteResponse = { + deleted_keyword_ids?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordID.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordID.ts new file mode 100644 index 000000000..c4cbb1f6c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordID.ts @@ -0,0 +1,10 @@ +export type handlers_KeywordID = { + /** + * Database is the database of the keyword. Max 2 characters are allowed + */ + database: string; + /** + * Phrase is the keyword name. Max 90 characters are allowed + */ + phrase: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordResponse.ts new file mode 100644 index 000000000..028564e97 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordResponse.ts @@ -0,0 +1,15 @@ +import type { handlers_KeywordID } from "./handlers.KeywordID.js"; + +export type handlers_KeywordResponse = { + click_potential?: number; + created_at?: string; + difficulty100?: number; + id: handlers_KeywordID; + status?: string; + /** + * Tags max 5 tags are allowed, each tag can have max 50 characters + */ + tags?: Array; + updated_at?: string; + volume?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListCreateRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListCreateRequest.ts new file mode 100644 index 000000000..8a1e29a47 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListCreateRequest.ts @@ -0,0 +1,6 @@ +export type handlers_KeywordsListCreateRequest = { + /** + * Name of the keywords-list. Max 100 characters are allowed + */ + name: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListCreateResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListCreateResponse.ts new file mode 100644 index 000000000..b1da39ac2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListCreateResponse.ts @@ -0,0 +1,5 @@ +export type handlers_KeywordsListCreateResponse = { + basket_id?: number; + name?: string; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListDatabasesResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListDatabasesResponse.ts new file mode 100644 index 000000000..be21b51fe --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListDatabasesResponse.ts @@ -0,0 +1,3 @@ +export type handlers_KeywordsListDatabasesResponse = { + databases?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListDeleteRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListDeleteRequest.ts new file mode 100644 index 000000000..5987f17bb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListDeleteRequest.ts @@ -0,0 +1 @@ +export type handlers_KeywordsListDeleteRequest = { basket_ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListRenameRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListRenameRequest.ts new file mode 100644 index 000000000..deaeb2a65 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListRenameRequest.ts @@ -0,0 +1,6 @@ +export type handlers_KeywordsListRenameRequest = { + /** + * Name of the keywords-list. Max 100 characters are allowed + */ + name: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListRenameResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListRenameResponse.ts new file mode 100644 index 000000000..ac59f71d8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsListRenameResponse.ts @@ -0,0 +1,5 @@ +export type handlers_KeywordsListRenameResponse = { + basket_id?: number; + name?: string; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsResponse.ts new file mode 100644 index 000000000..36c408341 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_KeywordResponse } from "./handlers.KeywordResponse.js"; + +export type handlers_KeywordsResponse = { + keywords?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsRelationsDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsRelationsDeleteForm.ts new file mode 100644 index 000000000..662ebef99 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsRelationsDeleteForm.ts @@ -0,0 +1,3 @@ +export type handlers_KeywordsTagsRelationsDeleteForm = { + relations: Array>; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsRequest.ts new file mode 100644 index 000000000..3b3ed267a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsRequest.ts @@ -0,0 +1,6 @@ +import type { handlers_KeywordID } from "./handlers.KeywordID.js"; + +export type handlers_KeywordsTagsRequest = { + keyword_ids: Array; + tags: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsResponse.ts new file mode 100644 index 000000000..121ce53db --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsResponse.ts @@ -0,0 +1,3 @@ +import type { handlers_Keyword } from "./handlers.Keyword.js"; + +export type handlers_KeywordsTagsResponse = { items?: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsUpdateRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsUpdateRequest.ts new file mode 100644 index 000000000..8589e2890 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.KeywordsTagsUpdateRequest.ts @@ -0,0 +1,13 @@ +import type { handlers_KeywordID } from "./handlers.KeywordID.js"; + +export type handlers_KeywordsTagsUpdateRequest = { + keyword_id: handlers_KeywordID; + /** + * TagsCreate max 5 tags are allowed, each tag can have max 50 characters + */ + tags_create?: Array; + /** + * TagsDelete max 5 tags are allowed, each tag can have max 50 characters + */ + tags_delete?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Language.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Language.ts new file mode 100644 index 000000000..fda392fa7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Language.ts @@ -0,0 +1 @@ +export type handlers_Language = { code?: string; name?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Limits.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Limits.ts new file mode 100644 index 000000000..44e6e4ec7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Limits.ts @@ -0,0 +1,11 @@ +import type { handlers_UsedLimit } from "./handlers.UsedLimit.js"; +import type { handlers_UsedLimitWithDrafted } from "./handlers.UsedLimitWithDrafted.js"; + +export type handlers_Limits = { + api_units?: handlers_UsedLimit; + keywords?: handlers_UsedLimitWithDrafted; + pagespeed_urls?: handlers_UsedLimitWithDrafted; + projects?: handlers_UsedLimitWithDrafted; + service_units?: handlers_UsedLimit; + users?: handlers_UsedLimitWithDrafted; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Location.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Location.ts new file mode 100644 index 000000000..9cdc77800 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Location.ts @@ -0,0 +1 @@ +export type handlers_Location = { id?: number; name?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisConnectionSettings.ts new file mode 100644 index 000000000..5e7bddb8a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisConnectionSettings.ts @@ -0,0 +1,12 @@ +import type { handlers_LogFileAnalysisFallbackValues } from "./handlers.LogFileAnalysisFallbackValues.js"; +import type { handlers_LogFileAnalysisIngestSchema } from "./handlers.LogFileAnalysisIngestSchema.js"; + +/** + * Log file analysis connection settings + */ +export type handlers_LogFileAnalysisConnectionSettings = { + connectionName: string; + deliveryType?: string; + fallbackValues?: handlers_LogFileAnalysisFallbackValues; + ingestSchema?: handlers_LogFileAnalysisIngestSchema; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisConnectorStatusPayload.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisConnectorStatusPayload.ts new file mode 100644 index 000000000..f8381ab68 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisConnectorStatusPayload.ts @@ -0,0 +1,7 @@ +/** + * Connector-reported status for a log file analysis connection (internal) + */ +export type handlers_LogFileAnalysisConnectorStatusPayload = { + message?: string; + type: "success" | "error"; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisFallbackValues.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisFallbackValues.ts new file mode 100644 index 000000000..4ec7b1360 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisFallbackValues.ts @@ -0,0 +1,6 @@ +export type handlers_LogFileAnalysisFallbackValues = { + hostname?: string; + protocolSchema?: string; + time?: string; + timezone?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestField.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestField.ts new file mode 100644 index 000000000..b976a99c6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestField.ts @@ -0,0 +1,6 @@ +export type handlers_LogFileAnalysisIngestField = { + extracts?: Array; + key?: string; + position?: number; + template?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestParser.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestParser.ts new file mode 100644 index 000000000..789ceb879 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestParser.ts @@ -0,0 +1,7 @@ +import type { handlers_LogFileAnalysisPreProcessing } from "./handlers.LogFileAnalysisPreProcessing.js"; + +export type handlers_LogFileAnalysisIngestParser = { + delimiter?: "space" | "pipe" | "tab" | "semicolum" | "comma"; + preProcessing?: handlers_LogFileAnalysisPreProcessing; + type: "json" | "jsonp" | "text"; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestSchema.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestSchema.ts new file mode 100644 index 000000000..dc89d5645 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisIngestSchema.ts @@ -0,0 +1,8 @@ +import type { handlers_LogFileAnalysisIngestField } from "./handlers.LogFileAnalysisIngestField.js"; +import type { handlers_LogFileAnalysisIngestParser } from "./handlers.LogFileAnalysisIngestParser.js"; + +export type handlers_LogFileAnalysisIngestSchema = { + example?: string; + fields: Array; + parser: handlers_LogFileAnalysisIngestParser; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisPreProcessing.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisPreProcessing.ts new file mode 100644 index 000000000..6e99c1e3d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisPreProcessing.ts @@ -0,0 +1 @@ +export type handlers_LogFileAnalysisPreProcessing = { type?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload.ts new file mode 100644 index 000000000..f524db892 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload.ts @@ -0,0 +1,6 @@ +import type { handlers_LogFileAnalysisConnectionSettings } from "./handlers.LogFileAnalysisConnectionSettings.js"; + +export type handlers_LogFileAnalysisWorkspaceConnectionPayload = { + project_ids: Array; + settings: handlers_LogFileAnalysisConnectionSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Metric.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Metric.ts new file mode 100644 index 000000000..97324d4c6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Metric.ts @@ -0,0 +1,13 @@ +export type handlers_Metric = { + allocation?: boolean; + calculated?: boolean; + category?: string; + description?: string; + id?: string; + name?: string; + precision?: number; + segmentable?: boolean; + support?: Array; + title?: string; + type?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.NamedKeywordsFindForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.NamedKeywordsFindForm.ts new file mode 100644 index 000000000..489c72e59 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.NamedKeywordsFindForm.ts @@ -0,0 +1 @@ +export type handlers_NamedKeywordsFindForm = { keywords: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.NamedKeywordsFindResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.NamedKeywordsFindResponse.ts new file mode 100644 index 000000000..4d1282aa3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.NamedKeywordsFindResponse.ts @@ -0,0 +1,6 @@ +import type { handlers_keyword } from "./handlers.keyword.js"; + +export type handlers_NamedKeywordsFindResponse = { + keywords?: Array; + not_found?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.PreferredURLsUploadResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.PreferredURLsUploadResponse.ts new file mode 100644 index 000000000..004679090 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.PreferredURLsUploadResponse.ts @@ -0,0 +1,3 @@ +export type handlers_PreferredURLsUploadResponse = { + updated_keywords?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ProjectConnectionResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ProjectConnectionResponse.ts new file mode 100644 index 000000000..a6112d989 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ProjectConnectionResponse.ts @@ -0,0 +1 @@ +export type handlers_ProjectConnectionResponse = { id?: number; type?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ReferenceRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ReferenceRequest.ts new file mode 100644 index 000000000..f9c1fb48d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ReferenceRequest.ts @@ -0,0 +1,5 @@ +export type handlers_ReferenceRequest = { + id: string; + references: Array; + replace?: boolean; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ReportSuite.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ReportSuite.ts new file mode 100644 index 000000000..8bf977505 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ReportSuite.ts @@ -0,0 +1,10 @@ +export type handlers_ReportSuite = { + calendar_type?: string; + collection_item_type?: string; + currency?: string; + name?: string; + parent_rsid?: string; + rsid?: string; + timezone_zoneinfo?: string; + virtual_report_suite?: boolean; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.RequiredUserUnitsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.RequiredUserUnitsResponse.ts new file mode 100644 index 000000000..c6aaa1853 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.RequiredUserUnitsResponse.ts @@ -0,0 +1 @@ +export type handlers_RequiredUserUnitsResponse = { required_units?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentInternalResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentInternalResponse.ts new file mode 100644 index 000000000..29bbb0a09 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentInternalResponse.ts @@ -0,0 +1,11 @@ +import type { handlers_Condition } from "./handlers.Condition.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Filter } from "./page-engine-backend_internal_usermanager_core_domain.Filter.js"; + +export type handlers_SegmentInternalResponse = { + conditions?: Array; + created_at?: string; + filters?: page_engine_backend_internal_usermanager_core_domain_Filter; + id?: string; + name?: string; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListByWorkspaceResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListByWorkspaceResponse.ts new file mode 100644 index 000000000..b6e2f1e1d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListByWorkspaceResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_SegmentWithProjectResponse } from "./handlers.SegmentWithProjectResponse.js"; + +export type handlers_SegmentListByWorkspaceResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListInternalResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListInternalResponse.ts new file mode 100644 index 000000000..ecd7b0574 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListInternalResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_SegmentInternalResponse } from "./handlers.SegmentInternalResponse.js"; + +export type handlers_SegmentListInternalResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListResponse.ts new file mode 100644 index 000000000..a6ee1d593 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_SegmentResponse } from "./handlers.SegmentResponse.js"; + +export type handlers_SegmentListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentResponse.ts new file mode 100644 index 000000000..17a4b8b37 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentResponse.ts @@ -0,0 +1,11 @@ +import type { handlers_Condition } from "./handlers.Condition.js"; +import type { handlers_Filter } from "./handlers.Filter.js"; + +export type handlers_SegmentResponse = { + conditions?: Array; + created_at?: string; + filters?: handlers_Filter; + id?: string; + name?: string; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentUpsertForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentUpsertForm.ts new file mode 100644 index 000000000..8412db8b2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentUpsertForm.ts @@ -0,0 +1,11 @@ +import type { handlers_Condition } from "./handlers.Condition.js"; +import type { handlers_Filter } from "./handlers.Filter.js"; + +export type handlers_SegmentUpsertForm = { + conditions?: Array; + /** + * todo: after conditions removed this field should be required. + */ + filters?: handlers_Filter; + name: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentWithProjectResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentWithProjectResponse.ts new file mode 100644 index 000000000..90143c538 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SegmentWithProjectResponse.ts @@ -0,0 +1,13 @@ +import type { handlers_Condition } from "./handlers.Condition.js"; +import type { handlers_Filter } from "./handlers.Filter.js"; + +export type handlers_SegmentWithProjectResponse = { + conditions?: Array; + created_at?: string; + filters?: handlers_Filter; + id?: string; + name?: string; + project_id?: string; + project_name?: string; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SubCondition.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SubCondition.ts new file mode 100644 index 000000000..17fa2fc3e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.SubCondition.ts @@ -0,0 +1,6 @@ +import type { handlers_Condition } from "./handlers.Condition.js"; + +export type handlers_SubCondition = { + condition: handlers_Condition; + logic_operator: "and" | "or"; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TagsTreeResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TagsTreeResponse.ts new file mode 100644 index 000000000..12bd5aee6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TagsTreeResponse.ts @@ -0,0 +1,3 @@ +import type { handlers_tagTreeItem } from "./handlers.tagTreeItem.js"; + +export type handlers_TagsTreeResponse = { items?: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TagsTreeResponseV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TagsTreeResponseV2.ts new file mode 100644 index 000000000..2141ae622 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TagsTreeResponseV2.ts @@ -0,0 +1,5 @@ +import type { handlers_tagTreeItemV2 } from "./handlers.tagTreeItemV2.js"; + +export type handlers_TagsTreeResponseV2 = { + items?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Target.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Target.ts new file mode 100644 index 000000000..9f23eadc5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Target.ts @@ -0,0 +1,17 @@ +import type { handlers_TargetLanguage } from "./handlers.TargetLanguage.js"; +import type { handlers_Location } from "./handlers.Location.js"; + +export type handlers_Target = { + benchmarks_count?: number; + campaign_id?: string; + created_at?: string; + database?: string; + device?: string; + domain?: string; + id?: string; + keywords_count?: number; + language?: handlers_TargetLanguage; + location?: handlers_Location; + name?: string; + volume_type?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetLanguage.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetLanguage.ts new file mode 100644 index 000000000..d8bc77f44 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetLanguage.ts @@ -0,0 +1 @@ +export type handlers_TargetLanguage = { id?: number; name?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetMetadata.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetMetadata.ts new file mode 100644 index 000000000..226b11bcd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetMetadata.ts @@ -0,0 +1,11 @@ +import type { handlers_TargetLanguage } from "./handlers.TargetLanguage.js"; +import type { handlers_Location } from "./handlers.Location.js"; + +export type handlers_TargetMetadata = { + database?: string; + device?: string; + id?: string; + language?: handlers_TargetLanguage; + location?: handlers_Location; + name?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetsStats.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetsStats.ts new file mode 100644 index 000000000..2bd3d6454 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TargetsStats.ts @@ -0,0 +1,7 @@ +import type { handlers_TargetMetadata } from "./handlers.TargetMetadata.js"; + +export type handlers_TargetsStats = { + draft_targets_count?: number; + target?: handlers_TargetMetadata; + targets_count?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Transaction.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Transaction.ts new file mode 100644 index 000000000..050c92639 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.Transaction.ts @@ -0,0 +1,18 @@ +export type handlers_Transaction = { + balance_after?: number; + balance_before?: number; + date?: string; + id?: string; + iid?: number; + operation?: string; + owner_id?: number; + owner_name?: string; + receipt_id?: number; + receipt_name?: string; + reference_transaction_id?: string; + service_credits?: number; + service_id?: string; + service_type?: string; + title?: string; + workspace_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCancelForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCancelForm.ts new file mode 100644 index 000000000..f3e5d3fd2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCancelForm.ts @@ -0,0 +1 @@ +export type handlers_TransactionsCancelForm = { service_credits: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCreateForm.ts new file mode 100644 index 000000000..f0364cd0e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCreateForm.ts @@ -0,0 +1,9 @@ +export type handlers_TransactionsCreateForm = { + owner_id: number; + receipt_id?: number; + service_credits: number; + service_id: string; + service_type: string; + title?: string; + workspace_id: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCreateFormV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCreateFormV2.ts new file mode 100644 index 000000000..19c6cbb2c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsCreateFormV2.ts @@ -0,0 +1,13 @@ +import type { handlers_TxProductLimit } from "./handlers.TxProductLimit.js"; + +export type handlers_TransactionsCreateFormV2 = { + amount: number; + global_limit_key?: string; + owner_id?: number; + product_limit?: handlers_TxProductLimit; + receipt_id?: number; + service_id: string; + service_type: string; + title?: string; + workspace_id: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsListForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsListForm.ts new file mode 100644 index 000000000..9bd5c2bc3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsListForm.ts @@ -0,0 +1,38 @@ +export type handlers_TransactionsListForm = { + /** + * Must have YYYY-MM-DD format + * @example "2023-10-24" + */ + end?: string; + /** + * Must be debit or credit + * @example ["debit","credit"] + */ + operations?: Array; + /** + * @example [123,456] + */ + owners?: Array; + /** + * @example [123,456] + */ + receipts?: Array; + /** + * Must be seo_workflow, job_hourly, job_fixed or service_fee + * @example ["seo_workflow","job_hourly","job_fixed","service_fee"] + */ + service_types?: Array; + /** + * Must have YYYY-MM-DD format + * @example "2023-10-24" + */ + start?: string; + /** + * @example "some title" + */ + title?: string; + /** + * @example ["eab40b25-ec97-4efb-91ea-dbcc6153a721","eab40b25-ec97-4efb-91ea-dbcc6153a722"] + */ + workspaces?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsRefundForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsRefundForm.ts new file mode 100644 index 000000000..ab5101c3a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TransactionsRefundForm.ts @@ -0,0 +1 @@ +export type handlers_TransactionsRefundForm = { amount: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TxProductLimit.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TxProductLimit.ts new file mode 100644 index 000000000..5f5fa0583 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.TxProductLimit.ts @@ -0,0 +1,12 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type handlers_TxProductLimit = { + /** + * @example "pages" + */ + enterprise_limit_key?: string; + /** + * @example "si" + */ + product_id?: page_engine_backend_internal_usermanager_core_domain_ProductID; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UsedLimit.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UsedLimit.ts new file mode 100644 index 000000000..c17b02e71 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UsedLimit.ts @@ -0,0 +1 @@ +export type handlers_UsedLimit = { total?: number; used?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UsedLimitWithDrafted.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UsedLimitWithDrafted.ts new file mode 100644 index 000000000..f6ddc372d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UsedLimitWithDrafted.ts @@ -0,0 +1,5 @@ +export type handlers_UsedLimitWithDrafted = { + drafted?: number; + total?: number; + used?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserJob.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserJob.ts new file mode 100644 index 000000000..43ba50cb0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserJob.ts @@ -0,0 +1,7 @@ +export type handlers_UserJob = { + description?: string; + end?: string; + id?: string; + name?: string; + start?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserProfile.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserProfile.ts new file mode 100644 index 000000000..560bfe9d6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserProfile.ts @@ -0,0 +1,27 @@ +import type { handlers_Country } from "./handlers.Country.js"; +import type { handlers_UserJob } from "./handlers.UserJob.js"; +import type { handlers_UserProject } from "./handlers.UserProject.js"; +import type { handlers_UserWorkspace } from "./handlers.UserWorkspace.js"; + +export type handlers_UserProfile = { + availability?: string; + categories?: Array; + company?: string; + country?: handlers_Country; + description?: string; + email?: string; + es_type?: string; + id?: number; + jobs?: Array; + languages?: Array; + linked_in?: string; + locale?: string; + name?: string; + phone?: string; + profession?: string; + profile_pic?: string; + projects?: Array; + skills?: Array; + time_zone?: string; + workspaces?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserProject.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserProject.ts new file mode 100644 index 000000000..960c72be1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserProject.ts @@ -0,0 +1,5 @@ +export type handlers_UserProject = { + id?: string; + title?: string; + user_role?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserWorkspace.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserWorkspace.ts new file mode 100644 index 000000000..7cf973657 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.UserWorkspace.ts @@ -0,0 +1,5 @@ +export type handlers_UserWorkspace = { + id?: string; + title?: string; + user_role?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkCategory.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkCategory.ts new file mode 100644 index 000000000..0014a9809 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkCategory.ts @@ -0,0 +1 @@ +export type handlers_WorkCategory = { name?: string; skills?: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceCheckResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceCheckResponse.ts new file mode 100644 index 000000000..0d1cfb43b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceCheckResponse.ts @@ -0,0 +1 @@ +export type handlers_WorkspaceCheckResponse = { status?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnection.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnection.ts new file mode 100644 index 000000000..21a261e17 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnection.ts @@ -0,0 +1,17 @@ +import type { handlers_WorkspaceConnectionOwner } from "./handlers.WorkspaceConnectionOwner.js"; +import type { handlers_WorkspaceConnectionProject } from "./handlers.WorkspaceConnectionProject.js"; +import type { handlers_WorkspaceConnectionSettings } from "./handlers.WorkspaceConnectionSettings.js"; +import type { handlers_WorkspaceConnectionStatus } from "./handlers.WorkspaceConnectionStatus.js"; + +/** + * A connection for a particular workspace + */ +export type handlers_WorkspaceConnection = { + data_source?: string; + id?: number; + owner?: handlers_WorkspaceConnectionOwner; + projects?: Array; + settings?: handlers_WorkspaceConnectionSettings; + status?: handlers_WorkspaceConnectionStatus; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionDetails.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionDetails.ts new file mode 100644 index 000000000..f56da953d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionDetails.ts @@ -0,0 +1,16 @@ +import type { handlers_WorkspaceConnectionOwner } from "./handlers.WorkspaceConnectionOwner.js"; +import type { handlers_WorkspaceConnectionSettings } from "./handlers.WorkspaceConnectionSettings.js"; +import type { handlers_WorkspaceConnectionStatus } from "./handlers.WorkspaceConnectionStatus.js"; + +/** + * A connection for a particular workspace + */ +export type handlers_WorkspaceConnectionDetails = { + data_source?: string; + id?: number; + owner?: handlers_WorkspaceConnectionOwner; + project_ids?: Array; + settings?: handlers_WorkspaceConnectionSettings; + status?: handlers_WorkspaceConnectionStatus; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionItem.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionItem.ts new file mode 100644 index 000000000..2a2e378d7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionItem.ts @@ -0,0 +1,17 @@ +import type { handlers_WorkspaceConnectionOwner } from "./handlers.WorkspaceConnectionOwner.js"; +import type { handlers_WorkspaceConnectionProject } from "./handlers.WorkspaceConnectionProject.js"; +import type { handlers_WorkspaceConnectionSettings } from "./handlers.WorkspaceConnectionSettings.js"; +import type { handlers_WorkspaceConnectionStatus } from "./handlers.WorkspaceConnectionStatus.js"; + +/** + * A connection for a particular workspace item in the connection list + */ +export type handlers_WorkspaceConnectionItem = { + data_source?: string; + id?: number; + owner?: handlers_WorkspaceConnectionOwner; + projects?: Array; + settings?: handlers_WorkspaceConnectionSettings; + status?: handlers_WorkspaceConnectionStatus; + updated_at?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionOwner.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionOwner.ts new file mode 100644 index 000000000..58bbf5338 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionOwner.ts @@ -0,0 +1,9 @@ +/** + * Workspace connection owner information + */ +export type handlers_WorkspaceConnectionOwner = { + email?: string; + id?: number; + name?: string; + profile_pic?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionProject.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionProject.ts new file mode 100644 index 000000000..6b7fc9eae --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionProject.ts @@ -0,0 +1,4 @@ +export type handlers_WorkspaceConnectionProject = { + id?: string; + name?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionSettings.ts new file mode 100644 index 000000000..12099095f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionSettings.ts @@ -0,0 +1,13 @@ +import type { handlers_AdobeAnalyticsConnectionSettings } from "./handlers.AdobeAnalyticsConnectionSettings.js"; +import type { handlers_GoogleAdsConnectionSettings } from "./handlers.GoogleAdsConnectionSettings.js"; +import type { handlers_GoogleAnalyticsConnectionSettings } from "./handlers.GoogleAnalyticsConnectionSettings.js"; +import type { handlers_GoogleSearchConsoleConnectionSettings } from "./handlers.GoogleSearchConsoleConnectionSettings.js"; +import type { handlers_LogFileAnalysisConnectionSettings } from "./handlers.LogFileAnalysisConnectionSettings.js"; + +export type handlers_WorkspaceConnectionSettings = { + adobe_analytics?: handlers_AdobeAnalyticsConnectionSettings; + google_ads?: handlers_GoogleAdsConnectionSettings; + google_analytics?: handlers_GoogleAnalyticsConnectionSettings; + google_console?: handlers_GoogleSearchConsoleConnectionSettings; + log_file_analysis?: handlers_LogFileAnalysisConnectionSettings; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionStatus.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionStatus.ts new file mode 100644 index 000000000..964bd173c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionStatus.ts @@ -0,0 +1,4 @@ +export type handlers_WorkspaceConnectionStatus = { + message?: string; + type?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsAttachItem.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsAttachItem.ts new file mode 100644 index 000000000..27557405a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsAttachItem.ts @@ -0,0 +1,4 @@ +export type handlers_WorkspaceConnectionsAttachItem = { + connection_ids?: Array; + project_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsDeleteRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsDeleteRequest.ts new file mode 100644 index 000000000..5b14f18f2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsDeleteRequest.ts @@ -0,0 +1,6 @@ +/** + * Request body for workspace connections delete endpoint + */ +export type handlers_WorkspaceConnectionsDeleteRequest = { + ids?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsResponse.ts new file mode 100644 index 000000000..95b1b694e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceConnectionsResponse.ts @@ -0,0 +1,10 @@ +import type { handlers_WorkspaceConnectionItem } from "./handlers.WorkspaceConnectionItem.js"; + +/** + * Response for workspace connections + */ +export type handlers_WorkspaceConnectionsResponse = { + items?: Array; + page_number?: number; + total_items?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceCreateChildForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceCreateChildForm.ts new file mode 100644 index 000000000..15e204445 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceCreateChildForm.ts @@ -0,0 +1,8 @@ +import type { handlers_WorkspaceResources } from "./handlers.WorkspaceResources.js"; + +export type handlers_WorkspaceCreateChildForm = { + icon?: string; + owner?: string; + resources: handlers_WorkspaceResources; + title: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceListItem.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceListItem.ts new file mode 100644 index 000000000..1f338b3bf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceListItem.ts @@ -0,0 +1,32 @@ +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceParent } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductTier } from "./page-engine-backend_internal_usermanager_core_domain.ProductTier.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; +import type { handlers_workspaceSettings } from "./handlers.workspaceSettings.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Tier } from "./page-engine-backend_internal_usermanager_core_domain.Tier.js"; + +export type handlers_WorkspaceListItem = { + created_at?: string; + expires_at?: string; + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + keywords_count?: number; + last_updated_at?: string; + owner?: string; + pagespeed_urls_count?: number; + parent?: page_engine_backend_internal_usermanager_core_domain_WorkspaceParent; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: Array; + products?: Array; + published_projects_count?: number; + resources?: { [key: string]: { [key: string]: unknown } }; + role?: string; + settings?: handlers_workspaceSettings; + shared_with?: number; + status?: string; + subscription_tier?: page_engine_backend_internal_usermanager_core_domain_Tier; + title?: string; + users?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMember.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMember.ts new file mode 100644 index 000000000..b8d9fa35c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMember.ts @@ -0,0 +1,13 @@ +import type { page_engine_backend_internal_usermanager_core_domain_MembershipStatus } from "./page-engine-backend_internal_usermanager_core_domain.MembershipStatus.js"; +import type { handlers_WorkspaceMemberProject } from "./handlers.WorkspaceMemberProject.js"; + +export type handlers_WorkspaceMember = { + email?: string; + id?: number; + is_all_projects_access?: boolean; + is_home_workspace?: boolean; + membership_status?: page_engine_backend_internal_usermanager_core_domain_MembershipStatus; + profile_pic?: string; + projects?: Array; + role?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMemberProject.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMemberProject.ts new file mode 100644 index 000000000..0b5fafcda --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMemberProject.ts @@ -0,0 +1 @@ +export type handlers_WorkspaceMemberProject = { id?: string; title?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMemberUpsertResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMemberUpsertResponse.ts new file mode 100644 index 000000000..55d5ab170 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceMemberUpsertResponse.ts @@ -0,0 +1,5 @@ +import type { handlers_ConsumedUnits } from "./handlers.ConsumedUnits.js"; + +export type handlers_WorkspaceMemberUpsertResponse = { + consumed_units?: handlers_ConsumedUnits; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceResources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceResources.ts new file mode 100644 index 000000000..1eeccafa1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceResources.ts @@ -0,0 +1,8 @@ +export type handlers_WorkspaceResources = { + api_units?: number; + keywords?: number; + pagespeed_urls?: number; + projects?: number; + service_credits?: number; + users?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceResourcesTransferV2Form.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceResourcesTransferV2Form.ts new file mode 100644 index 000000000..44629965a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.WorkspaceResourcesTransferV2Form.ts @@ -0,0 +1,5 @@ +import type { handlers_createWorkspaceV2Resources } from "./handlers.createWorkspaceV2Resources.js"; + +export type handlers_WorkspaceResourcesTransferV2Form = { + resources?: handlers_createWorkspaceV2Resources; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelAIOPromptSettingsForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelAIOPromptSettingsForm.ts new file mode 100644 index 000000000..3c6112e6b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelAIOPromptSettingsForm.ts @@ -0,0 +1,6 @@ +import type { page_engine_backend_internal_usermanager_core_domain_DayOfWeek } from "./page-engine-backend_internal_usermanager_core_domain.DayOfWeek.js"; + +export type handlers_activationPanelAIOPromptSettingsForm = { + prompt_type: "daily" | "weekly"; + weekly_prompts_day_of_week?: page_engine_backend_internal_usermanager_core_domain_DayOfWeek; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelAIOPromptSettingsGetForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelAIOPromptSettingsGetForm.ts new file mode 100644 index 000000000..620695390 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelAIOPromptSettingsGetForm.ts @@ -0,0 +1,6 @@ +import type { page_engine_backend_internal_usermanager_core_domain_DayOfWeek } from "./page-engine-backend_internal_usermanager_core_domain.DayOfWeek.js"; + +export type handlers_activationPanelAIOPromptSettingsGetForm = { + prompt_type?: string; + weekly_prompts_day_of_week?: page_engine_backend_internal_usermanager_core_domain_DayOfWeek; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelPermission.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelPermission.ts new file mode 100644 index 000000000..9e1852df5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelPermission.ts @@ -0,0 +1,5 @@ +export type handlers_activationPanelPermission = + | "workspace.edit" + | "workspace.delete" + | "workspace.view" + | "workspace.add"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelSubscriptionForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelSubscriptionForm.ts new file mode 100644 index 000000000..a3b80f91d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelSubscriptionForm.ts @@ -0,0 +1 @@ +export type handlers_activationPanelSubscriptionForm = { workspace_id: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelWorkspaceCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelWorkspaceCreateForm.ts new file mode 100644 index 000000000..847079595 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.activationPanelWorkspaceCreateForm.ts @@ -0,0 +1,12 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductTierIDs } from "./page-engine-backend_internal_usermanager_core_domain.ProductTierIDs.js"; + +export type handlers_activationPanelWorkspaceCreateForm = { + email: string; + icon?: string; + /** + * @default false + */ + partnership_enabled?: boolean; + product_tiers?: Array; + title: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminProjectTransferForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminProjectTransferForm.ts new file mode 100644 index 000000000..222d6a431 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminProjectTransferForm.ts @@ -0,0 +1,7 @@ +import type { handlers_transferProductProject } from "./handlers.transferProductProject.js"; + +export type handlers_adminProjectTransferForm = { + projects: Array; + target_workspace_id: string; + target_workspace_owner_id: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminSmbProjectMigrationForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminSmbProjectMigrationForm.ts new file mode 100644 index 000000000..eb572f77c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminSmbProjectMigrationForm.ts @@ -0,0 +1,3 @@ +export type handlers_adminSmbProjectMigrationForm = { + account_ids: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminWorkspaceCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminWorkspaceCreateForm.ts new file mode 100644 index 000000000..b83ab0fbe --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminWorkspaceCreateForm.ts @@ -0,0 +1,9 @@ +import type { handlers_WorkspaceResources } from "./handlers.WorkspaceResources.js"; + +export type handlers_adminWorkspaceCreateForm = { + icon?: string; + owner_email?: string; + parent_id: string; + resources: handlers_WorkspaceResources; + title: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminWorkspaceUpsertForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminWorkspaceUpsertForm.ts new file mode 100644 index 000000000..7e31f7d66 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.adminWorkspaceUpsertForm.ts @@ -0,0 +1,12 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductTierIDs } from "./page-engine-backend_internal_usermanager_core_domain.ProductTierIDs.js"; + +export type handlers_adminWorkspaceUpsertForm = { + icon?: string; + /** + * @default false + */ + partnership_enabled?: boolean; + product_tiers?: Array; + title: string; + user_id: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ai.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ai.ts new file mode 100644 index 000000000..19fba6781 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ai.ts @@ -0,0 +1,4 @@ +export type handlers_ai = { + prompts_count?: number; + published_projects_count?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.aiProductResources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.aiProductResources.ts new file mode 100644 index 000000000..a4b83868b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.aiProductResources.ts @@ -0,0 +1,4 @@ +export type handlers_aiProductResources = { + projects?: number; + prompts?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.basicWorkspacesMembersResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.basicWorkspacesMembersResponse.ts new file mode 100644 index 000000000..2f0509358 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.basicWorkspacesMembersResponse.ts @@ -0,0 +1,5 @@ +import type { handlers_BasicWorkspaceMember } from "./handlers.BasicWorkspaceMember.js"; + +export type handlers_basicWorkspacesMembersResponse = { + items?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmark.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmark.ts new file mode 100644 index 000000000..a98049636 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmark.ts @@ -0,0 +1,9 @@ +import type { handlers_benchmarkTags } from "./handlers.benchmarkTags.js"; + +export type handlers_benchmark = { + color?: string; + id?: string; + sync_enabled?: boolean; + tags?: handlers_benchmarkTags; + url?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkBulkUpdateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkBulkUpdateForm.ts new file mode 100644 index 000000000..458bad619 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkBulkUpdateForm.ts @@ -0,0 +1,5 @@ +export type handlers_benchmarkBulkUpdateForm = { + ids: Array; + sync_enabled?: boolean; + tags?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkCreateForm.ts new file mode 100644 index 000000000..a1422c710 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkCreateForm.ts @@ -0,0 +1,6 @@ +export type handlers_benchmarkCreateForm = { + color?: string; + sync_enabled?: boolean; + tags?: Array; + url: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkRemoveTagsForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkRemoveTagsForm.ts new file mode 100644 index 000000000..3cf7da09c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkRemoveTagsForm.ts @@ -0,0 +1,4 @@ +export type handlers_benchmarkRemoveTagsForm = { + benchmark_ids: Array; + tag_ids: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkTags.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkTags.ts new file mode 100644 index 000000000..c4769cb67 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkTags.ts @@ -0,0 +1 @@ +export type handlers_benchmarkTags = { [key: string]: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkUpdateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkUpdateForm.ts new file mode 100644 index 000000000..8869a7d6a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarkUpdateForm.ts @@ -0,0 +1,6 @@ +export type handlers_benchmarkUpdateForm = { + color?: string; + sync_enabled?: boolean; + tags?: Array; + url?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarksDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarksDeleteForm.ts new file mode 100644 index 000000000..dfc23c336 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarksDeleteForm.ts @@ -0,0 +1 @@ +export type handlers_benchmarksDeleteForm = { ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarksListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarksListResponse.ts new file mode 100644 index 000000000..795b0cb49 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.benchmarksListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_benchmark } from "./handlers.benchmark.js"; + +export type handlers_benchmarksListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.billingStatusResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.billingStatusResponse.ts new file mode 100644 index 000000000..33ff94b92 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.billingStatusResponse.ts @@ -0,0 +1,7 @@ +export type handlers_billingStatusResponse = { + expire_date?: string; + has_product?: boolean; + is_paid?: boolean; + subscription_id?: number; + user_id?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ci.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ci.ts new file mode 100644 index 000000000..3061f15f4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.ci.ts @@ -0,0 +1 @@ +export type handlers_ci = { pages?: number; published_projects_count?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.createWorkspaceV2Form.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.createWorkspaceV2Form.ts new file mode 100644 index 000000000..675e13b27 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.createWorkspaceV2Form.ts @@ -0,0 +1,10 @@ +import type { handlers_createWorkspaceV2Resources } from "./handlers.createWorkspaceV2Resources.js"; + +export type handlers_createWorkspaceV2Form = { + icon?: string; + owner?: string; + parentID?: string; + resources: handlers_createWorkspaceV2Resources; + title: string; + userID?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.createWorkspaceV2Resources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.createWorkspaceV2Resources.ts new file mode 100644 index 000000000..30af9f430 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.createWorkspaceV2Resources.ts @@ -0,0 +1,11 @@ +import type { handlers_aiProductResources } from "./handlers.aiProductResources.js"; +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesGlobal } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal.js"; +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceProductResources } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources.js"; +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesSEO } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO.js"; + +export type handlers_createWorkspaceV2Resources = { + ai?: handlers_aiProductResources; + general?: page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesGlobal; + product_resources?: Array; + seo?: page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesSEO; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.getServiceUnitsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.getServiceUnitsResponse.ts new file mode 100644 index 000000000..7f8bbc046 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.getServiceUnitsResponse.ts @@ -0,0 +1,8 @@ +export type handlers_getServiceUnitsResponse = { + available?: number; + total?: number; + /** + * Deprecated: This is left here to ensure backward compatibility. Use Available field instead. + */ + units?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalImportForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalImportForm.ts new file mode 100644 index 000000000..f2a932f1f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalImportForm.ts @@ -0,0 +1 @@ +export type handlers_goalImportForm = { source_project_id: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalImportReponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalImportReponse.ts new file mode 100644 index 000000000..e2fffd2b0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalImportReponse.ts @@ -0,0 +1 @@ +export type handlers_goalImportReponse = { total_imported_goals?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalMetricsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalMetricsResponse.ts new file mode 100644 index 000000000..cdcaaa7b3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalMetricsResponse.ts @@ -0,0 +1,6 @@ +import type { handlers_goalsMetric } from "./handlers.goalsMetric.js"; + +export type handlers_goalMetricsResponse = { + items?: Array; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalUpsertReponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalUpsertReponse.ts new file mode 100644 index 000000000..77fd7b2f9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalUpsertReponse.ts @@ -0,0 +1,59 @@ +import type { page_engine_backend_internal_usermanager_core_domain_GoalDateType } from "./page-engine-backend_internal_usermanager_core_domain.GoalDateType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalObjectiveValueType } from "./page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalType } from "./page-engine-backend_internal_usermanager_core_domain.GoalType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalValue } from "./page-engine-backend_internal_usermanager_core_domain.GoalValue.js"; + +export type handlers_goalUpsertReponse = { + /** + * Is set when the goal is objective + * @format date + * @example "2024-01-01" + */ + date_from?: string; + /** + * Is set when the goal is objective + * @format date + * @example "2024-02-01" + */ + date_to?: string; + /** + * We can have monthly goals now + */ + date_type?: page_engine_backend_internal_usermanager_core_domain_GoalDateType; + /** + * ID is the goal ID in the system + */ + id: string; + /** + * May be null if we have only upper value in the threshold + */ + lower_value?: number; + metric_id: string; + name: string; + /** + * ### Single objective value + * `value` is used for `single` `objective_value_type` + * ### Multiple objective values + * `values` is used for `multiple` `objective_value_type` + */ + objective_value_type?: page_engine_backend_internal_usermanager_core_domain_GoalObjectiveValueType; + /** + * ### Threshold goal + * `upper_value` and `lower_value` are used for threshold goals + * ### Objective goal + * `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + */ + type: page_engine_backend_internal_usermanager_core_domain_GoalType; + /** + * Is set when the goal is threshold + */ + upper_value?: number; + /** + * Set when the goal is single objective + */ + value?: number; + /** + * Set when the goal is multiple objective + */ + values?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsDeleteForm.ts new file mode 100644 index 000000000..61ab6f6bc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsDeleteForm.ts @@ -0,0 +1 @@ +export type handlers_goalsDeleteForm = { ids?: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsListResponse.ts new file mode 100644 index 000000000..6f578f5eb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsListResponse.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_Goal } from "./page-engine-backend_internal_usermanager_core_domain.Goal.js"; + +export type handlers_goalsListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsMetric.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsMetric.ts new file mode 100644 index 000000000..9a3455bae --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsMetric.ts @@ -0,0 +1 @@ +export type handlers_goalsMetric = { id?: string; name?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsUpsertForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsUpsertForm.ts new file mode 100644 index 000000000..35572096a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.goalsUpsertForm.ts @@ -0,0 +1,55 @@ +import type { page_engine_backend_internal_usermanager_core_domain_GoalDateType } from "./page-engine-backend_internal_usermanager_core_domain.GoalDateType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalObjectiveValueType } from "./page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalType } from "./page-engine-backend_internal_usermanager_core_domain.GoalType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalValue } from "./page-engine-backend_internal_usermanager_core_domain.GoalValue.js"; + +export type handlers_goalsUpsertForm = { + /** + * Is set when the goal is objective + * @format date + * @example "2024-01-01" + */ + date_from?: string; + /** + * Is set when the goal is objective + * @format date + * @example "2024-02-01" + */ + date_to?: string; + /** + * We can have monthly goals now + */ + date_type?: page_engine_backend_internal_usermanager_core_domain_GoalDateType; + /** + * May be null if we have only upper value in the threshold + */ + lower_value?: number; + metric_id: string; + name: string; + /** + * ### Single objective value + * `value` is used for `single` `objective_value_type` + * ### Multiple objective values + * `values` is used for `multiple` `objective_value_type` + */ + objective_value_type?: page_engine_backend_internal_usermanager_core_domain_GoalObjectiveValueType; + /** + * ### Threshold goal + * `upper_value` and `lower_value` are used for threshold goals + * ### Objective goal + * `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + */ + type: page_engine_backend_internal_usermanager_core_domain_GoalType; + /** + * Is set when the goal is threshold + */ + upper_value?: number; + /** + * Set when the goal is single objective + */ + value?: number; + /** + * Set when the goal is multiple objective + */ + values?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalGoal.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalGoal.ts new file mode 100644 index 000000000..992f829da --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalGoal.ts @@ -0,0 +1,37 @@ +import type { page_engine_backend_internal_usermanager_core_domain_GoalDateType } from "./page-engine-backend_internal_usermanager_core_domain.GoalDateType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalType } from "./page-engine-backend_internal_usermanager_core_domain.GoalType.js"; + +export type handlers_internalGoal = { + /** + * Set when the goal is objective, will contain dates between date_from and date_to + * @format date + * @example "2024-01-01" + */ + date?: string; + /** + * Set when the goal is objective, may be set when the goal is threshold + * @format date + * @example "2024-01-01" + */ + date_from?: string; + /** + * Set when the goal is objective, may be set when the goal is threshold + * @format date + * @example "2024-02-01" + */ + date_to?: string; + /** + * We can have monthly goals now + */ + date_type?: page_engine_backend_internal_usermanager_core_domain_GoalDateType; + id: string; + metric_id: string; + metric_name: string; + name: string; + project_domain: string; + type: page_engine_backend_internal_usermanager_core_domain_GoalType; + /** + * Is set to upper value when type is threshold and objective value when type is objective + */ + value?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalGoalsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalGoalsListResponse.ts new file mode 100644 index 000000000..be6b2c298 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalGoalsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_internalGoal } from "./handlers.internalGoal.js"; + +export type handlers_internalGoalsListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalWorkspace.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalWorkspace.ts new file mode 100644 index 000000000..b9b333245 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.internalWorkspace.ts @@ -0,0 +1,20 @@ +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceParent } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductTier } from "./page-engine-backend_internal_usermanager_core_domain.ProductTier.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Tier } from "./page-engine-backend_internal_usermanager_core_domain.Tier.js"; + +export type handlers_internalWorkspace = { + created_at?: string; + icon?: string; + id?: string; + is_master?: boolean; + last_updated_at?: string; + parent?: page_engine_backend_internal_usermanager_core_domain_WorkspaceParent; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: Array; + products?: Array; + status?: string; + subscription_tier?: page_engine_backend_internal_usermanager_core_domain_Tier; + title?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keyword.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keyword.ts new file mode 100644 index 000000000..528187046 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keyword.ts @@ -0,0 +1,9 @@ +import type { handlers_KeywordID } from "./handlers.KeywordID.js"; + +export type handlers_Keyword = { + id: handlers_KeywordID; + /** + * Tags max 5 tags are allowed, each tag can have max 50 characters + */ + tags?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordListAddMembersForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordListAddMembersForm.ts new file mode 100644 index 000000000..52bae748e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordListAddMembersForm.ts @@ -0,0 +1,4 @@ +export type handlers_keywordListAddMembersForm = { + members: Array; + role: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordWithTargetID.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordWithTargetID.ts new file mode 100644 index 000000000..860977515 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordWithTargetID.ts @@ -0,0 +1,8 @@ +export type handlers_keywordWithTargetID = { + id?: string; + name?: string; + position?: number; + preferred_url?: string; + target_id?: string; + volume?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsCreateForm.ts new file mode 100644 index 000000000..384e91a3e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsCreateForm.ts @@ -0,0 +1,4 @@ +export type handlers_keywordsCreateForm = { + keywords: Array; + tag_ids?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsCreateResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsCreateResponse.ts new file mode 100644 index 000000000..080d55711 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsCreateResponse.ts @@ -0,0 +1,6 @@ +import type { handlers_keyword } from "./handlers.keyword.js"; + +export type handlers_keywordsCreateResponse = { + duplicate_count?: number; + items?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsDeleteForm.ts new file mode 100644 index 000000000..f2bd3ca45 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsDeleteForm.ts @@ -0,0 +1,4 @@ +export type handlers_keywordsDeleteForm = { + all?: boolean; + ids?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListDeleteMembersForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListDeleteMembersForm.ts new file mode 100644 index 000000000..8b2da3d4a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListDeleteMembersForm.ts @@ -0,0 +1 @@ +export type handlers_keywordsListDeleteMembersForm = { members: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListMemberUpdateRoleForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListMemberUpdateRoleForm.ts new file mode 100644 index 000000000..ee83f7e5b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListMemberUpdateRoleForm.ts @@ -0,0 +1,4 @@ +export type handlers_keywordsListMemberUpdateRoleForm = { + member: string; + role: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListMembersResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListMembersResponse.ts new file mode 100644 index 000000000..b3a3dcd29 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListMembersResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_member } from "./handlers.member.js"; + +export type handlers_keywordsListMembersResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListResponse.ts new file mode 100644 index 000000000..b507b105b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_BasketResponse } from "./handlers.BasketResponse.js"; + +export type handlers_KeywordsListResponse = { + baskets?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsUpdateResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsUpdateResponse.ts new file mode 100644 index 000000000..823a79277 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.keywordsUpdateResponse.ts @@ -0,0 +1,4 @@ +export type handlers_keywordsUpdateResponse = { + ids: Array; + url?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.member.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.member.ts new file mode 100644 index 000000000..b128bac65 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.member.ts @@ -0,0 +1,6 @@ +export type handlers_member = { + email?: string; + id?: number; + profile_pic?: string; + role?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedAddNamedKeywordsForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedAddNamedKeywordsForm.ts new file mode 100644 index 000000000..d8ea2f07c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedAddNamedKeywordsForm.ts @@ -0,0 +1,4 @@ +export type handlers_pagespeedAddNamedKeywordsForm = { + keywords?: Array; + target_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedAddNamedKeywordsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedAddNamedKeywordsResponse.ts new file mode 100644 index 000000000..31e353fe0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedAddNamedKeywordsResponse.ts @@ -0,0 +1,6 @@ +import type { handlers_keyword } from "./handlers.keyword.js"; + +export type handlers_pagespeedAddNamedKeywordsResponse = { + keywords?: Array; + not_found?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawler.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawler.ts new file mode 100644 index 000000000..b3513ceb0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawler.ts @@ -0,0 +1,10 @@ +export type handlers_pagespeedCrawler = { + crawler_type?: string; + device?: string; + id?: string; + interval?: string; + name?: string; + status?: string; + total_keywords?: number; + total_urls?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerAddKeywordsForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerAddKeywordsForm.ts new file mode 100644 index 000000000..de48df64d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerAddKeywordsForm.ts @@ -0,0 +1,5 @@ +import type { handlers_pagespeedKeywordsForm } from "./handlers.pagespeedKeywordsForm.js"; + +export type handlers_pagespeedCrawlerAddKeywordsForm = { + keywords: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerAddURLsForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerAddURLsForm.ts new file mode 100644 index 000000000..4eedd968d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerAddURLsForm.ts @@ -0,0 +1 @@ +export type handlers_pagespeedCrawlerAddURLsForm = { urls: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerCreateForm.ts new file mode 100644 index 000000000..e4c50c8be --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerCreateForm.ts @@ -0,0 +1,19 @@ +import type { handlers_pagespeedKeywordsForm } from "./handlers.pagespeedKeywordsForm.js"; + +export type handlers_pagespeedCrawlerCreateForm = { + crawler_type?: "keywords" | "urls"; + device: string; + interval?: + | "once" + | "daily" + | "weekly" + | "week-days" + | "bi-weekly" + | "monthly"; + invisible?: boolean; + keyword_names?: Array; + keywords?: Array; + name: string; + target_id?: string; + urls?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerCreateResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerCreateResponse.ts new file mode 100644 index 000000000..1a997c1ca --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerCreateResponse.ts @@ -0,0 +1,16 @@ +import type { handlers_keyword } from "./handlers.keyword.js"; +import type { handlers_pagespeedURL } from "./handlers.pagespeedURL.js"; + +export type handlers_pagespeedCrawlerCreateResponse = { + crawler_type?: string; + device?: string; + id?: string; + interval?: string; + keywords?: Array; + name?: string; + not_found_keywords?: Array; + status?: string; + total_keywords?: number; + total_urls?: number; + urls?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerUpdateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerUpdateForm.ts new file mode 100644 index 000000000..62f643b84 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerUpdateForm.ts @@ -0,0 +1,10 @@ +export type handlers_pagespeedCrawlerUpdateForm = { + interval?: + | "once" + | "daily" + | "weekly" + | "week-days" + | "bi-weekly" + | "monthly"; + name: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerVisibleForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerVisibleForm.ts new file mode 100644 index 000000000..88aa1895f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlerVisibleForm.ts @@ -0,0 +1,11 @@ +export type handlers_pagespeedCrawlerVisibleForm = { + device: string; + interval?: + | "once" + | "daily" + | "weekly" + | "week-days" + | "bi-weekly" + | "monthly"; + name: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlersInternalListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlersInternalListResponse.ts new file mode 100644 index 000000000..0593c97b1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlersInternalListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_pagespeedInternalCrawler } from "./handlers.pagespeedInternalCrawler.js"; + +export type handlers_pagespeedCrawlersInternalListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlersListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlersListResponse.ts new file mode 100644 index 000000000..8affb8e55 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedCrawlersListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_pagespeedCrawler } from "./handlers.pagespeedCrawler.js"; + +export type handlers_pagespeedCrawlersListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedDeleteForm.ts new file mode 100644 index 000000000..25bb90eb0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedDeleteForm.ts @@ -0,0 +1 @@ +export type handlers_pagespeedDeleteForm = { ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedInternalCrawler.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedInternalCrawler.ts new file mode 100644 index 000000000..f0f2c1df9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedInternalCrawler.ts @@ -0,0 +1,11 @@ +export type handlers_pagespeedInternalCrawler = { + crawler_type?: string; + device?: string; + id?: string; + interval?: string; + name?: string; + project_id?: string; + status?: string; + total_keywords?: number; + total_urls?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedInternalKeywordsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedInternalKeywordsListResponse.ts new file mode 100644 index 000000000..ecdd190be --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedInternalKeywordsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_keywordWithTargetID } from "./handlers.keywordWithTargetID.js"; + +export type handlers_pagespeedInternalKeywordsListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsDeleteForm.ts new file mode 100644 index 000000000..f2e8d4e28 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsDeleteForm.ts @@ -0,0 +1 @@ +export type handlers_pagespeedKeywordsDeleteForm = { ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsForm.ts new file mode 100644 index 000000000..b898e79e9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsForm.ts @@ -0,0 +1,4 @@ +export type handlers_pagespeedKeywordsForm = { + ids: Array; + target_id: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsListResponse.ts new file mode 100644 index 000000000..91de10a90 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedKeywordsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_keyword } from "./handlers.keyword.js"; + +export type handlers_pagespeedKeywordsListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURL.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURL.ts new file mode 100644 index 000000000..cb3597e25 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURL.ts @@ -0,0 +1 @@ +export type handlers_pagespeedURL = { id?: string; url?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURLsDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURLsDeleteForm.ts new file mode 100644 index 000000000..a687deded --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURLsDeleteForm.ts @@ -0,0 +1 @@ +export type handlers_pagespeedURLsDeleteForm = { ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURLsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURLsListResponse.ts new file mode 100644 index 000000000..9516cd969 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.pagespeedURLsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_pagespeedURL } from "./handlers.pagespeedURL.js"; + +export type handlers_pagespeedURLsListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.productTiersGroup.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.productTiersGroup.ts new file mode 100644 index 000000000..8703f8cdd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.productTiersGroup.ts @@ -0,0 +1,6 @@ +import type { page_engine_backend_internal_usermanager_core_domain_Tier } from "./page-engine-backend_internal_usermanager_core_domain.Tier.js"; + +export type handlers_productTiersGroup = { + product?: string; + tiers?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.profileUpdate.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.profileUpdate.ts new file mode 100644 index 000000000..6d2db5cab --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.profileUpdate.ts @@ -0,0 +1,18 @@ +import type { handlers_Country } from "./handlers.Country.js"; +import type { handlers_UserJob } from "./handlers.UserJob.js"; + +export type handlers_profileUpdate = { + availability?: string; + company?: string; + country?: handlers_Country; + description?: string; + jobs?: Array; + languages?: Array; + linked_in?: string; + name?: string; + phone?: string; + profession?: string; + profile_pic?: string; + skills?: Array; + time_zone?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectAddMembersForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectAddMembersForm.ts new file mode 100644 index 000000000..18e9b7c8e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectAddMembersForm.ts @@ -0,0 +1,10 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type handlers_projectAddMembersForm = { + members: Array; + /** + * for backward compatibility no validate is required and assign SEO in case its empty + */ + product_id?: page_engine_backend_internal_usermanager_core_domain_ProductID; + role: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectCreateForm.ts new file mode 100644 index 000000000..2c41379be --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectCreateForm.ts @@ -0,0 +1,5 @@ +export type handlers_projectCreateForm = { + color?: string; + domain: string; + title: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectDeleteMembersForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectDeleteMembersForm.ts new file mode 100644 index 000000000..069e504af --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectDeleteMembersForm.ts @@ -0,0 +1,9 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type handlers_projectDeleteMembersForm = { + members: Array; + /** + * for backward compatibility no validate is required and assign SEO in case its empty + */ + product_id?: page_engine_backend_internal_usermanager_core_domain_ProductID; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectDeleteResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectDeleteResponse.ts new file mode 100644 index 000000000..8239b71ec --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectDeleteResponse.ts @@ -0,0 +1 @@ +export type handlers_projectDeleteResponse = { id?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectFavouriteSetForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectFavouriteSetForm.ts new file mode 100644 index 000000000..18c23bc5e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectFavouriteSetForm.ts @@ -0,0 +1 @@ +export type handlers_projectFavouriteSetForm = { favourite?: boolean }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectItem.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectItem.ts new file mode 100644 index 000000000..5ffa29bb0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectItem.ts @@ -0,0 +1,31 @@ +import type { handlers_BaseProject } from "./handlers.BaseProject.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProjectStatus } from "./page-engine-backend_internal_usermanager_core_domain.ProjectStatus.js"; +import type { rbac_RoleName } from "./rbac.RoleName.js"; +import type { handlers_TargetsStats } from "./handlers.TargetsStats.js"; + +export type handlers_projectItem = { + color?: string; + core_conflicts?: boolean; + domain?: string; + draft_keywords_count?: number; + draft_pagespeed_urls_count?: number; + draft_project?: handlers_BaseProject; + draft_segments_count?: number; + draft_updated?: boolean; + favourite?: boolean; + goals_count?: number; + id?: string; + is_draft?: boolean; + is_out_of_sync?: boolean; + keywords_count?: number; + pagespeed_urls_count?: number; + publish_status?: page_engine_backend_internal_usermanager_core_domain_ProjectStatus; + published_at?: string; + publishing_failed_reason?: string; + role?: rbac_RoleName; + segments_count?: number; + shared_with?: number; + targets_stats?: handlers_TargetsStats; + title?: string; + total_invited_members?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectListResponse.ts new file mode 100644 index 000000000..f25eec046 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_projectItem } from "./handlers.projectItem.js"; + +export type handlers_projectListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectMembersResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectMembersResponse.ts new file mode 100644 index 000000000..bf8bf3d7c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectMembersResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_member } from "./handlers.member.js"; + +export type handlers_projectMembersResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectUpdateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectUpdateForm.ts new file mode 100644 index 000000000..97d4f57fc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectUpdateForm.ts @@ -0,0 +1 @@ +export type handlers_projectUpdateForm = { color?: string; title?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectUpsertResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectUpsertResponse.ts new file mode 100644 index 000000000..09233aa05 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectUpsertResponse.ts @@ -0,0 +1,10 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProjectStatus } from "./page-engine-backend_internal_usermanager_core_domain.ProjectStatus.js"; + +export type handlers_projectUpsertResponse = { + color?: string; + domain?: string; + id?: string; + is_draft?: boolean; + publish_status?: page_engine_backend_internal_usermanager_core_domain_ProjectStatus; + title?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectV2CreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectV2CreateForm.ts new file mode 100644 index 000000000..9942a5395 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectV2CreateForm.ts @@ -0,0 +1,5 @@ +export type handlers_projectV2CreateForm = { + color?: string; + domain?: string; + title: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectV2UpdateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectV2UpdateForm.ts new file mode 100644 index 000000000..f150d2886 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectV2UpdateForm.ts @@ -0,0 +1,5 @@ +export type handlers_projectV2UpdateForm = { + color?: string; + domain?: string; + title?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectsGetResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectsGetResponse.ts new file mode 100644 index 000000000..eae1dae8b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.projectsGetResponse.ts @@ -0,0 +1,30 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProjectStatus } from "./page-engine-backend_internal_usermanager_core_domain.ProjectStatus.js"; +import type { rbac_RoleName } from "./rbac.RoleName.js"; +import type { handlers_TargetsStats } from "./handlers.TargetsStats.js"; + +export type handlers_projectsGetResponse = { + benchmarks_count?: number; + color?: string; + core_id?: number; + crawlers_count?: number; + created_at?: string; + domain?: string; + draft_updated?: boolean; + favourite?: boolean; + goals_count?: number; + id?: string; + is_draft?: boolean; + is_out_of_sync?: boolean; + keywords_count?: number; + pagespeed_urls_count?: number; + preferred_urls_count?: number; + publish_status?: page_engine_backend_internal_usermanager_core_domain_ProjectStatus; + published_at?: string; + publishing_failed_reason?: string; + role?: rbac_RoleName; + segments_count?: number; + shared_with?: number; + targets_count?: number; + targets_stats?: handlers_TargetsStats; + title?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.seo.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.seo.ts new file mode 100644 index 000000000..f01dbc1ef --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.seo.ts @@ -0,0 +1,5 @@ +export type handlers_seo = { + keywords_count?: number; + pagespeed_urls_count?: number; + published_projects_count?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.si.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.si.ts new file mode 100644 index 000000000..75faa27fe --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.si.ts @@ -0,0 +1,5 @@ +export type handlers_si = { + logfile?: number; + pages?: number; + projects?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tag.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tag.ts new file mode 100644 index 000000000..6b2a33048 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tag.ts @@ -0,0 +1 @@ +export type handlers_tag = { id?: string; name?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagTreeItem.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagTreeItem.ts new file mode 100644 index 000000000..ec5cb89b7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagTreeItem.ts @@ -0,0 +1,10 @@ +import type { handlers_tagTreeItem } from "./handlers.tagTreeItem.js"; + +export type handlers_tagTreeItem = { + children?: Array; + children_count?: number; + id?: string; + keywords_count?: number; + name?: string; + parent_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagTreeItemV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagTreeItemV2.ts new file mode 100644 index 000000000..5a13330b1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagTreeItemV2.ts @@ -0,0 +1,8 @@ +import type { handlers_tagTreeItemV2 } from "./handlers.tagTreeItemV2.js"; + +export type handlers_tagTreeItemV2 = { + children?: Array; + id?: string; + name?: string; + parent_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagWithSearchResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagWithSearchResponse.ts new file mode 100644 index 000000000..4e05ae4f3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagWithSearchResponse.ts @@ -0,0 +1,6 @@ +export type handlers_tagWithSearchResponse = { + id?: string; + keywords_count?: number; + name?: string; + parent_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.taggedKeywordsCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.taggedKeywordsCreateForm.ts new file mode 100644 index 000000000..f74c29dec --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.taggedKeywordsCreateForm.ts @@ -0,0 +1,3 @@ +export type handlers_taggedKeywordsCreateForm = { + keywords: { [key: string]: Array }; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsCreateForm.ts new file mode 100644 index 000000000..06d4c7e01 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsCreateForm.ts @@ -0,0 +1,4 @@ +export type handlers_tagsCreateForm = { + names: Array; + parent_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsDeleteForm.ts new file mode 100644 index 000000000..0da321fe8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsDeleteForm.ts @@ -0,0 +1,4 @@ +export type handlers_tagsDeleteForm = { + delete_keywords?: boolean; + ids: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsList.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsList.ts new file mode 100644 index 000000000..26376fd05 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsList.ts @@ -0,0 +1 @@ +export type handlers_tagsList = { [key: string]: unknown }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsListResponse.ts new file mode 100644 index 000000000..a27f547ce --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_tagsList } from "./handlers.tagsList.js"; + +export type handlers_tagsListResponse = { + items?: handlers_tagsList; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsListWithSearchResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsListWithSearchResponse.ts new file mode 100644 index 000000000..d326e8aba --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsListWithSearchResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_tagWithSearchResponse } from "./handlers.tagWithSearchResponse.js"; + +export type handlers_tagsListWithSearchResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsUpdateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsUpdateForm.ts new file mode 100644 index 000000000..b1cc734c4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tagsUpdateForm.ts @@ -0,0 +1 @@ +export type handlers_tagsUpdateForm = { name: string; parent_id?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetCreateForm.ts new file mode 100644 index 000000000..465acb810 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetCreateForm.ts @@ -0,0 +1,3 @@ +import type { handlers_targetForm } from "./handlers.targetForm.js"; + +export type handlers_targetCreateForm = { targets: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetForm.ts new file mode 100644 index 000000000..d159711a2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetForm.ts @@ -0,0 +1,7 @@ +export type handlers_targetForm = { + device: string; + language_id: number; + location_id: number; + name: string; + volume_type?: "national" | "regional" | "local"; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetListResponse.ts new file mode 100644 index 000000000..a39f52800 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.targetListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_Target } from "./handlers.Target.js"; + +export type handlers_targetListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tiersResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tiersResponse.ts new file mode 100644 index 000000000..4defe7d95 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.tiersResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_productTiersGroup } from "./handlers.productTiersGroup.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Tier } from "./page-engine-backend_internal_usermanager_core_domain.Tier.js"; + +export type handlers_tiersResponse = { + products?: Array; + tiers?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.transactionsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.transactionsListResponse.ts new file mode 100644 index 000000000..356469729 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.transactionsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_Transaction } from "./handlers.Transaction.js"; + +export type handlers_transactionsListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.transferProductProject.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.transferProductProject.ts new file mode 100644 index 000000000..5a4d7e892 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.transferProductProject.ts @@ -0,0 +1,6 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type handlers_transferProductProject = { + product_id: page_engine_backend_internal_usermanager_core_domain_ProductID; + project_ids: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroup.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroup.ts new file mode 100644 index 000000000..a4067b4fe --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroup.ts @@ -0,0 +1 @@ +export type handlers_urlGroup = { id?: string; name?: string; url?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsDeleteForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsDeleteForm.ts new file mode 100644 index 000000000..0539c8e71 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsDeleteForm.ts @@ -0,0 +1 @@ +export type handlers_urlGroupsDeleteForm = { ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsListResponse.ts new file mode 100644 index 000000000..6cf4b34fa --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_urlGroup } from "./handlers.urlGroup.js"; + +export type handlers_urlGroupsListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsUpsertForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsUpsertForm.ts new file mode 100644 index 000000000..1c754d524 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.urlGroupsUpsertForm.ts @@ -0,0 +1 @@ +export type handlers_urlGroupsUpsertForm = { name: string; url: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.userIDsRequest.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.userIDsRequest.ts new file mode 100644 index 000000000..f3a9826fe --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.userIDsRequest.ts @@ -0,0 +1 @@ +export type handlers_userIDsRequest = { user_ids: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.usersCreateForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.usersCreateForm.ts new file mode 100644 index 000000000..7995ee815 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.usersCreateForm.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceUpsert } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert.js"; + +export type handlers_usersCreateForm = { + email: string; + es_type: string; + workspace?: page_engine_backend_internal_usermanager_core_domain_WorkspaceUpsert; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceAddMembersForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceAddMembersForm.ts new file mode 100644 index 000000000..1ab19e55a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceAddMembersForm.ts @@ -0,0 +1,4 @@ +export type handlers_workspaceAddMembersForm = { + members: Array; + role: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceAddMembersResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceAddMembersResponse.ts new file mode 100644 index 000000000..8784ba474 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceAddMembersResponse.ts @@ -0,0 +1,6 @@ +export type handlers_workspaceAddMembersResponse = { + emails?: Array; + errors?: { [key: string]: unknown }; + limit_exceeded?: boolean; + message?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceCheckMembershipInAncestryResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceCheckMembershipInAncestryResponse.ts new file mode 100644 index 000000000..db3e1a9f0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceCheckMembershipInAncestryResponse.ts @@ -0,0 +1,5 @@ +export type handlers_workspaceCheckMembershipInAncestryResponse = { + page?: number; + total?: number; + user_has_membership?: boolean; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceCheckRolesInAncestryResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceCheckRolesInAncestryResponse.ts new file mode 100644 index 000000000..c97cd3dd1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceCheckRolesInAncestryResponse.ts @@ -0,0 +1,5 @@ +export type handlers_workspaceCheckRolesInAncestryResponse = { + page?: number; + total?: number; + user_has_role?: boolean; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceDeleteMembersForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceDeleteMembersForm.ts new file mode 100644 index 000000000..1a75d2e5d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceDeleteMembersForm.ts @@ -0,0 +1 @@ +export type handlers_workspaceDeleteMembersForm = { members: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceDeleteResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceDeleteResponse.ts new file mode 100644 index 000000000..a065a3850 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceDeleteResponse.ts @@ -0,0 +1 @@ +export type handlers_workspaceDeleteResponse = { id?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceIDsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceIDsResponse.ts new file mode 100644 index 000000000..f8824bc9d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceIDsResponse.ts @@ -0,0 +1 @@ +export type handlers_workspaceIDsResponse = { workspace_ids?: Array }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceLightResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceLightResponse.ts new file mode 100644 index 000000000..ba6c3cb2d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceLightResponse.ts @@ -0,0 +1,19 @@ +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceParent } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductTier } from "./page-engine-backend_internal_usermanager_core_domain.ProductTier.js"; + +export type handlers_workspaceLightResponse = { + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + parent?: page_engine_backend_internal_usermanager_core_domain_WorkspaceParent; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: Array; + products?: Array; + role?: string; + shared_with?: number; + status?: string; + title?: string; + users?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceMemberUpdateRoleForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceMemberUpdateRoleForm.ts new file mode 100644 index 000000000..a7229ef76 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceMemberUpdateRoleForm.ts @@ -0,0 +1,4 @@ +export type handlers_workspaceMemberUpdateRoleForm = { + member: string; + role: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceOwnershipEligibilityResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceOwnershipEligibilityResponse.ts new file mode 100644 index 000000000..d204e8575 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceOwnershipEligibilityResponse.ts @@ -0,0 +1,6 @@ +import type { handlers_workspaceOwnershipUser } from "./handlers.workspaceOwnershipUser.js"; + +export type handlers_workspaceOwnershipEligibilityResponse = { + user?: handlers_workspaceOwnershipUser; + valid?: boolean; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceOwnershipUser.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceOwnershipUser.ts new file mode 100644 index 000000000..472315b3b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceOwnershipUser.ts @@ -0,0 +1,5 @@ +export type handlers_workspaceOwnershipUser = { + email?: string; + name?: string; + profile_pic?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceProduct.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceProduct.ts new file mode 100644 index 000000000..14c02fca2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceProduct.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type handlers_workspaceProduct = { + id?: page_engine_backend_internal_usermanager_core_domain_ProductID; + is_transferable?: boolean; + name?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceResponse.ts new file mode 100644 index 000000000..c85c262da --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceResponse.ts @@ -0,0 +1,28 @@ +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceParent } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductTier } from "./page-engine-backend_internal_usermanager_core_domain.ProductTier.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Tier } from "./page-engine-backend_internal_usermanager_core_domain.Tier.js"; + +export type handlers_workspaceResponse = { + created_at?: string; + expires_at?: string; + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + keywords_count?: number; + last_updated_at?: string; + owner?: string; + pagespeed_urls_count?: number; + parent?: page_engine_backend_internal_usermanager_core_domain_WorkspaceParent; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: Array; + products?: Array; + published_projects_count?: number; + role?: string; + status?: string; + subscription_tier?: page_engine_backend_internal_usermanager_core_domain_Tier; + title?: string; + users?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceSettings.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceSettings.ts new file mode 100644 index 000000000..7edddf313 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceSettings.ts @@ -0,0 +1,11 @@ +import type { handlers_ai } from "./handlers.ai.js"; +import type { handlers_ci } from "./handlers.ci.js"; +import type { handlers_seo } from "./handlers.seo.js"; +import type { handlers_si } from "./handlers.si.js"; + +export type handlers_workspaceSettings = { + ai?: handlers_ai; + ci?: handlers_ci; + seo?: handlers_seo; + si?: handlers_si; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUpdateIconForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUpdateIconForm.ts new file mode 100644 index 000000000..c0786929b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUpdateIconForm.ts @@ -0,0 +1 @@ +export type handlers_workspaceUpdateIconForm = { url?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUpsertForm.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUpsertForm.ts new file mode 100644 index 000000000..2f7fa8581 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUpsertForm.ts @@ -0,0 +1 @@ +export type handlers_workspaceUpsertForm = { icon?: string; title: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUserAPIKey.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUserAPIKey.ts new file mode 100644 index 000000000..0b3e8d9a6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUserAPIKey.ts @@ -0,0 +1 @@ +export type handlers_workspaceUserAPIKey = { api_key?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUserRole.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUserRole.ts new file mode 100644 index 000000000..207c5492a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceUserRole.ts @@ -0,0 +1,3 @@ +import type { rbac_RoleName } from "./rbac.RoleName.js"; + +export type handlers_workspaceUserRole = { role?: rbac_RoleName }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceV2Response.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceV2Response.ts new file mode 100644 index 000000000..fc4749fbb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspaceV2Response.ts @@ -0,0 +1,32 @@ +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceParent } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductTier } from "./page-engine-backend_internal_usermanager_core_domain.ProductTier.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; +import type { handlers_workspaceSettings } from "./handlers.workspaceSettings.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Tier } from "./page-engine-backend_internal_usermanager_core_domain.Tier.js"; + +export type handlers_workspaceV2Response = { + created_at?: string; + expires_at?: string; + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + keywords_count?: number; + last_updated_at?: string; + owner?: string; + pagespeed_urls_count?: number; + parent?: page_engine_backend_internal_usermanager_core_domain_WorkspaceParent; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: Array; + products?: Array; + published_projects_count?: number; + resources?: { [key: string]: { [key: string]: unknown } }; + role?: string; + settings?: handlers_workspaceSettings; + shared_with?: number; + status?: string; + subscription_tier?: page_engine_backend_internal_usermanager_core_domain_Tier; + title?: string; + users?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspacesListResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspacesListResponse.ts new file mode 100644 index 000000000..1ef9b901b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspacesListResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_WorkspaceListItem } from "./handlers.WorkspaceListItem.js"; + +export type handlers_workspacesListResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspacesMembersResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspacesMembersResponse.ts new file mode 100644 index 000000000..5b5e936cc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/handlers.workspacesMembersResponse.ts @@ -0,0 +1,7 @@ +import type { handlers_WorkspaceMember } from "./handlers.WorkspaceMember.js"; + +export type handlers_workspacesMembersResponse = { + items?: Array; + page?: number; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/http_server.BasicResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/http_server.BasicResponse.ts new file mode 100644 index 000000000..11ff27037 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/http_server.BasicResponse.ts @@ -0,0 +1,4 @@ +export type http_server_BasicResponse = { + errors?: { [key: string]: unknown }; + message?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.AdminProject.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.AdminProject.ts new file mode 100644 index 000000000..10ee06180 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.AdminProject.ts @@ -0,0 +1,21 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProjectOwner } from "./page-engine-backend_internal_usermanager_core_domain.ProjectOwner.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; +import type { page_engine_backend_internal_usermanager_core_domain_ProjectStatus } from "./page-engine-backend_internal_usermanager_core_domain.ProjectStatus.js"; + +export type page_engine_backend_internal_usermanager_core_domain_AdminProject = + { + created_at?: string; + domain?: string; + id?: string; + is_transferable?: boolean; + keywords?: number; + last_updated_at?: string; + max_pages_per_crawler?: number; + owner?: page_engine_backend_internal_usermanager_core_domain_ProjectOwner; + pages?: number; + pagespeed_urls?: number; + product_type?: page_engine_backend_internal_usermanager_core_domain_ProductID; + prompts?: number; + status?: page_engine_backend_internal_usermanager_core_domain_ProjectStatus; + title?: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.DayOfWeek.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.DayOfWeek.ts new file mode 100644 index 000000000..d03f6d3e5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.DayOfWeek.ts @@ -0,0 +1,8 @@ +export type page_engine_backend_internal_usermanager_core_domain_DayOfWeek = + | "monday" + | "tuesday" + | "wednesday" + | "thursday" + | "friday" + | "saturday" + | "sunday"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.EsType.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.EsType.ts new file mode 100644 index 000000000..8bbf1735d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.EsType.ts @@ -0,0 +1,6 @@ +export type page_engine_backend_internal_usermanager_core_domain_EsType = + | "client" + | "freelancer" + | "pro-serve" + | "csm" + | "sales"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Filter.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Filter.ts new file mode 100644 index 000000000..b59b55075 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Filter.ts @@ -0,0 +1,10 @@ +import type { page_engine_backend_internal_usermanager_core_domain_SegmentColumn } from "./page-engine-backend_internal_usermanager_core_domain.SegmentColumn.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Filter } from "./page-engine-backend_internal_usermanager_core_domain.Filter.js"; +import type { page_engine_backend_internal_usermanager_core_domain_FilterOperator } from "./page-engine-backend_internal_usermanager_core_domain.FilterOperator.js"; + +export type page_engine_backend_internal_usermanager_core_domain_Filter = { + col?: page_engine_backend_internal_usermanager_core_domain_SegmentColumn; + filters?: Array; + op?: page_engine_backend_internal_usermanager_core_domain_FilterOperator; + value?: unknown; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.FilterOperator.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.FilterOperator.ts new file mode 100644 index 000000000..b4122be3b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.FilterOperator.ts @@ -0,0 +1,17 @@ +export type page_engine_backend_internal_usermanager_core_domain_FilterOperator = + + | "and" + | "or" + | "eq" + | "neq" + | "begins_with" + | "not_begins_with" + | "ends_with" + | "not_ends_with" + | "contains" + | "not_contains" + | "gt" + | "lt" + | "gte" + | "lte" + | "in"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.General.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.General.ts new file mode 100644 index 000000000..122e7dc47 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.General.ts @@ -0,0 +1,5 @@ +import type { page_engine_backend_internal_usermanager_core_domain_GeneralResources } from "./page-engine-backend_internal_usermanager_core_domain.GeneralResources.js"; + +export type page_engine_backend_internal_usermanager_core_domain_General = { + resources?: page_engine_backend_internal_usermanager_core_domain_GeneralResources; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GeneralResources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GeneralResources.ts new file mode 100644 index 000000000..5592cab61 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GeneralResources.ts @@ -0,0 +1,9 @@ +import type { page_engine_backend_internal_usermanager_core_domain_UsedLimit } from "./page-engine-backend_internal_usermanager_core_domain.UsedLimit.js"; + +export type page_engine_backend_internal_usermanager_core_domain_GeneralResources = + { + api_units?: page_engine_backend_internal_usermanager_core_domain_UsedLimit; + service_credits?: page_engine_backend_internal_usermanager_core_domain_UsedLimit; + service_units?: page_engine_backend_internal_usermanager_core_domain_UsedLimit; + users?: page_engine_backend_internal_usermanager_core_domain_UsedLimit; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GlobalLimitType.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GlobalLimitType.ts new file mode 100644 index 000000000..689159660 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GlobalLimitType.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_GlobalLimitType = + "service_units"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Goal.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Goal.ts new file mode 100644 index 000000000..67fd25a65 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Goal.ts @@ -0,0 +1,59 @@ +import type { page_engine_backend_internal_usermanager_core_domain_GoalDateType } from "./page-engine-backend_internal_usermanager_core_domain.GoalDateType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalObjectiveValueType } from "./page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalType } from "./page-engine-backend_internal_usermanager_core_domain.GoalType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_GoalValue } from "./page-engine-backend_internal_usermanager_core_domain.GoalValue.js"; + +export type page_engine_backend_internal_usermanager_core_domain_Goal = { + /** + * Is set when the goal is objective + * @format date + * @example "2024-01-01" + */ + date_from?: string; + /** + * Is set when the goal is objective + * @format date + * @example "2024-02-01" + */ + date_to?: string; + /** + * We can have monthly goals now + */ + date_type?: page_engine_backend_internal_usermanager_core_domain_GoalDateType; + /** + * ID is the goal ID in the system + */ + id: string; + /** + * May be null if we have only upper value in the threshold + */ + lower_value?: number; + metric_id: string; + name: string; + /** + * ### Single objective value + * `value` is used for `single` `objective_value_type` + * ### Multiple objective values + * `values` is used for `multiple` `objective_value_type` + */ + objective_value_type?: page_engine_backend_internal_usermanager_core_domain_GoalObjectiveValueType; + /** + * ### Threshold goal + * `upper_value` and `lower_value` are used for threshold goals + * ### Objective goal + * `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + */ + type: page_engine_backend_internal_usermanager_core_domain_GoalType; + /** + * Is set when the goal is threshold + */ + upper_value?: number; + /** + * Set when the goal is single objective + */ + value?: number; + /** + * Set when the goal is multiple objective + */ + values?: Array; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalDateType.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalDateType.ts new file mode 100644 index 000000000..7e27df906 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalDateType.ts @@ -0,0 +1,3 @@ +export type page_engine_backend_internal_usermanager_core_domain_GoalDateType = + | "month" + | "quarter"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType.ts new file mode 100644 index 000000000..8c7ce5103 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_GoalObjectiveValueType = + "single" | "multiple"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalType.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalType.ts new file mode 100644 index 000000000..e5b727d48 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalType.ts @@ -0,0 +1,3 @@ +export type page_engine_backend_internal_usermanager_core_domain_GoalType = + | "threshold" + | "objective"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalValue.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalValue.ts new file mode 100644 index 000000000..7478ced7b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.GoalValue.ts @@ -0,0 +1,8 @@ +export type page_engine_backend_internal_usermanager_core_domain_GoalValue = { + /** + * @format date + * @example "2024-01-01" + */ + date: string; + value: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProject.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProject.ts new file mode 100644 index 000000000..961140d5f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProject.ts @@ -0,0 +1,16 @@ +export type page_engine_backend_internal_usermanager_core_domain_InternalProject = + { + benchmarks?: number; + core_id?: number; + crawlers?: number; + domain?: string; + id?: string; + keywords?: number; + preferred_urls?: number; + published_at?: string; + publishing_failed_reason?: string; + segments?: number; + tags?: number; + targets?: number; + title?: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2.ts new file mode 100644 index 000000000..438bc3b5e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2.ts @@ -0,0 +1,12 @@ +import type { rbac_RoleName } from "./rbac.RoleName.js"; + +export type page_engine_backend_internal_usermanager_core_domain_InternalProjectV2 = + { + core_id?: number; + domain?: string; + id?: string; + published_at?: string; + role?: rbac_RoleName; + title?: string; + workspace_id?: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List.ts new file mode 100644 index 000000000..3e73b5642 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_InternalProjectV2 } from "./page-engine-backend_internal_usermanager_core_domain.InternalProjectV2.js"; + +export type page_engine_backend_internal_usermanager_core_domain_InternalProjectV2List = + { + projects?: Array; + total?: number; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordTags.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordTags.ts new file mode 100644 index 000000000..16758e8f2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordTags.ts @@ -0,0 +1,6 @@ +import type { page_engine_backend_internal_usermanager_core_domain_TagWithSearch } from "./page-engine-backend_internal_usermanager_core_domain.TagWithSearch.js"; + +export type page_engine_backend_internal_usermanager_core_domain_KeywordTags = { + items?: Array; + total?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics.ts new file mode 100644 index 000000000..3442eae03 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics.ts @@ -0,0 +1,12 @@ +import type { page_engine_backend_internal_usermanager_core_domain_KeywordTags } from "./page-engine-backend_internal_usermanager_core_domain.KeywordTags.js"; + +export type page_engine_backend_internal_usermanager_core_domain_KeywordWithMetrics = + { + id?: string; + name?: string; + position?: number; + search_volume?: number; + tags?: page_engine_backend_internal_usermanager_core_domain_KeywordTags; + traffic?: number; + url?: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse.ts new file mode 100644 index 000000000..d0b6b7a50 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse.ts @@ -0,0 +1,10 @@ +import type { page_engine_backend_internal_usermanager_core_domain_KeywordWithMetrics } from "./page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics.js"; + +export type page_engine_backend_internal_usermanager_core_domain_KeywordsWithMetricsResponse = + { + all_total?: number; + items?: Array; + page?: number; + total?: number; + unassigned?: number; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID.ts new file mode 100644 index 000000000..55033a09f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID.ts @@ -0,0 +1,15 @@ +import type { page_engine_backend_internal_usermanager_core_domain_MetricRangeFilter } from "./page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter.js"; + +export type page_engine_backend_internal_usermanager_core_domain_KeywordsWithTagsRequestAndTagID = + { + draft?: boolean; + filters?: Array; + limit?: number; + page?: number; + search?: string; + sort?: string; + sort_dir?: string; + tag_id?: string; + unassigned_only?: boolean; + with_hierarchy?: boolean; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs.ts new file mode 100644 index 000000000..ee745c7cd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs.ts @@ -0,0 +1,15 @@ +import type { page_engine_backend_internal_usermanager_core_domain_MetricRangeFilter } from "./page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter.js"; + +export type page_engine_backend_internal_usermanager_core_domain_KeywordsWithTagsRequestAndTagIDs = + { + draft?: boolean; + filters?: Array; + limit?: number; + page?: number; + search?: string; + sort?: string; + sort_dir?: string; + tag_ids?: Array; + unassigned_only?: boolean; + with_hierarchy?: boolean; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.MembershipStatus.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.MembershipStatus.ts new file mode 100644 index 000000000..a9ddef271 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.MembershipStatus.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_MembershipStatus = + "member" | "guest" | "basic"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter.ts new file mode 100644 index 000000000..46692ef1e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_MetricRangeFilter = + { field?: string; from?: number; to?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources.ts new file mode 100644 index 000000000..ce72f80c5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_General } from "./page-engine-backend_internal_usermanager_core_domain.General.js"; + +export type page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources = + { + general?: page_engine_backend_internal_usermanager_core_domain_General; + product_resources?: { [key: string]: unknown }; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Product.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Product.ts new file mode 100644 index 000000000..a1d73648d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Product.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type page_engine_backend_internal_usermanager_core_domain_Product = { + id?: page_engine_backend_internal_usermanager_core_domain_ProductID; + limits_enabled?: boolean; + name?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID.ts new file mode 100644 index 000000000..d24fd2050 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID.ts @@ -0,0 +1,5 @@ +export type page_engine_backend_internal_usermanager_core_domain_ProductID = + | "seo" + | "ai" + | "si" + | "ci"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata.ts new file mode 100644 index 000000000..e2fbb42c4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata.ts @@ -0,0 +1,4 @@ +import type { rbac_RoleName } from "./rbac.RoleName.js"; + +export type page_engine_backend_internal_usermanager_core_domain_ProductProjectMetadata = + { id?: string; role?: rbac_RoleName; shared_with?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier.ts new file mode 100644 index 000000000..5d9771631 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_Product } from "./page-engine-backend_internal_usermanager_core_domain.Product.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Tier } from "./page-engine-backend_internal_usermanager_core_domain.Tier.js"; + +export type page_engine_backend_internal_usermanager_core_domain_ProductTier = { + product?: page_engine_backend_internal_usermanager_core_domain_Product; + tier?: page_engine_backend_internal_usermanager_core_domain_Tier; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs.ts new file mode 100644 index 000000000..c62c1bc26 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs.ts @@ -0,0 +1,7 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type page_engine_backend_internal_usermanager_core_domain_ProductTierIDs = + { + product_id: page_engine_backend_internal_usermanager_core_domain_ProductID; + tier_id: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps.ts new file mode 100644 index 000000000..2b23e36ff --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps.ts @@ -0,0 +1,9 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type page_engine_backend_internal_usermanager_core_domain_ProductTierWithTimestamps = + { + created_at?: string; + last_updated_at?: string; + product_id?: page_engine_backend_internal_usermanager_core_domain_ProductID; + tier_id?: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectOwner.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectOwner.ts new file mode 100644 index 000000000..5d434a580 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectOwner.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_ProjectOwner = + { email?: string; id?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus.ts new file mode 100644 index 000000000..6a6aeca76 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus.ts @@ -0,0 +1,7 @@ +export type page_engine_backend_internal_usermanager_core_domain_ProjectStatus = + | "draft" + | "live" + | "publishing" + | "initial_publish_failed" + | "live_with_unpublished_updates" + | "subsequent_publish_failed"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SOXProductActivation.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SOXProductActivation.ts new file mode 100644 index 000000000..27dd5ce34 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SOXProductActivation.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_SOXProductActivation = + { product_activation_date?: string; product_name?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SOXWorkspace.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SOXWorkspace.ts new file mode 100644 index 000000000..7b79a4c78 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SOXWorkspace.ts @@ -0,0 +1,13 @@ +import type { page_engine_backend_internal_usermanager_core_domain_SOXProductActivation } from "./page-engine-backend_internal_usermanager_core_domain.SOXProductActivation.js"; + +export type page_engine_backend_internal_usermanager_core_domain_SOXWorkspace = + { + ownerID?: number; + products?: Array; + status?: string; + subscription_activation_date?: string; + subscription_expiration_date?: string; + subscription_id?: number; + workspace_name?: string; + workspace_owner?: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SegmentColumn.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SegmentColumn.ts new file mode 100644 index 000000000..81e2b0a7e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.SegmentColumn.ts @@ -0,0 +1,15 @@ +export type page_engine_backend_internal_usermanager_core_domain_SegmentColumn = + | "url" + | "url_list" + | "keyword" + | "keyword_list" + | "traffic" + | "position" + | "search_volume" + | "keyword_intent" + | "country" + | "device" + | "clicks" + | "impressions" + | "ctr" + | "gsc_position"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TagWithSearch.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TagWithSearch.ts new file mode 100644 index 000000000..540dadfd7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TagWithSearch.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_TagWithSearch = + { id?: string; name?: string; parent_id?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Tier.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Tier.ts new file mode 100644 index 000000000..141f3da0c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Tier.ts @@ -0,0 +1,5 @@ +export type page_engine_backend_internal_usermanager_core_domain_Tier = { + id?: string; + name?: string; + rank?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Transaction.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Transaction.ts new file mode 100644 index 000000000..acd00a9c9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.Transaction.ts @@ -0,0 +1,25 @@ +import type { page_engine_backend_internal_usermanager_core_domain_GlobalLimitType } from "./page-engine-backend_internal_usermanager_core_domain.GlobalLimitType.js"; +import type { page_engine_backend_internal_usermanager_core_domain_TransactionOperation } from "./page-engine-backend_internal_usermanager_core_domain.TransactionOperation.js"; +import type { page_engine_backend_internal_usermanager_core_domain_TxProductLimit } from "./page-engine-backend_internal_usermanager_core_domain.TxProductLimit.js"; +import type { page_engine_backend_internal_usermanager_core_domain_TransactionServiceType } from "./page-engine-backend_internal_usermanager_core_domain.TransactionServiceType.js"; + +export type page_engine_backend_internal_usermanager_core_domain_Transaction = { + amount?: number; + balance_after?: number; + balance_before?: number; + date?: string; + global_limit_key?: page_engine_backend_internal_usermanager_core_domain_GlobalLimitType; + id?: string; + iid?: number; + operation?: page_engine_backend_internal_usermanager_core_domain_TransactionOperation; + owner_id?: number; + owner_name?: string; + product_limit?: page_engine_backend_internal_usermanager_core_domain_TxProductLimit; + receipt_id?: number; + receipt_name?: string; + reference_transaction_id?: string; + service_id?: string; + service_type?: page_engine_backend_internal_usermanager_core_domain_TransactionServiceType; + title?: string; + workspace_id?: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionOperation.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionOperation.ts new file mode 100644 index 000000000..35ae9a362 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionOperation.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_TransactionOperation = + "debit" | "credit"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionServiceType.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionServiceType.ts new file mode 100644 index 000000000..472af5f39 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionServiceType.ts @@ -0,0 +1,8 @@ +export type page_engine_backend_internal_usermanager_core_domain_TransactionServiceType = + + | "job_hourly" + | "job_fixed" + | "seo_workflow" + | "service_fee" + | "si_crawler" + | "ai_insights"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TxProductLimit.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TxProductLimit.ts new file mode 100644 index 000000000..932ed77ec --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.TxProductLimit.ts @@ -0,0 +1,13 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type page_engine_backend_internal_usermanager_core_domain_TxProductLimit = + { + /** + * @example "pages" + */ + enterprise_limit_key?: string; + /** + * @example "si" + */ + product_id?: page_engine_backend_internal_usermanager_core_domain_ProductID; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit.ts new file mode 100644 index 000000000..ef0dd41cf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit.ts @@ -0,0 +1,5 @@ +export type page_engine_backend_internal_usermanager_core_domain_UsedLimit = { + drafted?: number; + total?: number; + used?: number; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.User.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.User.ts new file mode 100644 index 000000000..fcda757e2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.User.ts @@ -0,0 +1,8 @@ +import type { page_engine_backend_internal_usermanager_core_domain_EsType } from "./page-engine-backend_internal_usermanager_core_domain.EsType.js"; + +export type page_engine_backend_internal_usermanager_core_domain_User = { + e_mail?: string; + es_type?: page_engine_backend_internal_usermanager_core_domain_EsType; + id?: number; + invite_accepted?: boolean; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.ts new file mode 100644 index 000000000..0b8159acc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_WorkspaceParent = + { id?: string; title?: string }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources.ts new file mode 100644 index 000000000..32c4fcff7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources.ts @@ -0,0 +1,10 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductID } from "./page-engine-backend_internal_usermanager_core_domain.ProductID.js"; + +export type page_engine_backend_internal_usermanager_core_domain_WorkspaceProductResources = + { + /** + * @example "si" + */ + product_id?: page_engine_backend_internal_usermanager_core_domain_ProductID; + resources?: { [key: string]: number }; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal.ts new file mode 100644 index 000000000..e68c4ec3c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal.ts @@ -0,0 +1,8 @@ +export type page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesGlobal = + { + api_units?: number; + logfile_analysis_mb_used?: number; + service_credits?: number; + service_units?: number; + users?: number; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO.ts new file mode 100644 index 000000000..d07803ab0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO.ts @@ -0,0 +1,2 @@ +export type page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesSEO = + { keywords?: number; pagespeed_urls?: number; projects?: number }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2.ts new file mode 100644 index 000000000..a4ab665f0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2.ts @@ -0,0 +1,10 @@ +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesGlobal } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal.js"; +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceProductResources } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources.js"; +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesSEO } from "./page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO.js"; + +export type page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesV2 = + { + general?: page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesGlobal; + product_resources?: Array; + seo?: page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesSEO; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert.ts new file mode 100644 index 000000000..8d9cf05b4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert.ts @@ -0,0 +1,12 @@ +import type { page_engine_backend_internal_usermanager_core_domain_ProductTierIDs } from "./page-engine-backend_internal_usermanager_core_domain.ProductTierIDs.js"; + +export type page_engine_backend_internal_usermanager_core_domain_WorkspaceUpsert = + { + icon?: string; + /** + * @default false + */ + partnership_enabled?: boolean; + product_tiers?: Array; + title: string; + }; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/rbac.RoleName.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/rbac.RoleName.ts new file mode 100644 index 000000000..dd5bcd44d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/definitions/rbac.RoleName.ts @@ -0,0 +1,11 @@ +export type rbac_RoleName = + | "role/workspace/owner" + | "role/workspace/admin" + | "role/workspace/editor" + | "role/workspace/viewer" + | "role/workspace/collaborator" + | "role/workspace/content-writer" + | "role/project/editor" + | "role/project/viewer" + | "role/keywords_list/editor" + | "role/keywords_list/viewer"; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/core-users.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/core-users.types.ts new file mode 100644 index 000000000..465787cd5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/core-users.types.ts @@ -0,0 +1,100 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_CoreUserWithAPIKey } from "../../../definitions/handlers.CoreUserWithAPIKey.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * gets core users with ids + */ +export type adminCoreUsersList = ( + $: OmitValueWhenNever<{ + query: adminCoreUsersList_Query; + querystring: never; + path: never; + headers: adminCoreUsersList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminCoreUsersList_Query = { + /** + * user id + * @format multi + */ + user_id?: Array; +}; + +export type adminCoreUsersList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users.types.ts new file mode 100644 index 000000000..befc726c9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users.types.ts @@ -0,0 +1,66 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_usersCreateForm } from "../../../definitions/handlers.usersCreateForm.js"; + +/** + * Creates a new enterprise user based on an existing Semrush user and workspace if provided. + * Leave workspace as null to create user w/o workspace. + */ +export type usersCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: usersCreate_Headers; + cookie: never; + body: handlers_usersCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type usersCreate_Headers = { + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users/billing-status.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users/billing-status.types.ts new file mode 100644 index 000000000..ec329260f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users/billing-status.types.ts @@ -0,0 +1,103 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_userIDsRequest } from "../../../../definitions/handlers.userIDsRequest.js"; +import type { handlers_billingStatusResponse } from "../../../../definitions/handlers.billingStatusResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * Returns billing status for multiple users by user IDs + */ +export type adminGetUserBillingStatuses = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: adminGetUserBillingStatuses_Headers; + cookie: never; + body: handlers_userIDsRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminGetUserBillingStatuses_Headers = { + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users/expired.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users/expired.types.ts new file mode 100644 index 000000000..130cc42be --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/users/expired.types.ts @@ -0,0 +1,69 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_CoreUser } from "../../../../definitions/handlers.CoreUser.js"; + +/** + * Gets a list of users which have expired subscriptions + */ +export type expiredSubscriptionUsers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: expiredSubscriptionUsers_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type expiredSubscriptionUsers_Headers = { + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces.types.ts new file mode 100644 index 000000000..1aefa420c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces.types.ts @@ -0,0 +1,83 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_adminWorkspaceCreateForm } from "../../../definitions/handlers.adminWorkspaceCreateForm.js"; +import type { handlers_workspaceResponse } from "../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * creates a child workspace + */ +export type adminWorkspaceChildCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: adminWorkspaceChildCreate_Headers; + cookie: never; + body: handlers_adminWorkspaceCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminWorkspaceChildCreate_Headers = { + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/activation-panel/app.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/activation-panel/app.types.ts new file mode 100644 index 000000000..7bc182b74 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/activation-panel/app.types.ts @@ -0,0 +1,85 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets you index.html of an spa that is hosted for Admin + */ +export type activationPanelSpa = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelSpa_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "text/html": { + schema: unknown; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "text/html": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "text/html": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "text/html": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelSpa_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/create.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/create.types.ts new file mode 100644 index 000000000..5ad0dccc5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/create.types.ts @@ -0,0 +1,102 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_activationPanelWorkspaceCreateForm } from "../../../../../definitions/handlers.activationPanelWorkspaceCreateForm.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * creates a master workspace (made for Activation Panel) + */ +export type activationPanelWorkspaceCreateMaster = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelWorkspaceCreateMaster_Headers; + cookie: never; + body: handlers_activationPanelWorkspaceCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelWorkspaceCreateMaster_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/list.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/list.types.ts new file mode 100644 index 000000000..97ec77107 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/list.types.ts @@ -0,0 +1,86 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_ActivationPanelWorkspace } from "../../../../../definitions/handlers.ActivationPanelWorkspace.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * returns all first-level workspaces (children of the root) including their limits as well as the full hierarchy of their descendant workspaces with limits + */ +export type activationPanelGetAllWorkspaces = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelGetAllWorkspaces_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelGetAllWorkspaces_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/logs.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/logs.types.ts new file mode 100644 index 000000000..92d5e27e8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/logs.types.ts @@ -0,0 +1,109 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_ActivationPanelAdminActivityResponse } from "../../../../../definitions/handlers.ActivationPanelAdminActivityResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * lists all admin activity logs for Activation Panel + */ +export type activationPanelGetAllAdminActivities = ( + $: OmitValueWhenNever<{ + query: activationPanelGetAllAdminActivities_Query; + querystring: never; + path: never; + headers: activationPanelGetAllAdminActivities_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_ActivationPanelAdminActivityResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelGetAllAdminActivities_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * filter by admin user ID + */ + admin_id?: string; + /** + * filter by workspace ID (UUID format) + */ + workspace_id?: string; + /** + * filter by action name + */ + action?: string; +}; + +export type activationPanelGetAllAdminActivities_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organization/{id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organization/{id}.types.ts new file mode 100644 index 000000000..e680ce4f5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organization/{id}.types.ts @@ -0,0 +1,86 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_ActivationPanelWorkspaceWithLimits } from "../../../../../../definitions/handlers.ActivationPanelWorkspaceWithLimits.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Returns a single workspace (by id) with all the data necessary for Activation Panel, including limits and child workspaces. + */ +export type activationPanelGetWorkspace = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelGetWorkspace_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_ActivationPanelWorkspaceWithLimits; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelGetWorkspace_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organization/{id}/users-report.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organization/{id}/users-report.types.ts new file mode 100644 index 000000000..62e5620e2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organization/{id}/users-report.types.ts @@ -0,0 +1,92 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API lists all users associated with a specific workspace and its child workspaces and returns a CSV file. + */ +export type activationPanelUsersReport = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelUsersReport_Path; + headers: activationPanelUsersReport_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: string; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelUsersReport_Path = { + /** + * Workspace ID (UUID) + */ + id: string; +}; + +export type activationPanelUsersReport_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organizations.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organizations.types.ts new file mode 100644 index 000000000..bce109242 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/organizations.types.ts @@ -0,0 +1,97 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_ActivationPanelWorkspaceListResponse } from "../../../../../definitions/handlers.ActivationPanelWorkspaceListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * lists all organizations workspaces required for Activation Panel. Only first-level workspaces are returned without their limits and children – kept for backward compatibility with organization route. + */ +export type activationPanelGetAllOrganizations = ( + $: OmitValueWhenNever<{ + query: activationPanelGetAllOrganizations_Query; + querystring: never; + path: never; + headers: activationPanelGetAllOrganizations_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_ActivationPanelWorkspaceListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelGetAllOrganizations_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type activationPanelGetAllOrganizations_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/permissions.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/permissions.types.ts new file mode 100644 index 000000000..749de4a17 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/permissions.types.ts @@ -0,0 +1,86 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_ActivationPanelPermissionsResponse } from "../../../../../definitions/handlers.ActivationPanelPermissionsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * creates a master workspace (made for Activation Panel) + */ +export type activationPanelWorkspacePermissions = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelWorkspacePermissions_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_ActivationPanelPermissionsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelWorkspacePermissions_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/subscriptions/update.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/subscriptions/update.types.ts new file mode 100644 index 000000000..a602d7e73 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/subscriptions/update.types.ts @@ -0,0 +1,69 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_activationPanelSubscriptionForm } from "../../../../../../definitions/handlers.activationPanelSubscriptionForm.js"; + +/** + * updates subscription details for a workspace and its children + */ +export type activationPanelSubscriptionUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelSubscriptionUpdate_Headers; + cookie: never; + body: handlers_activationPanelSubscriptionForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelSubscriptionUpdate_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/update/{id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/update/{id}.types.ts new file mode 100644 index 000000000..c03960d2e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/update/{id}.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceUpsert } from "../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * updates a workspace matching with id (made for Activation Panel). Title and icon can be updated for any workspace (including child workspaces). Icon can be set to empty string. Product tiers can only be updated for master workspaces (direct children of root workspace). + */ +export type activationPanelWorkspaceUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelWorkspaceUpdate_Path; + headers: activationPanelWorkspaceUpdate_Headers; + cookie: never; + body: page_engine_backend_internal_usermanager_core_domain_WorkspaceUpsert; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelWorkspaceUpdate_Path = { + /** + * workspace id + */ + id: string; +}; + +export type activationPanelWorkspaceUpdate_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/users/{email}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/users/{email}.types.ts new file mode 100644 index 000000000..b23d531fb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/users/{email}.types.ts @@ -0,0 +1,93 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_ActivationPanelBillingStatusCoreAccountId } from "../../../../../../definitions/handlers.ActivationPanelBillingStatusCoreAccountId.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * checks if customer can be activated + */ +export type activationPanelCheckOwnerEmail = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelCheckOwnerEmail_Path; + headers: activationPanelCheckOwnerEmail_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_ActivationPanelBillingStatusCoreAccountId; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelCheckOwnerEmail_Path = { + /** + * customer's email + */ + email: string; +}; + +export type activationPanelCheckOwnerEmail_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces.types.ts new file mode 100644 index 000000000..c67857e55 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces.types.ts @@ -0,0 +1,86 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_ActivationPanelWorkspaceMetadata } from "../../../../../definitions/handlers.ActivationPanelWorkspaceMetadata.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * retrieves all workspaces with basic metadata fields: ID, Title, Icon, and ParentID (made for Activation Panel) + */ +export type activationPanelAllWorkspacesFind = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelAllWorkspacesFind_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelAllWorkspacesFind_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.types.ts new file mode 100644 index 000000000..c26413ab3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings.types.ts @@ -0,0 +1,197 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_activationPanelAIOPromptSettingsForm } from "../../../../../../../../definitions/handlers.activationPanelAIOPromptSettingsForm.js"; +import type { handlers_activationPanelAIOPromptSettingsGetForm } from "../../../../../../../../definitions/handlers.activationPanelAIOPromptSettingsGetForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Endpoint to get daily or weekly (with day of week) prompt settings for AIO product. + */ +export type activationPanelAioSettingsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelAioSettingsGet_Headers; + cookie: never; + body: handlers_activationPanelAIOPromptSettingsForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_activationPanelAIOPromptSettingsGetForm; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Endpoint to create or update daily or weekly (with day of week) prompt settings for AIO product. + */ +export type activationPanelAioSettingsUpsert = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelAioSettingsUpsert_Headers; + cookie: never; + body: handlers_activationPanelAIOPromptSettingsForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelAioSettingsGet_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; + +export type activationPanelAioSettingsUpsert_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/products.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/products.types.ts new file mode 100644 index 000000000..c34c2f804 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/products.types.ts @@ -0,0 +1,103 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceProduct } from "../../../../../../../definitions/handlers.workspaceProduct.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Returns a list of products (with ID and name) that are enabled for a specific workspace + */ +export type activationPanelWorkspaceProductsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelWorkspaceProductsGet_Path; + headers: activationPanelWorkspaceProductsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelWorkspaceProductsGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type activationPanelWorkspaceProductsGet_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/projects.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/projects.types.ts new file mode 100644 index 000000000..b46f70dee --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/projects.types.ts @@ -0,0 +1,140 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_AdminProjectsResponse } from "../../../../../../../definitions/handlers.AdminProjectsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Returns a paginated list of projects for a specific workspace with support for search, sorting, and status filtering using cursor-based pagination. If next_cursor is not provided, results are returned from the start. Use the next_cursor value from the response to fetch subsequent pages. + */ +export type activationPanelProjectsFind = ( + $: OmitValueWhenNever<{ + query: activationPanelProjectsFind_Query; + querystring: never; + path: activationPanelProjectsFind_Path; + headers: activationPanelProjectsFind_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdminProjectsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelProjectsFind_Query = { + /** + * Search term for filtering projects + */ + search?: string; + /** + * Sort direction (ASC/DESC, default: DESC) + */ + sort_direction?: "ASC" | "DESC"; + /** + * Field to sort by (created_at/last_updated_at) + */ + sort_field?: "created_at" | "last_updated_at"; + /** + * Filter by project status + */ + status?: + | "draft" + | "live" + | "publishing" + | "initial_publish_failed" + | "live_with_unpublished_updates" + | "subsequent_publish_failed"; + /** + * Filter by product + */ + product?: "seo" | "ai" | "si" | "ci"; + /** + * Cursor for pagination (obtain from previous response's next_cursor field). If omitted, starts from the beginning. Cursors are signed and validated to ensure query consistency. + */ + next_cursor?: string; + /** + * Page size (max 50) + */ + limit?: number; +}; + +export type activationPanelProjectsFind_Path = { + /** + * Workspace ID (UUID) + */ + id: string; +}; + +export type activationPanelProjectsFind_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/projects/transfer.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/projects/transfer.types.ts new file mode 100644 index 000000000..2ed76221a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/projects/transfer.types.ts @@ -0,0 +1,103 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_adminProjectTransferForm } from "../../../../../../../../definitions/handlers.adminProjectTransferForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Transfers a list of projects from a source workspace to a target workspace. Only AI projects with transferable status can be moved. SEO and SI projects will be marked as failed. The endpoint validates target workspace product enablement, available resource limits (projects, keywords, pages, prompts, pagespeed URLs), and RBAC roles. Users with explicit project roles or workspace roles in the source workspace will be granted appropriate roles in the target workspace. Returns a map of failed project IDs with failure reasons (empty map indicates all projects transferred successfully). + */ +export type activationPanelProjectsTransfer = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelProjectsTransfer_Path; + headers: activationPanelProjectsTransfer_Headers; + cookie: never; + body: handlers_adminProjectTransferForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: string }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelProjectsTransfer_Path = { + /** + * Source Workspace ID (UUID) + */ + id: string; +}; + +export type activationPanelProjectsTransfer_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/resources.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/resources.types.ts new file mode 100644 index 000000000..65dd3ffb2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/resources.types.ts @@ -0,0 +1,93 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources } from "../../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Returns workspace resources including general resources (users, service credits, API units) and product-specific resources (SEO, AI, SI) for a specific workspace + */ +export type activationPanelWorkspaceResources = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelWorkspaceResources_Path; + headers: activationPanelWorkspaceResources_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelWorkspaceResources_Path = { + /** + * workspace id + */ + id: string; +}; + +export type activationPanelWorkspaceResources_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report.types.ts new file mode 100644 index 000000000..d1e72f1be --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report.types.ts @@ -0,0 +1,98 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Get report for SMB projects migration for given workspaceID as comma separated csv + */ +export type activationPanelProjectsMigrationReport = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelProjectsMigrationReport_Path; + headers: activationPanelProjectsMigrationReport_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelProjectsMigrationReport_Path = { + /** + * Target Workspace ID (UUID) + */ + id: string; +}; + +export type activationPanelProjectsMigrationReport_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration.types.ts new file mode 100644 index 000000000..be0d2038e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/workspaces/{id}/smb-migration.types.ts @@ -0,0 +1,99 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_adminSmbProjectMigrationForm } from "../../../../../../../definitions/handlers.adminSmbProjectMigrationForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Migrate SMB projects from list of corporate owners to target workspace + */ +export type activationPanelProjectsMigration = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: activationPanelProjectsMigration_Path; + headers: activationPanelProjectsMigration_Headers; + cookie: never; + body: handlers_adminSmbProjectMigrationForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelProjectsMigration_Path = { + /** + * Target Workspace ID (UUID) + */ + id: string; +}; + +export type activationPanelProjectsMigration_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/{id}/expire-subscription.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/{id}/expire-subscription.types.ts new file mode 100644 index 000000000..7cf02e198 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/api/{id}/expire-subscription.types.ts @@ -0,0 +1,83 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; + +/** + * This API updates the expiration date for a partnership workspace. + */ +export type adminWorkspaceUpdateExpiration = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adminWorkspaceUpdateExpiration_Path; + headers: adminWorkspaceUpdateExpiration_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminWorkspaceUpdateExpiration_Path = { + /** + * Workspace ID (UUID) + */ + id: string; +}; + +export type adminWorkspaceUpdateExpiration_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/managers.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/managers.types.ts new file mode 100644 index 000000000..bb4c5261a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/managers.types.ts @@ -0,0 +1,71 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * imports workspace managers from CSV data where each row contains a workspace ID and its manager user IDs + */ +export type workspaceManagerImport = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: workspaceManagerImport_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceManagerImport_Headers = { + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/master.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/master.types.ts new file mode 100644 index 000000000..638f1166b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/master.types.ts @@ -0,0 +1,73 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_adminWorkspaceUpsertForm } from "../../../../definitions/handlers.adminWorkspaceUpsertForm.js"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * creates a master workspace + */ +export type adminWorkspaceCreateMaster = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: adminWorkspaceCreateMaster_Headers; + cookie: never; + body: handlers_adminWorkspaceUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminWorkspaceCreateMaster_Headers = { + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/tiers.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/tiers.types.ts new file mode 100644 index 000000000..062e7ac7c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/tiers.types.ts @@ -0,0 +1,86 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_tiersResponse } from "../../../../definitions/handlers.tiersResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API returns list of available tiers + */ +export type activationPanelTiersList = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelTiersList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tiersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelTiersList_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/partnership.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/partnership.types.ts new file mode 100644 index 000000000..076af8ecb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/partnership.types.ts @@ -0,0 +1,77 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; + +/** + * This API updates the partnership flag for a workspace. + */ +export type adminWorkspaceUpdatePartnership = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adminWorkspaceUpdatePartnership_Path; + headers: adminWorkspaceUpdatePartnership_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminWorkspaceUpdatePartnership_Path = { + /** + * Workspace ID (UUID) + */ + id: string; +}; + +export type adminWorkspaceUpdatePartnership_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/products.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/products.types.ts new file mode 100644 index 000000000..c4c77526a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/products.types.ts @@ -0,0 +1,183 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API updates a product and its tier in a workspace. If the product already exists, the API updates the tier. + * Changes to the product and tier are automatically propagated to the child workspaces. + * If the update is for a root workspace, the product and its tier will only be updated for the root workspace and will not propagate to all workspaces in the system. + * This API only applies to master workspaces and cannot be used for non-master workspaces. + */ +export type adminWorkspaceProductUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adminWorkspaceProductUpdate_Path; + headers: adminWorkspaceProductUpdate_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * This API allows adding a product and its tier to the master workspace. + * If the product already exists, the tier will be updated for the workspace. + * For root workspaces, the product is added or updated only in the root workspace. + * Note: This API cannot be used to add products and tiers to non-master workspaces. + */ +export type adminWorkspaceProductCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adminWorkspaceProductCreate_Path; + headers: adminWorkspaceProductCreate_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminWorkspaceProductUpdate_Path = { + /** + * Workspace ID (UUID) + */ + id: string; +}; + +export type adminWorkspaceProductUpdate_Headers = { + /** + * API key + */ + "API-Key": string; +}; + +export type adminWorkspaceProductCreate_Path = { + /** + * Workspace ID (UUID) + */ + id: string; +}; + +export type adminWorkspaceProductCreate_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/products/{product_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/products/{product_id}.types.ts new file mode 100644 index 000000000..8be36d39e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/products/{product_id}.types.ts @@ -0,0 +1,83 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; + +/** + * This API deletes a product and its tier from a master workspace. If the product is removed from the root workspace, it will only be deleted from the root workspace and not from all workspaces in the system. + * For non-root workspaces, the product and its tier are automatically deleted from the workspace and its child workspaces. + * Note: This API can only be used to delete products from master workspaces. Non-master workspaces' products cannot be deleted using this API. + */ +export type adminWorkspaceProductDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adminWorkspaceProductDelete_Path; + headers: adminWorkspaceProductDelete_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminWorkspaceProductDelete_Path = { + /** + * Workspace ID (UUID) + */ + id: string; + /** + * Product ID (UUID) + */ + product_id: string; +}; + +export type adminWorkspaceProductDelete_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/projects/{project_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/projects/{project_id}.types.ts new file mode 100644 index 000000000..5a1b9c227 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/admin/workspaces/{id}/projects/{project_id}.types.ts @@ -0,0 +1,103 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_projectDeleteResponse } from "../../../../../../definitions/handlers.projectDeleteResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * deletes an ES project which is already deleted from core + */ +export type adminEsProjectDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adminEsProjectDelete_Path; + headers: adminEsProjectDelete_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectDeleteResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adminEsProjectDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type adminEsProjectDelete_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/credentials.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/credentials.types.ts new file mode 100644 index 000000000..c6b731a41 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/credentials.types.ts @@ -0,0 +1,71 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_AdobeCredentialsCreateRequest } from "../../../definitions/handlers.AdobeCredentialsCreateRequest.js"; +import type { handlers_AdobeCredentialsInfo } from "../../../definitions/handlers.AdobeCredentialsInfo.js"; + +/** + * Deprecated: use POST /v2/adobe-analytics/credentials instead (returns credential_id, not adobe_proxy_auth_id). + * @deprecated + */ +export type adobeAnalyticsCreateCredentials = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: adobeAnalyticsCreateCredentials_Headers; + cookie: never; + body: handlers_AdobeCredentialsCreateRequest; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeCredentialsInfo; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsCreateCredentials_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/status/bulk.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/status/bulk.types.ts new file mode 100644 index 000000000..c64512d83 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/status/bulk.types.ts @@ -0,0 +1,71 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeBulkStatusRequest } from "../../../../definitions/handlers.AdobeBulkStatusRequest.js"; +import type { handlers_AdobeBulkStatusResponse } from "../../../../definitions/handlers.AdobeBulkStatusResponse.js"; + +/** + * Deprecated: will be removed without replacement. Use GET /v2/adobe-analytics/status per credential_id instead. + * @deprecated + */ +export type adobeAnalyticsGetBulkStatus = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: adobeAnalyticsGetBulkStatus_Headers; + cookie: never; + body: handlers_AdobeBulkStatusRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeBulkStatusResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetBulkStatus_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/status.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/status.types.ts new file mode 100644 index 000000000..298c7fec2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/status.types.ts @@ -0,0 +1,77 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeCredentialStatusInfo } from "../../../../definitions/handlers.AdobeCredentialStatusInfo.js"; + +/** + * Deprecated: use GET /v2/adobe-analytics/status with credential_id in query instead. Gets Adobe credentials status by adobe_proxy_auth_id. + * @deprecated + */ +export type adobeAnalyticsGetStatus = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adobeAnalyticsGetStatus_Path; + headers: adobeAnalyticsGetStatus_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeCredentialStatusInfo; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetStatus_Path = { + /** + * adobe_proxy_auth_id identifier + */ + adobe_proxy_auth_id: string; +}; + +export type adobeAnalyticsGetStatus_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions.types.ts new file mode 100644 index 000000000..ead38168b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_Dimension } from "../../../../../definitions/handlers.Dimension.js"; + +/** + * Deprecated: use GET /v2/adobe-analytics/dimensions with credential_id, global_company_id, rsid in query instead. + * @deprecated + */ +export type adobeAnalyticsGetDimensions = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetDimensions_Query; + querystring: never; + path: adobeAnalyticsGetDimensions_Path; + headers: adobeAnalyticsGetDimensions_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetDimensions_Query = { + /** + * Report Suite ID + */ + rsid: string; +}; + +export type adobeAnalyticsGetDimensions_Path = { + /** + * adobe_proxy_auth_id identifier + */ + adobe_proxy_auth_id: string; + /** + * Adobe global company ID + */ + global_company_id: string; +}; + +export type adobeAnalyticsGetDimensions_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation.types.ts new file mode 100644 index 000000000..77334d8dd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation.types.ts @@ -0,0 +1,94 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeAnalyticsValidateRequest } from "../../../../../../definitions/handlers.AdobeAnalyticsValidateRequest.js"; +import type { handlers_AdobeAnalyticsValidateResponse } from "../../../../../../definitions/handlers.AdobeAnalyticsValidateResponse.js"; + +/** + * Deprecated: use POST /v2/adobe-analytics/credentials/metrics-dimensions/validation with credential_id in body instead. + * @deprecated + */ +export type adobeAnalyticsValidate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adobeAnalyticsValidate_Path; + headers: adobeAnalyticsValidate_Headers; + cookie: never; + body: handlers_AdobeAnalyticsValidateRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeAnalyticsValidateResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 429: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsValidate_Path = { + /** + * Adobe Proxy Auth ID + */ + adobe_proxy_auth_id: string; + /** + * Global Company ID + */ + global_company_id: string; +}; + +export type adobeAnalyticsValidate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics.types.ts new file mode 100644 index 000000000..02c1c154a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_Metric } from "../../../../../definitions/handlers.Metric.js"; + +/** + * Deprecated: use GET /v2/adobe-analytics/metrics with credential_id, global_company_id, rsid in query instead. + * @deprecated + */ +export type adobeAnalyticsGetMetrics = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetMetrics_Query; + querystring: never; + path: adobeAnalyticsGetMetrics_Path; + headers: adobeAnalyticsGetMetrics_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetMetrics_Query = { + /** + * Report Suite ID + */ + rsid: string; +}; + +export type adobeAnalyticsGetMetrics_Path = { + /** + * adobe_proxy_auth_id identifier + */ + adobe_proxy_auth_id: string; + /** + * Adobe global company ID + */ + global_company_id: string; +}; + +export type adobeAnalyticsGetMetrics_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites.types.ts new file mode 100644 index 000000000..d16377f23 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites.types.ts @@ -0,0 +1,81 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_ReportSuite } from "../../../../../definitions/handlers.ReportSuite.js"; + +/** + * Deprecated: use GET /v2/adobe-analytics/reportsuites with credential_id and global_company_id in query instead. + * @deprecated + */ +export type adobeAnalyticsGetReportSuites = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adobeAnalyticsGetReportSuites_Path; + headers: adobeAnalyticsGetReportSuites_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetReportSuites_Path = { + /** + * adobe_proxy_auth_id identifier + */ + adobe_proxy_auth_id: string; + /** + * Adobe global company ID + */ + global_company_id: string; +}; + +export type adobeAnalyticsGetReportSuites_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated.types.ts new file mode 100644 index 000000000..caea60ba9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated.types.ts @@ -0,0 +1,94 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeReportSuitesResponse } from "../../../../../../definitions/handlers.AdobeReportSuitesResponse.js"; + +/** + * Deprecated: use GET /v2/adobe-analytics/reportsuites/paginated with credential_id and global_company_id in query instead. + * @deprecated + */ +export type adobeAnalyticsGetReportSuitesPaginated = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetReportSuitesPaginated_Query; + querystring: never; + path: adobeAnalyticsGetReportSuitesPaginated_Path; + headers: adobeAnalyticsGetReportSuitesPaginated_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeReportSuitesResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetReportSuitesPaginated_Query = { + /** + * Number of items per page + * @default 10 + */ + size?: number; + /** + * Page number (1-indexed) + * @default 1 + */ + page?: number; +}; + +export type adobeAnalyticsGetReportSuitesPaginated_Path = { + /** + * adobe_proxy_auth_id identifier + */ + adobe_proxy_auth_id: string; + /** + * Adobe global company ID + */ + global_company_id: string; +}; + +export type adobeAnalyticsGetReportSuitesPaginated_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/countries.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/countries.types.ts new file mode 100644 index 000000000..96541f4d9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/countries.types.ts @@ -0,0 +1,72 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../counterfact-types/index.ts"; +import type { Context } from "../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../counterfact-types/index.ts"; +import type { handlers_Country } from "../../definitions/handlers.Country.js"; +import type { http_server_BasicResponse } from "../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of countries + */ +export type countries = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: countries_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type countries_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/goals/metrics.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/goals/metrics.types.ts new file mode 100644 index 000000000..0ce5b7104 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/goals/metrics.types.ts @@ -0,0 +1,72 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_goalMetricsResponse } from "../../../definitions/handlers.goalMetricsResponse.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * this API returns list of goals metrics + */ +export type goalsMetricsList = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: goalsMetricsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_goalMetricsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type goalsMetricsList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/core-users.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/core-users.types.ts new file mode 100644 index 000000000..81bc4b8c2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/core-users.types.ts @@ -0,0 +1,105 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_CoreUser } from "../../../definitions/handlers.CoreUser.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * gets core users with ids + */ +export type internalCoreUsersList = ( + $: OmitValueWhenNever<{ + query: internalCoreUsersList_Query; + querystring: never; + path: never; + headers: internalCoreUsersList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalCoreUsersList_Query = { + /** + * user id + * @format multi + */ + user_id?: Array; + /** + * comma separated user ids + * @format multi + */ + user_ids?: Array; +}; + +export type internalCoreUsersList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/projects/all.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/projects/all.types.ts new file mode 100644 index 000000000..01561e7ad --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/projects/all.types.ts @@ -0,0 +1,105 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_InternalProjectsList } from "../../../../definitions/handlers.InternalProjectsList.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of live & published projects from all workspaces + */ +export type internalProjectAllList = ( + $: OmitValueWhenNever<{ + query: internalProjectAllList_Query; + querystring: never; + path: never; + headers: internalProjectAllList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_InternalProjectsList; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectAllList_Query = { + /** + * page number + * @default 1 + */ + page?: number; + /** + * page size + * @default 25 + */ + limit?: number; +}; + +export type internalProjectAllList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/projects/restore.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/projects/restore.types.ts new file mode 100644 index 000000000..9c83c42f0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/projects/restore.types.ts @@ -0,0 +1,58 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; + +/** + * restore deleted project on enterprise + */ +export type internalRestoreProject = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalRestoreProject_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalRestoreProject_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/targets/all.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/targets/all.types.ts new file mode 100644 index 000000000..81390c55d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/targets/all.types.ts @@ -0,0 +1,71 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets all live targets + */ +export type internalAllLiveTargets = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalAllLiveTargets_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: unknown; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalAllLiveTargets_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions.types.ts new file mode 100644 index 000000000..8a556bc22 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions.types.ts @@ -0,0 +1,113 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_TransactionsCreateForm } from "../../../definitions/handlers.TransactionsCreateForm.js"; +import type { handlers_Transaction } from "../../../definitions/handlers.Transaction.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * Creates a service credits transaction, + */ +export type transactionCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: transactionCreate_Headers; + cookie: never; + body: handlers_TransactionsCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_Transaction; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type transactionCreate_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/list.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/list.types.ts new file mode 100644 index 000000000..1af910a96 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/list.types.ts @@ -0,0 +1,112 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_TransactionsListForm } from "../../../../definitions/handlers.TransactionsListForm.js"; +import type { handlers_transactionsListResponse } from "../../../../definitions/handlers.transactionsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets a list of service credits transactions + */ +export type serviceCreditsInternalTransactionsList = ( + $: OmitValueWhenNever<{ + query: serviceCreditsInternalTransactionsList_Query; + querystring: never; + path: never; + headers: serviceCreditsInternalTransactionsList_Headers; + cookie: never; + body: handlers_TransactionsListForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_transactionsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type serviceCreditsInternalTransactionsList_Query = { + /** + * sorting direction + */ + direction?: string; + /** + * sorting field + */ + field?: string; + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type serviceCreditsInternalTransactionsList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/{transaction_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/{transaction_id}.types.ts new file mode 100644 index 000000000..aa73b95d9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/{transaction_id}.types.ts @@ -0,0 +1,99 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_Transaction } from "../../../../definitions/handlers.Transaction.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets a service credits transaction + */ +export type serviceCreditsInternalTransactionGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: serviceCreditsInternalTransactionGet_Path; + headers: serviceCreditsInternalTransactionGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_Transaction; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type serviceCreditsInternalTransactionGet_Path = { + /** + * transaction id + */ + transaction_id: string; +}; + +export type serviceCreditsInternalTransactionGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/{transaction_id}/cancel.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/{transaction_id}/cancel.types.ts new file mode 100644 index 000000000..c606b5996 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/transactions/{transaction_id}/cancel.types.ts @@ -0,0 +1,120 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_TransactionsCancelForm } from "../../../../../definitions/handlers.TransactionsCancelForm.js"; +import type { handlers_Transaction } from "../../../../../definitions/handlers.Transaction.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Cancel a service credits transaction + */ +export type transactionCancel = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: transactionCancel_Path; + headers: transactionCancel_Headers; + cookie: never; + body: handlers_TransactionsCancelForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_Transaction; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type transactionCancel_Path = { + /** + * transaction id + */ + transaction_id: string; +}; + +export type transactionCancel_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users.types.ts new file mode 100644 index 000000000..aa5437b77 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users.types.ts @@ -0,0 +1,106 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_UserProfile } from "../../../definitions/handlers.UserProfile.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * gets profiles of users by ids filtered by es_type + * profiles include all workspaces where users have access + */ +export type profilesList = ( + $: OmitValueWhenNever<{ + query: profilesList_Query; + querystring: never; + path: never; + headers: profilesList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type profilesList_Query = { + /** + * user id + * @format multi + */ + user_id?: Array; + /** + * user id + * @format string + */ + es_type?: string; +}; + +export type profilesList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/all.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/all.types.ts new file mode 100644 index 000000000..ddc0fe318 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/all.types.ts @@ -0,0 +1,105 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_InternalESUsersList } from "../../../../definitions/handlers.InternalESUsersList.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * An internal API to find all ES users + */ +export type internalAllEsUsers = ( + $: OmitValueWhenNever<{ + query: internalAllEsUsers_Query; + querystring: never; + path: never; + headers: internalAllEsUsers_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_InternalESUsersList; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalAllEsUsers_Query = { + /** + * page number + * @default 1 + */ + page?: number; + /** + * page size + * @default 25 + */ + limit?: number; +}; + +export type internalAllEsUsers_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/api-key/{api_key}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/api-key/{api_key}.types.ts new file mode 100644 index 000000000..f2b10d683 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/api-key/{api_key}.types.ts @@ -0,0 +1,82 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_BasicUserProfile } from "../../../../../definitions/handlers.BasicUserProfile.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This is an internal API to fetch user data of the owner of the API key. + */ +export type userByApiKeyGetInternal = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: userByApiKeyGetInternal_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_BasicUserProfile; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type userByApiKeyGetInternal_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/basic.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/basic.types.ts new file mode 100644 index 000000000..aa56cfe03 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/basic.types.ts @@ -0,0 +1,106 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_BasicUserProfile } from "../../../../definitions/handlers.BasicUserProfile.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets profiles of users by ids + * basic profile data + */ +export type basicProfilesList = ( + $: OmitValueWhenNever<{ + query: basicProfilesList_Query; + querystring: never; + path: never; + headers: basicProfilesList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type basicProfilesList_Query = { + /** + * user id + * @format multi + */ + user_id?: Array; + /** + * user ES type + * @format string + */ + es_type?: string; +}; + +export type basicProfilesList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/{user_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/{user_id}.types.ts new file mode 100644 index 000000000..9fa6e478b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/users/{user_id}.types.ts @@ -0,0 +1,90 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_InternalProfileUpdate } from "../../../../definitions/handlers.InternalProfileUpdate.js"; +import type { handlers_UserProfile } from "../../../../definitions/handlers.UserProfile.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * This is an internal API to update a user's profile which is intended to be used by other ES services. + */ +export type userProfileUpdateInternal = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: userProfileUpdateInternal_Path; + headers: userProfileUpdateInternal_Headers; + cookie: never; + body: handlers_InternalProfileUpdate; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_UserProfile; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type userProfileUpdateInternal_Path = { + /** + * user id + */ + user_id: number; +}; + +export type userProfileUpdateInternal_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/all.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/all.types.ts new file mode 100644 index 000000000..c940bb491 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/all.types.ts @@ -0,0 +1,82 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of all workspaces + */ +export type internalWorkspacesAllList = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalWorkspacesAllList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesAllList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/limits.types.ts new file mode 100644 index 000000000..ebecc6bb7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/limits.types.ts @@ -0,0 +1,81 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets limits for all workspaces + */ +export type internalWorkspacesLimits = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalWorkspacesLimits_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesLimits_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/members/batch.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/members/batch.types.ts new file mode 100644 index 000000000..3f86ab54a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/members/batch.types.ts @@ -0,0 +1,82 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_basicWorkspacesMembersResponse } from "../../../../../definitions/handlers.basicWorkspacesMembersResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets batch workspace members + */ +export type internalBatchWorkspacesMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalBatchWorkspacesMembers_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_basicWorkspacesMembersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalBatchWorkspacesMembers_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/root.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/root.types.ts new file mode 100644 index 000000000..94356a9ea --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/root.types.ts @@ -0,0 +1,72 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a root workspace + */ +export type internalWorkspaceGetRoot = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalWorkspaceGetRoot_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceGetRoot_Headers = { + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/sox.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/sox.types.ts new file mode 100644 index 000000000..506073941 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/sox.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_SOXWorkspace } from "../../../../definitions/page-engine-backend_internal_usermanager_core_domain.SOXWorkspace.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets the list of all workspaces for SOX compliance + */ +export type internalWorkspacesSoxList = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalWorkspacesSoxList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array< + Array + >; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesSoxList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/tiers.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/tiers.types.ts new file mode 100644 index 000000000..a7cfd7a1d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/tiers.types.ts @@ -0,0 +1,72 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_tiersResponse } from "../../../../definitions/handlers.tiersResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API returns list of available tiers + */ +export type internalTiersList = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: internalTiersList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tiersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalTiersList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}.types.ts new file mode 100644 index 000000000..7b886d305 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_internalWorkspace } from "../../../../definitions/handlers.internalWorkspace.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * internal API to get workspace by id. + */ +export type internalWorkspaceGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceGet_Path; + headers: internalWorkspaceGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_internalWorkspace; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspaceGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/ancestors.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/ancestors.types.ts new file mode 100644 index 000000000..78647fddf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/ancestors.types.ts @@ -0,0 +1,90 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * an internal API to get ancestor(parents/grandparents) of a workspace. + * Ancestors list does not include current workspace. + */ +export type internalWorkspacesAncestor = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspacesAncestor_Path; + headers: internalWorkspacesAncestor_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesAncestor_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspacesAncestor_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/api-key.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/api-key.types.ts new file mode 100644 index 000000000..c10ff7222 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/api-key.types.ts @@ -0,0 +1,121 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceUserAPIKey } from "../../../../../definitions/handlers.workspaceUserAPIKey.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API gets workspace's owner API key, this API can be used by admin/owner of workspace + * other users can't get admin's API + * 400 is returned if user email is not passed in query + */ +export type internalWorkspaceOwnerApiKeyGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceOwnerApiKeyGet_Path; + headers: internalWorkspaceOwnerApiKeyGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceUserAPIKey; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceOwnerApiKeyGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspaceOwnerApiKeyGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/family.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/family.types.ts new file mode 100644 index 000000000..79816f439 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/family.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * an admin API to get a list of all children, grand children workspaces + */ +export type internalWorkspacesFamily = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspacesFamily_Path; + headers: internalWorkspacesFamily_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesFamily_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspacesFamily_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/managers.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/managers.types.ts new file mode 100644 index 000000000..5e668a2af --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/managers.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_basicWorkspacesMembersResponse } from "../../../../../definitions/handlers.basicWorkspacesMembersResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of all managers for a specific workspace + */ +export type workspaceManagersGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceManagersGet_Path; + headers: workspaceManagersGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_basicWorkspacesMembersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceManagersGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceManagersGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members.types.ts new file mode 100644 index 000000000..bc13af283 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members.types.ts @@ -0,0 +1,218 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_workspacesMembersResponse } from "../../../../../definitions/handlers.workspacesMembersResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_workspaceAddMembersForm } from "../../../../../definitions/handlers.workspaceAddMembersForm.js"; +import type { handlers_WorkspaceMemberUpsertResponse } from "../../../../../definitions/handlers.WorkspaceMemberUpsertResponse.js"; +import type { handlers_workspaceAddMembersResponse } from "../../../../../definitions/handlers.workspaceAddMembersResponse.js"; + +/** + * gets a workspace's members + */ +export type internalWorkspacesMembers = ( + $: OmitValueWhenNever<{ + query: internalWorkspacesMembers_Query; + querystring: never; + path: internalWorkspacesMembers_Path; + headers: internalWorkspacesMembers_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspacesMembersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * internal API to add members to a workspace and assigns them a specific role + * in response it returns number of user units consumed + * -ve value means workspace user units are consumed and users are invited to corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + * **Note**: External users (without @semrsuh.com email) cannot be invited to Semrush workspaces. + */ +export type internalWorkspaceAddMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceAddMembers_Path; + headers: internalWorkspaceAddMembers_Headers; + cookie: never; + body: handlers_workspaceAddMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceMemberUpsertResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesMembers_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * asc/desc + */ + direction?: string; + /** + * search by email + */ + search?: string; + /** + * search by role name + */ + role?: string; + /** + * search by membership status + */ + membership_status?: string; + /** + * include parental admins + */ + include_parental_admins?: boolean; + /** + * include parent workspace + */ + include_parent_workspace?: boolean; +}; + +export type internalWorkspacesMembers_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspacesMembers_Headers = { + /** + * API key + */ + "API-Key": string; +}; + +export type internalWorkspaceAddMembers_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspaceAddMembers_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members/{user_id}/roles/status.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members/{user_id}/roles/status.types.ts new file mode 100644 index 000000000..3511a5d6c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members/{user_id}/roles/status.types.ts @@ -0,0 +1,96 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceCheckRolesInAncestryResponse } from "../../../../../../../../definitions/handlers.workspaceCheckRolesInAncestryResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * checks whether user has one of the provided workspace roles in the current workspace or ancestors + */ +export type workspacesCheckRolesInAncestry = ( + $: OmitValueWhenNever<{ + query: workspacesCheckRolesInAncestry_Query; + querystring: never; + path: workspacesCheckRolesInAncestry_Path; + headers: workspacesCheckRolesInAncestry_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceCheckRolesInAncestryResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesCheckRolesInAncestry_Query = { + /** + * roles + */ + roles: Array; +}; + +export type workspacesCheckRolesInAncestry_Path = { + /** + * user id + */ + user_id: number; +}; + +export type workspacesCheckRolesInAncestry_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members/{user_id}/status.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members/{user_id}/status.types.ts new file mode 100644 index 000000000..0f5a62286 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/members/{user_id}/status.types.ts @@ -0,0 +1,100 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceCheckMembershipInAncestryResponse } from "../../../../../../../definitions/handlers.workspaceCheckMembershipInAncestryResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Checks whether the user has membership in the workspace hierarchy (current workspace + descendants). + * If the optional `membership` query parameter is provided, only those statuses are treated as valid. + * Valid values: `member`, `guest`, `basic`. + * If `membership` is omitted, the default behavior is backward compatible: membership is checked by subscription match + * (`user.SubscriptionID == desc.SubscriptionID`), not by membership status. + */ +export type workspacesCheckMembershipInAncestry = ( + $: OmitValueWhenNever<{ + query: workspacesCheckMembershipInAncestry_Query; + querystring: never; + path: workspacesCheckMembershipInAncestry_Path; + headers: workspacesCheckMembershipInAncestry_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceCheckMembershipInAncestryResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesCheckMembershipInAncestry_Query = { + /** + * Filter by membership status. If provided, only these statuses are considered valid. Allowed: member, guest, basic. + */ + membership?: Array; +}; + +export type workspacesCheckMembershipInAncestry_Path = { + /** + * workspace id + */ + userId: number; +}; + +export type workspacesCheckMembershipInAncestry_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers.types.ts new file mode 100644 index 000000000..3de8d6c1d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers.types.ts @@ -0,0 +1,128 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedCrawlersInternalListResponse } from "../../../../../definitions/handlers.pagespeedCrawlersInternalListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list pagespeed crawlers that belong to a workspace + */ +export type pagespeedInternalList = ( + $: OmitValueWhenNever<{ + query: pagespeedInternalList_Query; + querystring: never; + path: pagespeedInternalList_Path; + headers: pagespeedInternalList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedCrawlersInternalListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedInternalList_Query = { + /** + * page number + */ + page?: number; + /** + * results offset + */ + offset?: number; + /** + * page size + */ + limit?: number; + /** + * live + */ + live?: boolean; +}; + +export type pagespeedInternalList_Path = { + /** + * workspace id + */ + id: string; +}; + +export type pagespeedInternalList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords.types.ts new file mode 100644 index 000000000..7b6d51163 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords.types.ts @@ -0,0 +1,128 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedInternalKeywordsListResponse } from "../../../../../../../definitions/handlers.pagespeedInternalKeywordsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of keywords of pagespeed crawler by its id. + */ +export type pagespeedInternalKeywordsList = ( + $: OmitValueWhenNever<{ + query: pagespeedInternalKeywordsList_Query; + querystring: never; + path: pagespeedInternalKeywordsList_Path; + headers: pagespeedInternalKeywordsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedInternalKeywordsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedInternalKeywordsList_Query = { + /** + * page number + */ + page?: number; + /** + * results offset + */ + offset?: number; + /** + * page size + */ + limit?: number; +}; + +export type pagespeedInternalKeywordsList_Path = { + /** + * workspace id + */ + id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedInternalKeywordsList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls.types.ts new file mode 100644 index 000000000..0e6c062d9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls.types.ts @@ -0,0 +1,128 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedURLsListResponse } from "../../../../../../../definitions/handlers.pagespeedURLsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of urls of pagespeed crawler by its id. + */ +export type pagespeedInternalUrlsList = ( + $: OmitValueWhenNever<{ + query: pagespeedInternalUrlsList_Query; + querystring: never; + path: pagespeedInternalUrlsList_Path; + headers: pagespeedInternalUrlsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedURLsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedInternalUrlsList_Query = { + /** + * page number + */ + page?: number; + /** + * results offset + */ + offset?: number; + /** + * page size + */ + limit?: number; +}; + +export type pagespeedInternalUrlsList_Path = { + /** + * workspace id + */ + id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedInternalUrlsList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects.types.ts new file mode 100644 index 000000000..50d5ab6c8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects.types.ts @@ -0,0 +1,110 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_projectListResponse } from "../../../../../definitions/handlers.projectListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of all projects that belong to a workspace. + */ +export type projectListGet = ( + $: OmitValueWhenNever<{ + query: projectListGet_Query; + querystring: never; + path: projectListGet_Path; + headers: projectListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectListGet_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type projectListGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type projectListGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/targets.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/targets.types.ts new file mode 100644 index 000000000..e4a3a988b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/targets.types.ts @@ -0,0 +1,115 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_targetListResponse } from "../../../../../../definitions/handlers.targetListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of targets of all live projects by workspace id + */ +export type internalLiveProjectsTargetListGet = ( + $: OmitValueWhenNever<{ + query: internalLiveProjectsTargetListGet_Query; + querystring: never; + path: internalLiveProjectsTargetListGet_Path; + headers: internalLiveProjectsTargetListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_targetListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalLiveProjectsTargetListGet_Query = { + /** + * user id + */ + user_id: number; + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type internalLiveProjectsTargetListGet_Path = { + /** + * workspace id + * @default "19193849-51bf-413d-9ed9-45a63e649887" + */ + id: string; +}; + +export type internalLiveProjectsTargetListGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/goals.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/goals.types.ts new file mode 100644 index 000000000..d9e9c43a5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/goals.types.ts @@ -0,0 +1,94 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_internalGoalsListResponse } from "../../../../../../../definitions/handlers.internalGoalsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API returns a list of normalized goals for a live project + */ +export type internalGoalsList = ( + $: OmitValueWhenNever<{ + query: internalGoalsList_Query; + querystring: never; + path: internalGoalsList_Path; + headers: internalGoalsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_internalGoalsListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalGoalsList_Query = { + /** + * page number + */ + page?: number; + /** + * limit number + */ + limit?: number; +}; + +export type internalGoalsList_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type internalGoalsList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/public/segments.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/public/segments.types.ts new file mode 100644 index 000000000..d229a7a3c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/public/segments.types.ts @@ -0,0 +1,101 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_SegmentListResponse } from "../../../../../../../../definitions/handlers.SegmentListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This is a proxy internal API to public API **Segment** * /workspaces/{id}/projects/{project_id}/segments [get]* + * which gets a list of segments that belong to a project. + * For description of response fields like conditions and filters, + * see segment create under **Segment** * /workspaces/{id}/projects/{project_id}/segments [post]* + */ +export type internalPublicProjectSegmentListGet = ( + $: OmitValueWhenNever<{ + query: internalPublicProjectSegmentListGet_Query; + querystring: never; + path: internalPublicProjectSegmentListGet_Path; + headers: internalPublicProjectSegmentListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalPublicProjectSegmentListGet_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * search by segment name + */ + search?: string; +}; + +export type internalPublicProjectSegmentListGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type internalPublicProjectSegmentListGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments.types.ts new file mode 100644 index 000000000..a8264e5de --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments.types.ts @@ -0,0 +1,106 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_SegmentListInternalResponse } from "../../../../../../../definitions/handlers.SegmentListInternalResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of segments that belong to a project. + * *filters* here is the exact representation of the filters in the pagemanager. + * **filters representations:** + * `col` is one of *url, keyword*. Note: *url_list* is represented as *url* in pagemanager. + * `op` is one of *and, or, eq, neq, begins_with, not_begins_with, ends_with, not_ends_with, contains, + * not_contains, gt, lt, gte, lte, in*. + * `value` is string type. It becomes array of string in case of *in* operator as an exceptional case. + * *Notes*: + * * *url_list* always has *in* operator. Only zero or one url_list contains in the whole filters object. + * * *filters* logical operators *and, or* will not have *col, value* and will have nested *filters*. + * * *filters* logical operators *and, or* will have maximum depth up to 5 levels from the root. + * * *filters* non-logical operators will have *col, value* and will not have nested *filters*. + * * *filters* non-logical operators will have maximum 20 leaves in a single filter object. + */ +export type internalProjectSegmentListGet = ( + $: OmitValueWhenNever<{ + query: internalProjectSegmentListGet_Query; + querystring: never; + path: internalProjectSegmentListGet_Path; + headers: internalProjectSegmentListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentListInternalResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectSegmentListGet_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type internalProjectSegmentListGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type internalProjectSegmentListGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.ts new file mode 100644 index 000000000..ad8b47e2d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_SegmentListResponse } from "../../../../../../../../definitions/handlers.SegmentListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * For description of response fields like conditions and filters, + * see segment create under **Segment** * /workspaces/{id}/projects/{project_id}/segments [post]* + */ +export type internalProjectSegmentsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalProjectSegmentsGet_Path; + headers: internalProjectSegmentsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectSegmentsGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * segment id + */ + segment_id: string; +}; + +export type internalProjectSegmentsGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets.types.ts new file mode 100644 index 000000000..ab03f48e3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets.types.ts @@ -0,0 +1,100 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_targetListResponse } from "../../../../../../../definitions/handlers.targetListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of targets that belong to a project + */ +export type projectTargetListGetInternal = ( + $: OmitValueWhenNever<{ + query: projectTargetListGetInternal_Query; + querystring: never; + path: projectTargetListGetInternal_Path; + headers: projectTargetListGetInternal_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_targetListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectTargetListGetInternal_Query = { + /** + * live + */ + live?: boolean; +}; + +export type projectTargetListGetInternal_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectTargetListGetInternal_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.ts new file mode 100644 index 000000000..ad95edc04 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.ts @@ -0,0 +1,104 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_Target } from "../../../../../../../../definitions/handlers.Target.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets target details + */ +export type internalProjectTargetDetails = ( + $: OmitValueWhenNever<{ + query: internalProjectTargetDetails_Query; + querystring: never; + path: internalProjectTargetDetails_Path; + headers: internalProjectTargetDetails_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_Target; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectTargetDetails_Query = { + /** + * live + */ + live?: boolean; +}; + +export type internalProjectTargetDetails_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type internalProjectTargetDetails_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input.types.ts new file mode 100644 index 000000000..d234879d1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input.types.ts @@ -0,0 +1,128 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_InternalBenchmark } from "../../../../../../../../../../definitions/handlers.InternalBenchmark.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API lists internal benchmarks of a project + */ +export type internalBenchmarksInput = ( + $: OmitValueWhenNever<{ + query: internalBenchmarksInput_Query; + querystring: never; + path: internalBenchmarksInput_Path; + headers: internalBenchmarksInput_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalBenchmarksInput_Query = { + /** + * benchmark ids + */ + ids: string; + /** + * live + */ + live?: boolean; +}; + +export type internalBenchmarksInput_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type internalBenchmarksInput_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input.types.ts new file mode 100644 index 000000000..03a92ccbf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input.types.ts @@ -0,0 +1,104 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_InternalTarget } from "../../../../../../../../../definitions/handlers.InternalTarget.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets internal target details + */ +export type internalProjectTargetInputDetails = ( + $: OmitValueWhenNever<{ + query: internalProjectTargetInputDetails_Query; + querystring: never; + path: internalProjectTargetInputDetails_Path; + headers: internalProjectTargetInputDetails_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_InternalTarget; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectTargetInputDetails_Query = { + /** + * live + */ + live?: boolean; +}; + +export type internalProjectTargetInputDetails_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type internalProjectTargetInputDetails_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.ts new file mode 100644 index 000000000..f6e42f941 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.ts @@ -0,0 +1,110 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_taggedKeywordsCreateForm } from "../../../../../../../../../../definitions/handlers.taggedKeywordsCreateForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API gets tagged keywords with the underscore (__) syntax. + */ +export type projectGetTaggedKeywords = ( + $: OmitValueWhenNever<{ + query: projectGetTaggedKeywords_Query; + querystring: never; + path: projectGetTaggedKeywords_Path; + headers: projectGetTaggedKeywords_Headers; + cookie: never; + body: handlers_taggedKeywordsCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectGetTaggedKeywords_Query = { + /** + * live + */ + live?: boolean; +}; + +export type projectGetTaggedKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectGetTaggedKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.ts new file mode 100644 index 000000000..411a39427 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.ts @@ -0,0 +1,126 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_tagsListResponse } from "../../../../../../../../../../definitions/handlers.tagsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * internal API to search tags list by name + */ +export type projectInternalSearchListTags = ( + $: OmitValueWhenNever<{ + query: projectInternalSearchListTags_Query; + querystring: never; + path: projectInternalSearchListTags_Path; + headers: projectInternalSearchListTags_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tagsListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectInternalSearchListTags_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * search + */ + search?: string; + /** + * live + */ + live?: boolean; +}; + +export type projectInternalSearchListTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectInternalSearchListTags_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.ts new file mode 100644 index 000000000..27b588569 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.ts @@ -0,0 +1,129 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_TagsTreeResponse } from "../../../../../../../../../../definitions/handlers.TagsTreeResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API returns all ancestors of tag upto root level, this API does not return children of tags. + * API does not return full tree. + */ +export type projectInternalTagsTree = ( + $: OmitValueWhenNever<{ + query: projectInternalTagsTree_Query; + querystring: never; + path: projectInternalTagsTree_Path; + headers: projectInternalTagsTree_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_TagsTreeResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectInternalTagsTree_Query = { + /** + * tag id + */ + tag_id: number; + /** + * live + */ + live?: boolean; +}; + +export type projectInternalTagsTree_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectInternalTagsTree_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/resources.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/resources.types.ts new file mode 100644 index 000000000..38df4d7d0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/resources.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources } from "../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Returns workspace resources including general resources (users, service credits, API units) and product-specific resources (SEO, AI, SI) for a specific workspace + */ +export type internalWorkspaceResources = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceResources_Path; + headers: internalWorkspaceResources_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceResources_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspaceResources_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/service-units.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/service-units.types.ts new file mode 100644 index 000000000..8a8299a46 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/service-units.types.ts @@ -0,0 +1,162 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_getServiceUnitsResponse } from "../../../../../definitions/handlers.getServiceUnitsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets service units + */ +export type serviceUnitsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: serviceUnitsGet_Path; + headers: serviceUnitsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_getServiceUnitsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * sets service units + */ +export type serviceUnitsSet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: serviceUnitsSet_Path; + headers: serviceUnitsSet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type serviceUnitsGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type serviceUnitsGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; + +export type serviceUnitsSet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type serviceUnitsSet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/service-units/used.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/service-units/used.types.ts new file mode 100644 index 000000000..333374195 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{id}/service-units/used.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * sets used service units + */ +export type serviceUnitsUsedSet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: serviceUnitsUsedSet_Path; + headers: serviceUnitsUsedSet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type serviceUnitsUsedSet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type serviceUnitsUsedSet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections.types.ts new file mode 100644 index 000000000..0129c3095 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections.types.ts @@ -0,0 +1,101 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceConnectionsResponse } from "../../../../../definitions/handlers.WorkspaceConnectionsResponse.js"; + +/** + * Returns a paginated list of workspace connections for service-to-service use (e.g. LFA connector status updater). Same query parameters as the user-facing list endpoint. + */ +export type internalWorkspaceConnectionsList = ( + $: OmitValueWhenNever<{ + query: internalWorkspaceConnectionsList_Query; + querystring: never; + path: internalWorkspaceConnectionsList_Path; + headers: internalWorkspaceConnectionsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceConnectionsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceConnectionsList_Query = { + /** + * Number of page + */ + page?: number; + /** + * Number of items per page (default: 10) + */ + limit?: number; + /** + * Connection type filter: google-ads, google-analytics, google-console, adobe-analytics, log-file-connector + */ + type?: string; + /** + * Owner filter + */ + owner_id?: string; +}; + +export type internalWorkspaceConnectionsList_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type internalWorkspaceConnectionsList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.ts new file mode 100644 index 000000000..737f8ae34 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.ts @@ -0,0 +1,87 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_LogFileAnalysisWorkspaceConnectionPayload } from "../../../../../../../definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload.js"; +import type { handlers_WorkspaceConnection } from "../../../../../../../definitions/handlers.WorkspaceConnection.js"; + +/** + * Updates an existing Log File Analysis connection using internal API key authentication (e.g. LFA connector status updater). The connection must belong to the workspace and be of type log-file-connector. + */ +export type internalLogFileAnalysisConnectionUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalLogFileAnalysisConnectionUpdate_Path; + headers: internalLogFileAnalysisConnectionUpdate_Headers; + cookie: never; + body: handlers_LogFileAnalysisWorkspaceConnectionPayload; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceConnection; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalLogFileAnalysisConnectionUpdate_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type internalLogFileAnalysisConnectionUpdate_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status.types.ts new file mode 100644 index 000000000..80815c3cb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status.types.ts @@ -0,0 +1,82 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_LogFileAnalysisConnectorStatusPayload } from "../../../../../../../../definitions/handlers.LogFileAnalysisConnectorStatusPayload.js"; + +/** + * Persists connector-reported success or error status. Returned on all workspace connection GET endpoints for this connection. + */ +export type internalLogFileAnalysisConnectionStatusPatch = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalLogFileAnalysisConnectionStatusPatch_Path; + headers: internalLogFileAnalysisConnectionStatusPatch_Headers; + cookie: never; + body: handlers_LogFileAnalysisConnectorStatusPayload; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalLogFileAnalysisConnectionStatusPatch_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type internalLogFileAnalysisConnectionStatusPatch_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/{connection_id}.types.ts new file mode 100644 index 000000000..717d55c9b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/connections/{connection_id}.types.ts @@ -0,0 +1,80 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_InternalWorkspaceConnectionDetails } from "../../../../../../definitions/handlers.InternalWorkspaceConnectionDetails.js"; + +/** + * Retrieves the details of workspace connection. Returns adobe_proxy_auth_id instead of credential_id for adobe analytics connections. + */ +export type internalWorkspaceConnectionByid = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceConnectionByid_Path; + headers: internalWorkspaceConnectionByid_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_InternalWorkspaceConnectionDetails; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceConnectionByid_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type internalWorkspaceConnectionByid_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections.types.ts new file mode 100644 index 000000000..1f2721188 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections.types.ts @@ -0,0 +1,92 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_ProjectConnectionResponse } from "../../../../../../../definitions/handlers.ProjectConnectionResponse.js"; + +/** + * Retrieves a list of connection IDs attached to a specific project. + */ +export type internalWorkspaceProjectConnections = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceProjectConnections_Path; + headers: internalWorkspaceProjectConnections_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceProjectConnections_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * project id + */ + project_id: string; +}; + +export type internalWorkspaceProjectConnections_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/languages.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/languages.types.ts new file mode 100644 index 000000000..63d6f55d5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/languages.types.ts @@ -0,0 +1,72 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../counterfact-types/index.ts"; +import type { Context } from "../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../counterfact-types/index.ts"; +import type { handlers_Language } from "../../definitions/handlers.Language.js"; +import type { http_server_BasicResponse } from "../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of languages + */ +export type languages = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: languages_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type languages_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/locations.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/locations.types.ts new file mode 100644 index 000000000..2c5582849 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/locations.types.ts @@ -0,0 +1,81 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../counterfact-types/index.ts"; +import type { Context } from "../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../definitions/http_server.BasicResponse.js"; + +/** + * this API gets locations from core /get_locations api and pass them in response + * get_locations api docs can be here(https://kb.semrush.net/display/BlueTeam/locations+get_ + */ +export type locations = ( + $: OmitValueWhenNever<{ + query: locations_Query; + querystring: never; + path: never; + headers: locations_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type locations_Query = { + /** + * location name(deprecated use q) + */ + location?: string; + /** + * filter by location, alias for location + */ + q?: string; + /** + * location id + */ + id?: number; + /** + * filter by search engine(bing) + */ + filter_engine?: string; +}; + +export type locations_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/profile.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/profile.types.ts new file mode 100644 index 000000000..8fd2afddc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/profile.types.ts @@ -0,0 +1,173 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../counterfact-types/index.ts"; +import type { Context } from "../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../counterfact-types/index.ts"; +import type { handlers_UserProfile } from "../../definitions/handlers.UserProfile.js"; +import type { http_server_BasicResponse } from "../../definitions/http_server.BasicResponse.js"; +import type { handlers_profileUpdate } from "../../definitions/handlers.profileUpdate.js"; + +/** + * gets user's own profile + */ +export type userProfile = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: userProfile_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_UserProfile; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * updates user's own profile + */ +export type userProfileUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: userProfileUpdate_Headers; + cookie: never; + body: handlers_profileUpdate; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_UserProfile; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type userProfile_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type userProfileUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/users/required-units.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/users/required-units.types.ts new file mode 100644 index 000000000..5ad58d64c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/users/required-units.types.ts @@ -0,0 +1,92 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_RequiredUserUnitsResponse } from "../../../definitions/handlers.RequiredUserUnitsResponse.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * An API that returns number of users required to invite them on workspace + */ +export type usersRequiredUnits = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: usersRequiredUnits_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_RequiredUserUnitsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type usersRequiredUnits_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/users/workspace-ownership-eligibility.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/users/workspace-ownership-eligibility.types.ts new file mode 100644 index 000000000..cb8301d66 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/users/workspace-ownership-eligibility.types.ts @@ -0,0 +1,124 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_workspaceOwnershipEligibilityResponse } from "../../../definitions/handlers.workspaceOwnershipEligibilityResponse.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * API validates if user can become owner of children workspace + * by validating user exists on core and does not have subscription. + * 404 is returned if user does not exist on core + * 422 is returned if user already has core subscription + * 400 is returned if user email is not passed in query + */ +export type userOwnershipEligibility = ( + $: OmitValueWhenNever<{ + query: userOwnershipEligibility_Query; + querystring: never; + path: never; + headers: userOwnershipEligibility_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceOwnershipEligibilityResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type userOwnershipEligibility_Query = { + /** + * user id + * @format string + */ + email: string; +}; + +export type userOwnershipEligibility_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/work-categories.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/work-categories.types.ts new file mode 100644 index 000000000..768f07191 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/work-categories.types.ts @@ -0,0 +1,72 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../counterfact-types/index.ts"; +import type { Context } from "../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../counterfact-types/index.ts"; +import type { handlers_WorkCategory } from "../../definitions/handlers.WorkCategory.js"; +import type { http_server_BasicResponse } from "../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of work categories + */ +export type workCategories = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: workCategories_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workCategories_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces.types.ts new file mode 100644 index 000000000..046b0c7e5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces.types.ts @@ -0,0 +1,93 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../counterfact-types/index.ts"; +import type { Context } from "../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../counterfact-types/index.ts"; +import type { handlers_workspacesListResponse } from "../../definitions/handlers.workspacesListResponse.js"; +import type { http_server_BasicResponse } from "../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of workspaces owned by the user + */ +export type workspacesList = ( + $: OmitValueWhenNever<{ + query: workspacesList_Query; + querystring: never; + path: never; + headers: workspacesList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspacesListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesList_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type workspacesList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/light.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/light.types.ts new file mode 100644 index 000000000..eb50c04cf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/light.types.ts @@ -0,0 +1,82 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_workspaceLightResponse } from "../../../definitions/handlers.workspaceLightResponse.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a lightweight list of workspaces owned by the user + */ +export type workspacesLightList = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: workspacesLightList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesLightList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/limits.types.ts new file mode 100644 index 000000000..5271bb882 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/limits.types.ts @@ -0,0 +1,82 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * [DEPRECATED] use /v1/workspaces/resources instead + * @deprecated + */ +export type totalLimitsFind = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: totalLimitsFind_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type totalLimitsFind_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/resources.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/resources.types.ts new file mode 100644 index 000000000..34db34d2d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/resources.types.ts @@ -0,0 +1,81 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * gets workspace total resources in a cool new way + */ +export type workspaceResourcesFindAll = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: workspaceResourcesFindAll_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceResourcesFindAll_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/tiers.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/tiers.types.ts new file mode 100644 index 000000000..a4c63c3d2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/tiers.types.ts @@ -0,0 +1,72 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_tiersResponse } from "../../../definitions/handlers.tiersResponse.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * this API returns list of available tiers + */ +export type tiersList = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: tiersList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tiersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type tiersList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}.types.ts new file mode 100644 index 000000000..25559c363 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}.types.ts @@ -0,0 +1,257 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_workspaceDeleteResponse } from "../../../definitions/handlers.workspaceDeleteResponse.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; +import type { handlers_workspaceResponse } from "../../../definitions/handlers.workspaceResponse.js"; +import type { handlers_workspaceUpsertForm } from "../../../definitions/handlers.workspaceUpsertForm.js"; + +/** + * deletes workspace matching with id. + * In order to delete a workspace make sure workspace does not have any children otherwise + * API will fail to process + */ +export type workspaceDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceDelete_Path; + headers: workspaceDelete_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceDeleteResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets workspace details matching with id + */ +export type workspaceDetails = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceDetails_Path; + headers: workspaceDetails_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * updates a workspace matching with id + */ +export type workspaceUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceUpdate_Path; + headers: workspaceUpdate_Headers; + cookie: never; + body: handlers_workspaceUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceDelete_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type workspaceDetails_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceDetails_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type workspaceUpdate_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/api_units.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/api_units.types.ts new file mode 100644 index 000000000..f448114e4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/api_units.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_APIUnitsResponse } from "../../../../definitions/handlers.APIUnitsResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets API units of a workspace + */ +export type workspaceApiUnitsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceApiUnitsGet_Path; + headers: workspaceApiUnitsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_APIUnitsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceApiUnitsGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceApiUnitsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/campaigns/{campaign_id}/keywords.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/campaigns/{campaign_id}/keywords.types.ts new file mode 100644 index 000000000..6912b03a6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/campaigns/{campaign_id}/keywords.types.ts @@ -0,0 +1,110 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_keywordsListResponse } from "../../../../../../definitions/handlers.keywordsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets keywords that belong to a campaign. + */ +export type workspacesCampaignKeywordsList = ( + $: OmitValueWhenNever<{ + query: workspacesCampaignKeywordsList_Query; + querystring: never; + path: workspacesCampaignKeywordsList_Path; + headers: workspacesCampaignKeywordsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_keywordsListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesCampaignKeywordsList_Query = { + /** + * page number + */ + page?: number; +}; + +export type workspacesCampaignKeywordsList_Path = { + /** + * workspace id + */ + id: string; + /** + * campaign id + */ + campaign_id: string; +}; + +export type workspacesCampaignKeywordsList_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/child.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/child.types.ts new file mode 100644 index 000000000..317fae7d3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/child.types.ts @@ -0,0 +1,96 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceCreateChildForm } from "../../../../definitions/handlers.WorkspaceCreateChildForm.js"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * Creates a child workspace. If field owner is provided, + * then the existing user will be the owner of the child workspace, + * otherwise the virtual owner of this workspace will be created. + */ +export type workspaceChildCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceChildCreate_Path; + headers: workspaceChildCreate_Headers; + cookie: never; + body: handlers_WorkspaceCreateChildForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceChildCreate_Path = { + /** + * parent workspace id + */ + id: string; +}; + +export type workspaceChildCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; + /** + * Signed upload receipt token + */ + "X-Upload-Receipt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/family.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/family.types.ts new file mode 100644 index 000000000..6a74b2121 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/family.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * an API to get a list of all children, grand children workspaces which belong to a workspace + */ +export type workspacesFamily = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspacesFamily_Path; + headers: workspacesFamily_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesFamily_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspacesFamily_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/has_children.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/has_children.types.ts new file mode 100644 index 000000000..51260b515 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/has_children.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_HasChildrenResponse } from "../../../../definitions/handlers.HasChildrenResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * API to returns true/false if workspace has or does not have children + */ +export type workspacesHasChildren = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspacesHasChildren_Path; + headers: workspacesHasChildren_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_HasChildrenResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesHasChildren_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspacesHasChildren_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/icon.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/icon.types.ts new file mode 100644 index 000000000..5296ce965 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/icon.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceUpdateIconForm } from "../../../../definitions/handlers.workspaceUpdateIconForm.js"; + +/** + * Validates the Ed25519-signed receipt from the upload service, then stores the icon URL. + */ +export type workspaceUpdateIcon = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceUpdateIcon_Path; + headers: workspaceUpdateIcon_Headers; + cookie: never; + body: handlers_workspaceUpdateIconForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceUpdateIcon_Path = { + /** + * Workspace UUID + */ + id: string; +}; + +export type workspaceUpdateIcon_Headers = { + /** + * Signed upload receipt token + */ + "X-Upload-Receipt": string; + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists.types.ts new file mode 100644 index 000000000..c47dcbfa1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists.types.ts @@ -0,0 +1,231 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_KeywordsListDeleteRequest } from "../../../../definitions/handlers.KeywordsListDeleteRequest.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_KeywordsListResponse } from "../../../../definitions/handlers.KeywordsListResponse.js"; +import type { handlers_KeywordsListCreateRequest } from "../../../../definitions/handlers.KeywordsListCreateRequest.js"; +import type { handlers_KeywordsListCreateResponse } from "../../../../definitions/handlers.KeywordsListCreateResponse.js"; + +/** + * delete keywords-lists of a workspace by basket ids + */ +export type keywordslistsDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsDelete_Path; + headers: keywordslistsDelete_Headers; + cookie: never; + body: handlers_KeywordsListDeleteRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Gets list of keywords-lists for the workspace. Pagination is not supported for now. + */ +export type keywordslistsGet = ( + $: OmitValueWhenNever<{ + query: keywordslistsGet_Query; + querystring: never; + path: keywordslistsGet_Path; + headers: keywordslistsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Create a keywords-list for the workspace + */ +export type keywordslistsPost = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsPost_Path; + headers: keywordslistsPost_Headers; + cookie: never; + body: handlers_KeywordsListCreateRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsListCreateResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordslistsDelete_Path = { + /** + * workspace id + */ + id: string; +}; + +export type keywordslistsDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordslistsGet_Query = { + /** + * field default: name + */ + field?: "name" | "updated_at"; + /** + * sort direction, default:asc + */ + direction?: "asc" | "desc"; + /** + * search by keyword list name + */ + search?: string; +}; + +export type keywordslistsGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type keywordslistsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordslistsPost_Path = { + /** + * workspace id + */ + id: string; +}; + +export type keywordslistsPost_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/databases.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/databases.types.ts new file mode 100644 index 000000000..4ed50c18f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/databases.types.ts @@ -0,0 +1,79 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_KeywordsListDatabasesResponse } from "../../../../../definitions/handlers.KeywordsListDatabasesResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets list of databases of keywords + */ +export type keywordslistsDatabasesGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsDatabasesGet_Path; + headers: keywordslistsDatabasesGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsListDatabasesResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordslistsDatabasesGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type keywordslistsDatabasesGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}.types.ts new file mode 100644 index 000000000..9c84e9a2a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_KeywordsListRenameRequest } from "../../../../../definitions/handlers.KeywordsListRenameRequest.js"; +import type { handlers_KeywordsListRenameResponse } from "../../../../../definitions/handlers.KeywordsListRenameResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Rename the name of a keywords-list of the workspace + */ +export type keywordslistsRename = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsRename_Path; + headers: keywordslistsRename_Headers; + cookie: never; + body: handlers_KeywordsListRenameRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsListRenameResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordslistsRename_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsRename_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.types.ts new file mode 100644 index 000000000..01c3215c9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords.types.ts @@ -0,0 +1,263 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_KeywordDeleteRequest } from "../../../../../../definitions/handlers.KeywordDeleteRequest.js"; +import type { handlers_KeywordDeleteResponse } from "../../../../../../definitions/handlers.KeywordDeleteResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_KeywordsResponse } from "../../../../../../definitions/handlers.KeywordsResponse.js"; +import type { handlers_KeywordAddRequest } from "../../../../../../definitions/handlers.KeywordAddRequest.js"; +import type { handlers_KeywordCountResponse } from "../../../../../../definitions/handlers.KeywordCountResponse.js"; + +/** + * Delete a list of keywords in a keywords-list from a workspace. + */ +export type keywordslistsKeywordsDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsKeywordsDelete_Path; + headers: keywordslistsKeywordsDelete_Headers; + cookie: never; + body: handlers_KeywordDeleteRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordDeleteResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Gets list of keywords from the keywords-list in a workspace. + * Pagination is supported. Default page is 1 and default limit is 25 when any of page or limit params provided. + * Even wrong values are set as defaults. If page and limit are not provided, all keywords are returned. + */ +export type keywordslistsKeywordsGet = ( + $: OmitValueWhenNever<{ + query: keywordslistsKeywordsGet_Query; + querystring: never; + path: keywordslistsKeywordsGet_Path; + headers: keywordslistsKeywordsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Create a list of keywords in a keywords-list of a workspace + * Each keyword phrase can have upto 90 characters. A keyword can have upto 5 tags. + */ +export type keywordslistsKeywordsPost = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsKeywordsPost_Path; + headers: keywordslistsKeywordsPost_Headers; + cookie: never; + body: handlers_KeywordAddRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordCountResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordslistsKeywordsDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsKeywordsDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordslistsKeywordsGet_Query = { + /** + * page number + */ + page?: number; + /** + * page limit + */ + limit?: number; + /** + * sort direction, default:asc + */ + direction?: "asc" | "desc"; + /** + * search by keyword name + */ + search?: string; + /** + * sort direction, default:containing + */ + operation?: + | "eq" + | "containing" + | "begins_with" + | "ends_with" + | "word_matching_separator" + | "exact_matching" + | "phrase_matching" + | "broad_matching"; +}; + +export type keywordslistsKeywordsGet_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsKeywordsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordslistsKeywordsPost_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsKeywordsPost_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.types.ts new file mode 100644 index 000000000..847d9873f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags.types.ts @@ -0,0 +1,227 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_KeywordsTagsRequest } from "../../../../../../../definitions/handlers.KeywordsTagsRequest.js"; +import type { handlers_KeywordsTagsResponse } from "../../../../../../../definitions/handlers.KeywordsTagsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_KeywordsTagsUpdateRequest } from "../../../../../../../definitions/handlers.KeywordsTagsUpdateRequest.js"; + +/** + * Deletes a list of tags to a list of keywords in a keywords-list of the workspace. + */ +export type keywordslistsKeywordsTagsDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsKeywordsTagsDelete_Path; + headers: keywordslistsKeywordsTagsDelete_Headers; + cookie: never; + body: handlers_KeywordsTagsRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsTagsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Add and delete list of tags to a list of keywords in a keywords-list of the workspace. + */ +export type keywordslistsKeywordsTagsPatch = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsKeywordsTagsPatch_Path; + headers: keywordslistsKeywordsTagsPatch_Headers; + cookie: never; + body: handlers_KeywordsTagsUpdateRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsTagsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Add a list of tags to a list of keywords in a keywords-list of the workspace. + */ +export type keywordslistsKeywordsTagsAdd = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsKeywordsTagsAdd_Path; + headers: keywordslistsKeywordsTagsAdd_Headers; + cookie: never; + body: handlers_KeywordsTagsRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordsTagsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordslistsKeywordsTagsDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsKeywordsTagsDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordslistsKeywordsTagsPatch_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsKeywordsTagsPatch_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordslistsKeywordsTagsAdd_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsKeywordsTagsAdd_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload.types.ts new file mode 100644 index 000000000..685604bda --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload.types.ts @@ -0,0 +1,109 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_KeywordCountResponse } from "../../../../../../../definitions/handlers.KeywordCountResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Create a list of keywords in a keywords-list by uploading a csv/xlsx file in a workspace + * 1st element is supposed to be keyword name. 2nd element is supposed to be database. + * Whereas 3rd element is supposed to be list of tags, other elements are ignored. + * Tagged are expected to be separated by __ notion. + * Example of a csv row (Similarly for xlsx): + * *keyword name, database, tag1, tag2__tag3, tag4__tag5* + * Total keywords allowed is 100. A keyword can have up to 5 tags.Total tags allowed is 50. + */ +export type keywordslistsKeywordsPostUpload = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordslistsKeywordsPostUpload_Path; + headers: keywordslistsKeywordsPostUpload_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_KeywordCountResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordslistsKeywordsPostUpload_Path = { + /** + * workspace id + */ + id: string; + /** + * id of the keywords-list + */ + basket_id: number; +}; + +export type keywordslistsKeywordsPostUpload_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/members.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/members.types.ts new file mode 100644 index 000000000..aa3f3b5d7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/keywordslists/{basket_id}/members.types.ts @@ -0,0 +1,294 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_keywordsListDeleteMembersForm } from "../../../../../../definitions/handlers.keywordsListDeleteMembersForm.js"; +import type { handlers_keywordsListMembersResponse } from "../../../../../../definitions/handlers.keywordsListMembersResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_keywordsListMemberUpdateRoleForm } from "../../../../../../definitions/handlers.keywordsListMemberUpdateRoleForm.js"; +import type { handlers_keywordListAddMembersForm } from "../../../../../../definitions/handlers.keywordListAddMembersForm.js"; + +/** + * deletes members of a keywords-list + * Note: External users on Semrush workspace keywords lists are not allowed to be invited + */ +export type keywordsListDeleteMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsListDeleteMembers_Path; + headers: keywordsListDeleteMembers_Headers; + cookie: never; + body: handlers_keywordsListDeleteMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a keywords list members + */ +export type keywordsListMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsListMembers_Path; + headers: keywordsListMembers_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_keywordsListMembersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * update keywords-list members role + * Note: External users on Semrush workspace keywords lists are not allowed to be invited + */ +export type keywordsListUpdateMembersRole = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsListUpdateMembersRole_Path; + headers: keywordsListUpdateMembersRole_Headers; + cookie: never; + body: handlers_keywordsListMemberUpdateRoleForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * adds members to a keywords list and assigns them a specific role + * **Note**: External users (without @semrsuh.com email) cannot be invited to keywords lists of Semrush workspaces. + */ +export type keywordsListAddMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsListAddMembers_Path; + headers: keywordsListAddMembers_Headers; + cookie: never; + body: handlers_keywordListAddMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: {}; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordsListDeleteMembers_Path = { + /** + * workspace id + */ + id: string; + /** + * basket id + */ + basket_id: string; +}; + +export type keywordsListDeleteMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordsListMembers_Path = { + /** + * workspace id + */ + id: string; + /** + * basket id + */ + basket_id: string; +}; + +export type keywordsListMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordsListUpdateMembersRole_Path = { + /** + * workspace id + */ + id: string; + /** + * basket id + */ + basket_id: string; +}; + +export type keywordsListUpdateMembersRole_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordsListAddMembers_Path = { + /** + * workspace id + */ + id: string; + /** + * basket id + */ + basket_id: string; +}; + +export type keywordsListAddMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/light.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/light.types.ts new file mode 100644 index 000000000..762e39ef8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/light.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceLightResponse } from "../../../../definitions/handlers.workspaceLightResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets lightweight workspace details matching with id + */ +export type workspaceLightDetails = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceLightDetails_Path; + headers: workspaceLightDetails_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceLightResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceLightDetails_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceLightDetails_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/limits.types.ts new file mode 100644 index 000000000..d6f0267e9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/limits.types.ts @@ -0,0 +1,97 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_GetLimitsResponse } from "../../../../definitions/handlers.GetLimitsResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * [DEPRECATED] use /v1/workspaces/{id}/resources instead + * @deprecated + */ +export type limitsGet = ( + $: OmitValueWhenNever<{ + query: limitsGet_Query; + querystring: never; + path: limitsGet_Path; + headers: limitsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_GetLimitsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type limitsGet_Query = { + /** + * set true if you want the master workspace's limits + */ + master?: boolean; +}; + +export type limitsGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type limitsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/members.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/members.types.ts new file mode 100644 index 000000000..4b356a205 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/members.types.ts @@ -0,0 +1,382 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceDeleteMembersForm } from "../../../../definitions/handlers.workspaceDeleteMembersForm.js"; +import type { handlers_WorkspaceMemberUpsertResponse } from "../../../../definitions/handlers.WorkspaceMemberUpsertResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_workspacesMembersResponse } from "../../../../definitions/handlers.workspacesMembersResponse.js"; +import type { handlers_workspaceMemberUpdateRoleForm } from "../../../../definitions/handlers.workspaceMemberUpdateRoleForm.js"; +import type { handlers_workspaceAddMembersForm } from "../../../../definitions/handlers.workspaceAddMembersForm.js"; +import type { handlers_workspaceAddMembersResponse } from "../../../../definitions/handlers.workspaceAddMembersResponse.js"; + +/** + * deletes members of a workspace + * in response it returns number of user units freed, + * +ve value means workspace user units are credited back and users are removed from corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + */ +export type workspaceDeleteMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceDeleteMembers_Path; + headers: workspaceDeleteMembers_Headers; + cookie: never; + body: handlers_workspaceDeleteMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceMemberUpsertResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a workspace's members + * **Note:** Users with roles *Collaborator* or *Content Writer* will receive **no members** in the response (an empty list), regardless of workspace membership. + */ +export type workspacesMembers = ( + $: OmitValueWhenNever<{ + query: workspacesMembers_Query; + querystring: never; + path: workspacesMembers_Path; + headers: workspacesMembers_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspacesMembersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Updates a member's role in workspaces by promoting/demoting user in the workspace. + * in response it returns number of user units consumed/freed, + * +ve value means workspace user units are credited back and user is removed from corporate account. + * -ve value means workspace user units are consumed and user is invited to corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + */ +export type workspacesMembersUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspacesMembersUpdate_Path; + headers: workspacesMembersUpdate_Headers; + cookie: never; + body: handlers_workspaceMemberUpdateRoleForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceMemberUpsertResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * adds members to a workspace and assigns them a specific role + * in response it returns number of user units consumed + * -ve value means workspace user units are consumed and users are invited to corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + * **Note**: External users (without @semrsuh.com email) cannot be invited to Semrush workspaces. + */ +export type workspaceAddMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceAddMembers_Path; + headers: workspaceAddMembers_Headers; + cookie: never; + body: handlers_workspaceAddMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceMemberUpsertResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceAddMembersResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceDeleteMembers_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceDeleteMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type workspacesMembers_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * asc/desc + */ + direction?: string; + /** + * search by email + */ + search?: string; + /** + * search by role name + */ + role?: string; + /** + * search by membership status + */ + membership_status?: string; + /** + * include parental admins + */ + include_parental_admins?: boolean; + /** + * include parent workspace + */ + include_parent_workspace?: boolean; +}; + +export type workspacesMembers_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspacesMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type workspacesMembersUpdate_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspacesMembersUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type workspaceAddMembers_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceAddMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/parent.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/parent.types.ts new file mode 100644 index 000000000..b66ee7368 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/parent.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets workspace's parent details matching with id + */ +export type workspaceDetailsParent = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceDetailsParent_Path; + headers: workspaceDetailsParent_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceDetailsParent_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceDetailsParent_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/parent/resources.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/parent/resources.types.ts new file mode 100644 index 000000000..04cffe8c6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/parent/resources.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources } from "../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets workspace's master workspace resources resources matching with id + */ +export type workspaceResourcesMaster = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceResourcesMaster_Path; + headers: workspaceResourcesMaster_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceResourcesMaster_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceResourcesMaster_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects.types.ts new file mode 100644 index 000000000..cae5b1e49 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects.types.ts @@ -0,0 +1,219 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_projectListResponse } from "../../../../definitions/handlers.projectListResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_projectCreateForm } from "../../../../definitions/handlers.projectCreateForm.js"; +import type { handlers_projectUpsertResponse } from "../../../../definitions/handlers.projectUpsertResponse.js"; + +/** + * gets a list of all projects that belong to a workspace. + */ +export type projectListGetForUser = ( + $: OmitValueWhenNever<{ + query: projectListGetForUser_Query; + querystring: never; + path: projectListGetForUser_Path; + headers: projectListGetForUser_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * creates a drafted project in a workspace with name and domain + */ +export type projectCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectCreate_Path; + headers: projectCreate_Headers; + cookie: never; + body: handlers_projectCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectUpsertResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectListGetForUser_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type projectListGetForUser_Path = { + /** + * workspace id + */ + id: string; +}; + +export type projectListGetForUser_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectCreate_Path = { + /** + * workspace id + */ + id: string; +}; + +export type projectCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/targets.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/targets.types.ts new file mode 100644 index 000000000..30277f5da --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/targets.types.ts @@ -0,0 +1,111 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_targetListResponse } from "../../../../../definitions/handlers.targetListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets a list of targets of all live projects by workspace id + */ +export type liveProjectsTargetListGet = ( + $: OmitValueWhenNever<{ + query: liveProjectsTargetListGet_Query; + querystring: never; + path: liveProjectsTargetListGet_Path; + headers: liveProjectsTargetListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_targetListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type liveProjectsTargetListGet_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type liveProjectsTargetListGet_Path = { + /** + * workspace id + * @default "19193849-51bf-413d-9ed9-45a63e649887" + */ + id: string; +}; + +export type liveProjectsTargetListGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}.types.ts new file mode 100644 index 000000000..f863f6423 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}.types.ts @@ -0,0 +1,315 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_projectDeleteResponse } from "../../../../../definitions/handlers.projectDeleteResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_projectsGetResponse } from "../../../../../definitions/handlers.projectsGetResponse.js"; +import type { handlers_projectUpdateForm } from "../../../../../definitions/handlers.projectUpdateForm.js"; +import type { handlers_projectUpsertResponse } from "../../../../../definitions/handlers.projectUpsertResponse.js"; + +/** + * deletes a project and attached entities + */ +export type projectDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectDelete_Path; + headers: projectDelete_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectDeleteResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets details of a specific project. + */ +export type projectGet = ( + $: OmitValueWhenNever<{ + query: projectGet_Query; + querystring: never; + path: projectGet_Path; + headers: projectGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectsGetResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * updates a project's color and title + */ +export type projectUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUpdate_Path; + headers: projectUpdate_Headers; + cookie: never; + body: handlers_projectUpdateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectUpsertResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectGet_Query = { + /** + * live + */ + live?: boolean; +}; + +export type projectGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectUpdate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone.types.ts new file mode 100644 index 000000000..ba2640f75 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone.types.ts @@ -0,0 +1,98 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * clone benchmarks / tags from target to another + */ +export type workspacesCloneBenchmarksTags = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspacesCloneBenchmarksTags_Path; + headers: workspacesCloneBenchmarksTags_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesCloneBenchmarksTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type workspacesCloneBenchmarksTags_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/discard_draft.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/discard_draft.types.ts new file mode 100644 index 000000000..c936a446c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/discard_draft.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * discards draft projects and copies back live version + */ +export type discardDraftProject = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: discardDraftProject_Path; + headers: discardDraftProject_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type discardDraftProject_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type discardDraftProject_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/favourite.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/favourite.types.ts new file mode 100644 index 000000000..a440f09ad --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/favourite.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_projectFavouriteSetForm } from "../../../../../../definitions/handlers.projectFavouriteSetForm.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * API to set project as favourite + */ +export type setProjectFavourite = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: setProjectFavourite_Path; + headers: setProjectFavourite_Headers; + cookie: never; + body: handlers_projectFavouriteSetForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type setProjectFavourite_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type setProjectFavourite_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals.types.ts new file mode 100644 index 000000000..b77ce013b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals.types.ts @@ -0,0 +1,273 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_goalsDeleteForm } from "../../../../../../definitions/handlers.goalsDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_goalsListResponse } from "../../../../../../definitions/handlers.goalsListResponse.js"; +import type { handlers_goalsUpsertForm } from "../../../../../../definitions/handlers.goalsUpsertForm.js"; +import type { handlers_goalUpsertReponse } from "../../../../../../definitions/handlers.goalUpsertReponse.js"; + +/** + * this API deletes multiple goals for a project + */ +export type goalsDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: goalsDelete_Path; + headers: goalsDelete_Headers; + cookie: never; + body: handlers_goalsDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * this API returns list of goals for a project + */ +export type goalsList = ( + $: OmitValueWhenNever<{ + query: goalsList_Query; + querystring: never; + path: goalsList_Path; + headers: goalsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_goalsListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * this API creates a goal for a project + */ +export type goalCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: goalCreate_Path; + headers: goalCreate_Headers; + cookie: never; + body: handlers_goalsUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_goalUpsertReponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type goalsDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type goalsDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type goalsList_Query = { + /** + * live + */ + live?: boolean; + /** + * page number + */ + page?: number; + /** + * limit number + */ + limit?: number; +}; + +export type goalsList_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type goalsList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type goalCreate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type goalCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals/import.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals/import.types.ts new file mode 100644 index 000000000..87e60b9a4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals/import.types.ts @@ -0,0 +1,94 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_goalImportForm } from "../../../../../../../definitions/handlers.goalImportForm.js"; +import type { handlers_goalImportReponse } from "../../../../../../../definitions/handlers.goalImportReponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API imports goals from a project to another + */ +export type goalSimport = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: goalSimport_Path; + headers: goalSimport_Headers; + cookie: never; + body: handlers_goalImportForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_goalImportReponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type goalSimport_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type goalSimport_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}.types.ts new file mode 100644 index 000000000..9530633b6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}.types.ts @@ -0,0 +1,98 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_goalsUpsertForm } from "../../../../../../../definitions/handlers.goalsUpsertForm.js"; +import type { handlers_goalUpsertReponse } from "../../../../../../../definitions/handlers.goalUpsertReponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API creates a goal for a project + */ +export type goalUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: goalUpdate_Path; + headers: goalUpdate_Headers; + cookie: never; + body: handlers_goalsUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_goalUpsertReponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type goalUpdate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * goal id + */ + goal_id: string; +}; + +export type goalUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/limits.types.ts new file mode 100644 index 000000000..487efab5a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/limits.types.ts @@ -0,0 +1,93 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_GetLimitsResponse } from "../../../../../../definitions/handlers.GetLimitsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets resource limits by project + */ +export type projectLimitsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectLimitsGet_Path; + headers: projectLimitsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_GetLimitsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectLimitsGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectLimitsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/members.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/members.types.ts new file mode 100644 index 000000000..7c7745351 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/members.types.ts @@ -0,0 +1,338 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_projectDeleteMembersForm } from "../../../../../../definitions/handlers.projectDeleteMembersForm.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_projectMembersResponse } from "../../../../../../definitions/handlers.projectMembersResponse.js"; +import type { handlers_projectAddMembersForm } from "../../../../../../definitions/handlers.projectAddMembersForm.js"; + +/** + * deletes members of a project + */ +export type projectDeleteMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectDeleteMembers_Path; + headers: projectDeleteMembers_Headers; + cookie: never; + body: handlers_projectDeleteMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a project's members + */ +export type projectMembers = ( + $: OmitValueWhenNever<{ + query: projectMembers_Query; + querystring: never; + path: projectMembers_Path; + headers: projectMembers_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectMembersResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * update project members role + */ +export type projectUpdateMembersRole = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUpdateMembersRole_Path; + headers: projectUpdateMembersRole_Headers; + cookie: never; + body: handlers_projectAddMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * adds members to a projects and assigns them a specific role + * **Note**: External users (without @semrsuh.com email) cannot be invited to projects of Semrush workspaces. + */ +export type projectAddMembers = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectAddMembers_Path; + headers: projectAddMembers_Headers; + cookie: never; + body: handlers_projectAddMembersForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDeleteMembers_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectDeleteMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectMembers_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type projectMembers_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectUpdateMembersRole_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectUpdateMembersRole_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectAddMembers_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectAddMembers_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.types.ts new file mode 100644 index 000000000..9901126bd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers.types.ts @@ -0,0 +1,337 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedDeleteForm } from "../../../../../../definitions/handlers.pagespeedDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_pagespeedCrawlersListResponse } from "../../../../../../definitions/handlers.pagespeedCrawlersListResponse.js"; +import type { handlers_pagespeedCrawlerCreateForm } from "../../../../../../definitions/handlers.pagespeedCrawlerCreateForm.js"; +import type { handlers_pagespeedCrawlerCreateResponse } from "../../../../../../definitions/handlers.pagespeedCrawlerCreateResponse.js"; + +/** + * deletes pagespeed crawlers that belong to a project + */ +export type pagespeedDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: pagespeedDelete_Path; + headers: pagespeedDelete_Headers; + cookie: never; + body: handlers_pagespeedDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a list pagespeed crawlers that belong to a project + */ +export type pagespeedList = ( + $: OmitValueWhenNever<{ + query: pagespeedList_Query; + querystring: never; + path: pagespeedList_Path; + headers: pagespeedList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedCrawlersListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * creates a pagespeed crawler that belong to a project + */ +export type pagespeedCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: pagespeedCreate_Path; + headers: pagespeedCreate_Headers; + cookie: never; + body: handlers_pagespeedCrawlerCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedCrawlerCreateResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type pagespeedDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type pagespeedList_Query = { + /** + * page number + */ + page?: number; + /** + * results offset + */ + offset?: number; + /** + * page size + */ + limit?: number; + /** + * live + */ + live?: boolean; +}; + +export type pagespeedList_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type pagespeedList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type pagespeedCreate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type pagespeedCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}.types.ts new file mode 100644 index 000000000..e4830ae4d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}.types.ts @@ -0,0 +1,118 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedCrawlerUpdateForm } from "../../../../../../../definitions/handlers.pagespeedCrawlerUpdateForm.js"; +import type { handlers_pagespeedCrawler } from "../../../../../../../definitions/handlers.pagespeedCrawler.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * updates a pagespeed crawler that belong to a project + */ +export type pagespeedUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: pagespeedUpdate_Path; + headers: pagespeedUpdate_Headers; + cookie: never; + body: handlers_pagespeedCrawlerUpdateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedCrawler; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedUpdate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.types.ts new file mode 100644 index 000000000..0e00b81f2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords.types.ts @@ -0,0 +1,363 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedKeywordsDeleteForm } from "../../../../../../../../definitions/handlers.pagespeedKeywordsDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_pagespeedKeywordsListResponse } from "../../../../../../../../definitions/handlers.pagespeedKeywordsListResponse.js"; +import type { handlers_pagespeedCrawlerAddKeywordsForm } from "../../../../../../../../definitions/handlers.pagespeedCrawlerAddKeywordsForm.js"; +import type { handlers_keyword } from "../../../../../../../../definitions/handlers.keyword.js"; + +/** + * deletes a list of keywords from pagespeed crawlers + */ +export type pagespeedDeleteKeywords = ( + $: OmitValueWhenNever<{ + query: pagespeedDeleteKeywords_Query; + querystring: never; + path: pagespeedDeleteKeywords_Path; + headers: pagespeedDeleteKeywords_Headers; + cookie: never; + body: handlers_pagespeedKeywordsDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a list of keywords of pagespeed crawler that belong to a project + */ +export type pagespeedKeywordsList = ( + $: OmitValueWhenNever<{ + query: pagespeedKeywordsList_Query; + querystring: never; + path: pagespeedKeywordsList_Path; + headers: pagespeedKeywordsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedKeywordsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * adds keywords to pagespeed crawlers + */ +export type pagespeedAddKeywords = ( + $: OmitValueWhenNever<{ + query: pagespeedAddKeywords_Query; + querystring: never; + path: pagespeedAddKeywords_Path; + headers: pagespeedAddKeywords_Headers; + cookie: never; + body: handlers_pagespeedCrawlerAddKeywordsForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedDeleteKeywords_Query = { + /** + * live + */ + live?: boolean; +}; + +export type pagespeedDeleteKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedDeleteKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type pagespeedKeywordsList_Query = { + /** + * page number + */ + page?: number; + /** + * results offset + */ + offset?: number; + /** + * page size + */ + limit?: number; + /** + * live + */ + live?: boolean; +}; + +export type pagespeedKeywordsList_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedKeywordsList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type pagespeedAddKeywords_Query = { + /** + * live + */ + live?: boolean; +}; + +export type pagespeedAddKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedAddKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom.types.ts new file mode 100644 index 000000000..a7dc5d083 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom.types.ts @@ -0,0 +1,119 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedAddNamedKeywordsForm } from "../../../../../../../../../definitions/handlers.pagespeedAddNamedKeywordsForm.js"; +import type { handlers_pagespeedAddNamedKeywordsResponse } from "../../../../../../../../../definitions/handlers.pagespeedAddNamedKeywordsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * adds keywords by name to pagespeed crawler. + * A project should have these keywords otherwise keywords are not added to a pagespeed crawler. + */ +export type pagespeedAddNamedKeywords = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: pagespeedAddNamedKeywords_Path; + headers: pagespeedAddNamedKeywords_Headers; + cookie: never; + body: handlers_pagespeedAddNamedKeywordsForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedAddNamedKeywordsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedAddNamedKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedAddNamedKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits.types.ts new file mode 100644 index 000000000..9eb0f3172 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits.types.ts @@ -0,0 +1,97 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_GetLimitsResponse } from "../../../../../../../../definitions/handlers.GetLimitsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets resource limits by pagespeed crawler + */ +export type crawlerLimitsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: crawlerLimitsGet_Path; + headers: crawlerLimitsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_GetLimitsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type crawlerLimitsGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type crawlerLimitsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.types.ts new file mode 100644 index 000000000..f9891cde3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls.types.ts @@ -0,0 +1,349 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedURLsDeleteForm } from "../../../../../../../../definitions/handlers.pagespeedURLsDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_pagespeedURLsListResponse } from "../../../../../../../../definitions/handlers.pagespeedURLsListResponse.js"; +import type { handlers_pagespeedCrawlerAddURLsForm } from "../../../../../../../../definitions/handlers.pagespeedCrawlerAddURLsForm.js"; +import type { handlers_pagespeedURL } from "../../../../../../../../definitions/handlers.pagespeedURL.js"; + +/** + * deletes a list of urls from pagespeed crawlers that belong to a project + */ +export type pagespeedDeleteUrls = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: pagespeedDeleteUrls_Path; + headers: pagespeedDeleteUrls_Headers; + cookie: never; + body: handlers_pagespeedURLsDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a list of urls of pagespeed crawler that belong to a project + */ +export type pagespeedUrlsList = ( + $: OmitValueWhenNever<{ + query: pagespeedUrlsList_Query; + querystring: never; + path: pagespeedUrlsList_Path; + headers: pagespeedUrlsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_pagespeedURLsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * adds a list of urls to pagespeed crawlers that belong to a project + */ +export type pagespeedAddUrls = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: pagespeedAddUrls_Path; + headers: pagespeedAddUrls_Headers; + cookie: never; + body: handlers_pagespeedCrawlerAddURLsForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedDeleteUrls_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedDeleteUrls_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type pagespeedUrlsList_Query = { + /** + * page number + */ + page?: number; + /** + * results offset + */ + offset?: number; + /** + * page size + */ + limit?: number; + /** + * live + */ + live?: boolean; +}; + +export type pagespeedUrlsList_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedUrlsList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type pagespeedAddUrls_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedAddUrls_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible.types.ts new file mode 100644 index 000000000..db048642f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible.types.ts @@ -0,0 +1,117 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_pagespeedCrawlerVisibleForm } from "../../../../../../../../definitions/handlers.pagespeedCrawlerVisibleForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * makes a pagespeed crawler of a project is visible + */ +export type pagespeedVisible = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: pagespeedVisible_Path; + headers: pagespeedVisible_Headers; + cookie: never; + body: handlers_pagespeedCrawlerVisibleForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type pagespeedVisible_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * pagespeed crawler id + */ + crawler_id: string; +}; + +export type pagespeedVisible_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/publish/async.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/publish/async.types.ts new file mode 100644 index 000000000..d6175f797 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/publish/async.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * asynchronously publishes a project + */ +export type projectPublishAsync = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectPublishAsync_Path; + headers: projectPublishAsync_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectPublishAsync_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectPublishAsync_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/segments.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/segments.types.ts new file mode 100644 index 000000000..48df8370f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/segments.types.ts @@ -0,0 +1,176 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_IDsForm } from "../../../../../../definitions/handlers.IDsForm.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_SegmentListResponse } from "../../../../../../definitions/handlers.SegmentListResponse.js"; + +/** + * delete a segment for a project by id + */ +export type projectSegmentDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectSegmentDelete_Path; + headers: projectSegmentDelete_Headers; + cookie: never; + body: handlers_IDsForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Gets a list of segments that belong to a project. + * For description of response fields like conditions and filters, + * see segment create under **Segment** * /workspaces/{id}/projects/{project_id}/segments [post]* + */ +export type projectSegmentListGet = ( + $: OmitValueWhenNever<{ + query: projectSegmentListGet_Query; + querystring: never; + path: projectSegmentListGet_Path; + headers: projectSegmentListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectSegmentDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectSegmentDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectSegmentListGet_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * sort by segment field + */ + sort?: "name" | "created_at" | "updated_at"; + /** + * sort direction + */ + direction?: "asc" | "desc"; + /** + * search by segment name + */ + search?: string; +}; + +export type projectSegmentListGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectSegmentListGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.ts new file mode 100644 index 000000000..a67056ca3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}.types.ts @@ -0,0 +1,172 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_SegmentResponse } from "../../../../../../../definitions/handlers.SegmentResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_SegmentUpsertForm } from "../../../../../../../definitions/handlers.SegmentUpsertForm.js"; + +/** + * Gets a segment of a project by id. For description of response fields like conditions and filters, + * see segment create under **Segment** * /workspaces/{id}/projects/{project_id}/segments [post]* + */ +export type projectSegmentsGet = ( + $: OmitValueWhenNever<{ + query: projectSegmentsGet_Query; + querystring: never; + path: projectSegmentsGet_Path; + headers: projectSegmentsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * update segment for a project BY id, see segment create for valid conditions and filters fields + * column_name, operator and value validations. + */ +export type projectSegmentUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectSegmentUpdate_Path; + headers: projectSegmentUpdate_Headers; + cookie: never; + body: handlers_SegmentUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectSegmentsGet_Query = { + /** + * whether to show only for live projects + */ + live?: "true" | "false"; +}; + +export type projectSegmentsGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * segment id + */ + segment_id: string; +}; + +export type projectSegmentsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectSegmentUpdate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * segment id + */ + segment_id: string; +}; + +export type projectSegmentUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets.types.ts new file mode 100644 index 000000000..77c3c9584 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets.types.ts @@ -0,0 +1,320 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_targetListResponse } from "../../../../../../definitions/handlers.targetListResponse.js"; +import type { handlers_targetCreateForm } from "../../../../../../definitions/handlers.targetCreateForm.js"; +import type { handlers_Target } from "../../../../../../definitions/handlers.Target.js"; + +/** + * deletes a target + */ +export type projectTargetDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectTargetDelete_Path; + headers: projectTargetDelete_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: unknown; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a list of targets that belong to a project + */ +export type projectTargetListGet = ( + $: OmitValueWhenNever<{ + query: projectTargetListGet_Query; + querystring: never; + path: projectTargetListGet_Path; + headers: projectTargetListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_targetListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * creates target of the project + */ +export type projectAddTarget = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectAddTarget_Path; + headers: projectAddTarget_Headers; + cookie: never; + body: handlers_targetCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectTargetDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectTargetDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectTargetListGet_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * live + */ + live?: boolean; +}; + +export type projectTargetListGet_Path = { + /** + * workspace id + * @default "19193849-51bf-413d-9ed9-45a63e649887" + */ + id: string; + /** + * project id + * @default "95cb3f7d-d932-4d8d-ba81-639731d39c08" + */ + project_id: string; +}; + +export type projectTargetListGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectAddTarget_Path = { + /** + * workspace id + * @default "19193849-51bf-413d-9ed9-45a63e649887" + */ + id: string; + /** + * project id + * @default "95cb3f7d-d932-4d8d-ba81-639731d39c08" + */ + project_id: string; +}; + +export type projectAddTarget_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone.types.ts new file mode 100644 index 000000000..89f00cfba --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone.types.ts @@ -0,0 +1,98 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * clone keywords / tags from target to another + */ +export type workspacesCloneKeywordsTags = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspacesCloneKeywordsTags_Path; + headers: workspacesCloneKeywordsTags_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesCloneKeywordsTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type workspacesCloneKeywordsTags_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.ts new file mode 100644 index 000000000..e83145bd5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}.types.ts @@ -0,0 +1,104 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_Target } from "../../../../../../../definitions/handlers.Target.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets target details + */ +export type projectTargetDetails = ( + $: OmitValueWhenNever<{ + query: projectTargetDetails_Query; + querystring: never; + path: projectTargetDetails_Path; + headers: projectTargetDetails_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_Target; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectTargetDetails_Query = { + /** + * live + */ + live?: boolean; +}; + +export type projectTargetDetails_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectTargetDetails_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.types.ts new file mode 100644 index 000000000..fad4dc29e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks.types.ts @@ -0,0 +1,349 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_benchmarksDeleteForm } from "../../../../../../../../definitions/handlers.benchmarksDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_benchmarksListResponse } from "../../../../../../../../definitions/handlers.benchmarksListResponse.js"; +import type { handlers_benchmarkCreateForm } from "../../../../../../../../definitions/handlers.benchmarkCreateForm.js"; +import type { handlers_benchmark } from "../../../../../../../../definitions/handlers.benchmark.js"; + +/** + * this API lets client delete benchmarks of a project + */ +export type projectDeleteBenchmarks = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectDeleteBenchmarks_Path; + headers: projectDeleteBenchmarks_Headers; + cookie: never; + body: handlers_benchmarksDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * this API lists benchmarks of a project + */ +export type benchmarksList = ( + $: OmitValueWhenNever<{ + query: benchmarksList_Query; + querystring: never; + path: benchmarksList_Path; + headers: benchmarksList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_benchmarksListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * this API lets client create benchmark of a project, max 20 benchmarks are allowed + */ +export type projectAddBenchmarks = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectAddBenchmarks_Path; + headers: projectAddBenchmarks_Headers; + cookie: never; + body: handlers_benchmarkCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDeleteBenchmarks_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target: string; + /** + * target id + */ + target_id: string; +}; + +export type projectDeleteBenchmarks_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type benchmarksList_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * live + */ + live?: boolean; +}; + +export type benchmarksList_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type benchmarksList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectAddBenchmarks_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectAddBenchmarks_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk.types.ts new file mode 100644 index 000000000..635b5ec64 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk.types.ts @@ -0,0 +1,118 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_benchmarkBulkUpdateForm } from "../../../../../../../../../definitions/handlers.benchmarkBulkUpdateForm.js"; +import type { handlers_benchmark } from "../../../../../../../../../definitions/handlers.benchmark.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API lets client bulk update benchmarks of a project + */ +export type projectBulkUpdateBenchmarks = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectBulkUpdateBenchmarks_Path; + headers: projectBulkUpdateBenchmarks_Headers; + cookie: never; + body: handlers_benchmarkBulkUpdateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectBulkUpdateBenchmarks_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectBulkUpdateBenchmarks_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download.types.ts new file mode 100644 index 000000000..6f2e14c02 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download.types.ts @@ -0,0 +1,121 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API download benchmarks. + * First element is supposed to be URL + * whereas second element is supposed to be color. + */ +export type projectDownloadBenchmarks = ( + $: OmitValueWhenNever<{ + query: projectDownloadBenchmarks_Query; + querystring: never; + path: projectDownloadBenchmarks_Path; + headers: projectDownloadBenchmarks_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDownloadBenchmarks_Query = { + /** + * live + */ + live?: boolean; +}; + +export type projectDownloadBenchmarks_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectDownloadBenchmarks_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags.types.ts new file mode 100644 index 000000000..477fd7889 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags.types.ts @@ -0,0 +1,118 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_benchmarkRemoveTagsForm } from "../../../../../../../../../definitions/handlers.benchmarkRemoveTagsForm.js"; +import type { handlers_benchmark } from "../../../../../../../../../definitions/handlers.benchmark.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * remove tags from benchmarks + */ +export type projectRemoveTagsBenchmarks = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectRemoveTagsBenchmarks_Path; + headers: projectRemoveTagsBenchmarks_Headers; + cookie: never; + body: handlers_benchmarkRemoveTagsForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectRemoveTagsBenchmarks_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectRemoveTagsBenchmarks_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload.types.ts new file mode 100644 index 000000000..762eb437d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload.types.ts @@ -0,0 +1,114 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API uploads benchmarks of a project from csv/xlsx file. + * First element is supposed to be URL + * whereas second element is supposed to be color, other elements are ignored. + */ +export type projectUploadBenchmarks = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUploadBenchmarks_Path; + headers: projectUploadBenchmarks_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectUploadBenchmarks_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectUploadBenchmarks_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}.types.ts new file mode 100644 index 000000000..34723aa56 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}.types.ts @@ -0,0 +1,122 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_benchmarkUpdateForm } from "../../../../../../../../../definitions/handlers.benchmarkUpdateForm.js"; +import type { handlers_benchmark } from "../../../../../../../../../definitions/handlers.benchmark.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API lets client updates a benchmark of a project + */ +export type projectUpdateBenchmarks = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUpdateBenchmarks_Path; + headers: projectUpdateBenchmarks_Headers; + cookie: never; + body: handlers_benchmarkUpdateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_benchmark; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectUpdateBenchmarks_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; + /** + * benchmark id + */ + benchmark_id: string; +}; + +export type projectUpdateBenchmarks_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts new file mode 100644 index 000000000..74af4a665 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts @@ -0,0 +1,347 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_keywordsDeleteForm } from "../../../../../../../../definitions/handlers.keywordsDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_keywordsListResponse } from "../../../../../../../../definitions/handlers.keywordsListResponse.js"; +import type { handlers_keywordsCreateForm } from "../../../../../../../../definitions/handlers.keywordsCreateForm.js"; +import type { handlers_keywordsCreateResponse } from "../../../../../../../../definitions/handlers.keywordsCreateResponse.js"; + +/** + * deletes keywords that belong to a target + */ +export type projectDeleteKeywords = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectDeleteKeywords_Path; + headers: projectDeleteKeywords_Headers; + cookie: never; + body: handlers_keywordsDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets list of keywords that belong to a target. + */ +export type projectGetKeywords = ( + $: OmitValueWhenNever<{ + query: projectGetKeywords_Query; + querystring: never; + path: projectGetKeywords_Path; + headers: projectGetKeywords_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_keywordsListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * creates keywords that belong to a target + */ +export type projectAddKeywords = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectAddKeywords_Path; + headers: projectAddKeywords_Headers; + cookie: never; + body: handlers_keywordsCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_keywordsCreateResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDeleteKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectDeleteKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectGetKeywords_Query = { + /** + * page number + */ + page?: number; + /** + * tag id(to get keywords of a tag) + */ + tag_id?: string; + /** + * live + */ + live?: boolean; + /** + * with_hierarchy + */ + with_hierarchy?: boolean; + /** + * keyword name(to filter keywords by name) + */ + name?: string; + /** + * preferred url(to filter keywords by preferred_url) + */ + preferred_url?: string; +}; + +export type projectGetKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectGetKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectAddKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectAddKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names.types.ts new file mode 100644 index 000000000..d627f95f9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names.types.ts @@ -0,0 +1,118 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_NamedKeywordsFindForm } from "../../../../../../../../../definitions/handlers.NamedKeywordsFindForm.js"; +import type { handlers_NamedKeywordsFindResponse } from "../../../../../../../../../definitions/handlers.NamedKeywordsFindResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * finds a taregt's keywords by names. + */ +export type targetsKeywordsByNames = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: targetsKeywordsByNames_Path; + headers: targetsKeywordsByNames_Headers; + cookie: never; + body: handlers_NamedKeywordsFindForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_NamedKeywordsFindResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type targetsKeywordsByNames_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type targetsKeywordsByNames_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.types.ts new file mode 100644 index 000000000..1c3c256bd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url.types.ts @@ -0,0 +1,216 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_keywordsUpdateResponse } from "../../../../../../../../../definitions/handlers.keywordsUpdateResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_PreferredURLsUploadResponse } from "../../../../../../../../../definitions/handlers.PreferredURLsUploadResponse.js"; + +/** + * this API can be used to update keywords' preferred url. + */ +export type projectUpdateKeywords = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUpdateKeywords_Path; + headers: projectUpdateKeywords_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_keywordsUpdateResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * an API to update keywords preferred urls via csv/xlsx file, file content must be of text/csv. + * each row represents 1 keywords and its preferred url and values are expected to be comma + * separated for csv file. first element is supposed to be keyword name + * whereas second element is supposed to be preferred urls, other elements are ignored + */ +export type keywordsPreferredUrlsUpload = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsPreferredUrlsUpload_Path; + headers: keywordsPreferredUrlsUpload_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_PreferredURLsUploadResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectUpdateKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectUpdateKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type keywordsPreferredUrlsUpload_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type keywordsPreferredUrlsUpload_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download.types.ts new file mode 100644 index 000000000..1133318b3 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download.types.ts @@ -0,0 +1,122 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API download keywords along with preferred urls associated with keywords. + * each row represents one keyword and its preferred url and values are expected to be comma + * separated for csv file. first element is supposed to be keyword name + * whereas second element is supposed to be preferred urls. + */ +export type keywordsPreferredUrlsDownload = ( + $: OmitValueWhenNever<{ + query: keywordsPreferredUrlsDownload_Query; + querystring: never; + path: keywordsPreferredUrlsDownload_Path; + headers: keywordsPreferredUrlsDownload_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordsPreferredUrlsDownload_Query = { + /** + * live + */ + live?: boolean; +}; + +export type keywordsPreferredUrlsDownload_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type keywordsPreferredUrlsDownload_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids.types.ts new file mode 100644 index 000000000..8a9a1c5c4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids.types.ts @@ -0,0 +1,107 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API fetches related tag IDs for the provided keywords. + * Response has keyword_id mapped to tag ids {"id1":["tag1", "tag2"]} + */ +export type keywordsRelatedTagIdsGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsRelatedTagIdsGet_Path; + headers: keywordsRelatedTagIdsGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: Array }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordsRelatedTagIdsGet_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type keywordsRelatedTagIdsGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations.types.ts new file mode 100644 index 000000000..1a3170277 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations.types.ts @@ -0,0 +1,115 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_KeywordsTagsRelationsDeleteForm } from "../../../../../../../../../definitions/handlers.KeywordsTagsRelationsDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * API deletes relantionships of keywords with tags, + * it can also delete relations of keywords with children and grandchildren of tags if parent id passed + * expected format of request {"relations": [["keyword_id", "tag_id"]]} + */ +export type keywordsTagsRelationsDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsTagsRelationsDelete_Path; + headers: keywordsTagsRelationsDelete_Headers; + cookie: never; + body: handlers_KeywordsTagsRelationsDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordsTagsRelationsDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type keywordsTagsRelationsDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats.types.ts new file mode 100644 index 000000000..107906ff2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats.types.ts @@ -0,0 +1,106 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets metrics of keywords, data is fetched from elements data source + */ +export type keywordsMetrics = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: keywordsMetrics_Path; + headers: keywordsMetrics_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type keywordsMetrics_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type keywordsMetrics_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.ts new file mode 100644 index 000000000..3dbe33d7e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged.types.ts @@ -0,0 +1,114 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_taggedKeywordsCreateForm } from "../../../../../../../../../definitions/handlers.taggedKeywordsCreateForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API creates tagged keywords by building tags hierarchy and + * assigning tags to keywords. tagged are expected to be separated by __ notion + */ +export type projectAddTaggedKeywords = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectAddTaggedKeywords_Path; + headers: projectAddTaggedKeywords_Headers; + cookie: never; + body: handlers_taggedKeywordsCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectAddTaggedKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectAddTaggedKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download.types.ts new file mode 100644 index 000000000..776469dc6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download.types.ts @@ -0,0 +1,125 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API download keywords along with preferred URLs and tags associated with keywords. + * First element is supposed to be keyword name + * Second element is supposed to be preferred URL + * Third and subsequent elements are supposed to be list of tags. + * Tags are expected to be separated by __ notion. + * All tags are packaged in a quoted-field. + * Example of a csv row: keyword name, preferred_url, "tag1__tag2__tag3,tag4__tag5__tag6" + */ +export type projectDownloadTaggedKeywords = ( + $: OmitValueWhenNever<{ + query: projectDownloadTaggedKeywords_Query; + querystring: never; + path: projectDownloadTaggedKeywords_Path; + headers: projectDownloadTaggedKeywords_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDownloadTaggedKeywords_Query = { + /** + * live + */ + live?: boolean; +}; + +export type projectDownloadTaggedKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectDownloadTaggedKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload.types.ts new file mode 100644 index 000000000..8d616841c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload.types.ts @@ -0,0 +1,119 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API uploads tagged keywords by building tags hierarchy and + * assigning tags to keywords through csv/xlsx file. + * First element is supposed to be keyword name + * Second element is supposed to be preferred URL (optional) + * Third and subsequent elements are supposed to be list of tags. + * Tagged are expected to be separated by __ notion. + * All tags must be packaged in a quoted-field for csv file, this is not necessary for xlsx. + * Example of a csv row: keyword name,preferred_url,"tag1__tag2__tag3" + */ +export type projectUploadTaggedKeywords = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUploadTaggedKeywords_Path; + headers: projectUploadTaggedKeywords_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectUploadTaggedKeywords_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectUploadTaggedKeywords_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.ts new file mode 100644 index 000000000..fe5f9925d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.ts @@ -0,0 +1,343 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_tagsDeleteForm } from "../../../../../../../../definitions/handlers.tagsDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_tagsListResponse } from "../../../../../../../../definitions/handlers.tagsListResponse.js"; +import type { handlers_tagsCreateForm } from "../../../../../../../../definitions/handlers.tagsCreateForm.js"; +import type { handlers_tagsList } from "../../../../../../../../definitions/handlers.tagsList.js"; + +/** + * deletes tags that belong to a target, this API also deletes keywords associated to tags + * use `delete_keywords` flag to delete keywords along with tags + */ +export type projectDeleteTags = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectDeleteTags_Path; + headers: projectDeleteTags_Headers; + cookie: never; + body: handlers_tagsDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * API to return list of tags that belong to a target + * parent_id param can be used to get immediate children of a tag + * live flag can be used get live/draft target's tags + * use limit, page for paginated result + */ +export type projectGetTags = ( + $: OmitValueWhenNever<{ + query: projectGetTags_Query; + querystring: never; + path: projectGetTags_Path; + headers: projectGetTags_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tagsListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * this API creates tags and parent_id in request body can be used to build parent children relantions + */ +export type projectAddTags = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectAddTags_Path; + headers: projectAddTags_Headers; + cookie: never; + body: handlers_tagsCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tagsList; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDeleteTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectDeleteTags_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectGetTags_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * parent id + */ + parent_id?: string; + /** + * live + */ + live?: boolean; +}; + +export type projectGetTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectGetTags_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectAddTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectAddTags_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all.types.ts new file mode 100644 index 000000000..41fd7c9ce --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all.types.ts @@ -0,0 +1,125 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_TagsTreeResponseV2 } from "../../../../../../../../../definitions/handlers.TagsTreeResponseV2.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API returns all tags as a flat list without building tree structure for performance optimization. + * Frontend can build the tree structure if needed using parent_id relationships. + */ +export type projectTagsAll = ( + $: OmitValueWhenNever<{ + query: projectTagsAll_Query; + querystring: never; + path: projectTagsAll_Path; + headers: projectTagsAll_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_TagsTreeResponseV2; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectTagsAll_Query = { + /** + * live + */ + live?: boolean; +}; + +export type projectTagsAll_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectTagsAll_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.ts new file mode 100644 index 000000000..c3232866c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search.types.ts @@ -0,0 +1,127 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_tagsListResponse } from "../../../../../../../../../definitions/handlers.tagsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * searches tags by name and returns matching tags' without their children or parents + * @deprecated + */ +export type projectSearchListTags = ( + $: OmitValueWhenNever<{ + query: projectSearchListTags_Query; + querystring: never; + path: projectSearchListTags_Path; + headers: projectSearchListTags_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tagsListResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectSearchListTags_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * search + */ + search?: string; + /** + * live + */ + live?: boolean; +}; + +export type projectSearchListTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectSearchListTags_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.ts new file mode 100644 index 000000000..d615dd2b0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree.types.ts @@ -0,0 +1,129 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_TagsTreeResponse } from "../../../../../../../../../definitions/handlers.TagsTreeResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API returns all ancestors of tag upto root level, this API does not return children of tags. + * API does not return full tree. + */ +export type projectTagsTree = ( + $: OmitValueWhenNever<{ + query: projectTagsTree_Query; + querystring: never; + path: projectTagsTree_Path; + headers: projectTagsTree_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_TagsTreeResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectTagsTree_Query = { + /** + * tag id + */ + tag_id: number; + /** + * live + */ + live?: boolean; +}; + +export type projectTagsTree_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectTagsTree_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path.types.ts new file mode 100644 index 000000000..c224423a1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path.types.ts @@ -0,0 +1,121 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_TagsTreeResponse } from "../../../../../../../../../../definitions/handlers.TagsTreeResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API searches tags and returns ancestors tree structure of matched tags. + * Consider a tree `foo -> bar -> baz -> quack` and searched for `foo__bar__baz` + * then the returned result would be `foo -> bar -> baz` and the neighbors of children tags, if they exist. + * To find children of baz use list tags API. + */ +export type projectFindTagsPath = ( + $: OmitValueWhenNever<{ + query: projectFindTagsPath_Query; + querystring: never; + path: projectFindTagsPath_Path; + headers: projectFindTagsPath_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_TagsTreeResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectFindTagsPath_Query = { + /** + * path + */ + path?: string; + /** + * live + */ + live?: boolean; +}; + +export type projectFindTagsPath_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectFindTagsPath_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search.types.ts new file mode 100644 index 000000000..5612e5f77 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search.types.ts @@ -0,0 +1,120 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_TagsTreeResponse } from "../../../../../../../../../../definitions/handlers.TagsTreeResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This API searches tags and returns ancestors tree structure of matched tags. + * Consider a tree `foo -> bar -> baz -> quack` and searched for `az` + * then return result would be `foo -> bar -> baz`, to find children of baz use list tags API. + */ +export type projectSearchTreeTags = ( + $: OmitValueWhenNever<{ + query: projectSearchTreeTags_Query; + querystring: never; + path: projectSearchTreeTags_Path; + headers: projectSearchTreeTags_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_TagsTreeResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectSearchTreeTags_Query = { + /** + * search + */ + search?: string; + /** + * live + */ + live?: boolean; +}; + +export type projectSearchTreeTags_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectSearchTreeTags_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}.types.ts new file mode 100644 index 000000000..af94ef0ae --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}.types.ts @@ -0,0 +1,122 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_tagsUpdateForm } from "../../../../../../../../../definitions/handlers.tagsUpdateForm.js"; +import type { handlers_tag } from "../../../../../../../../../definitions/handlers.tag.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * this API can be used to change a tag's name and its parent + */ +export type projectUpdateTag = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUpdateTag_Path; + headers: projectUpdateTag_Headers; + cookie: never; + body: handlers_tagsUpdateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tag; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectUpdateTag_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; + /** + * tag id + */ + tag_id: string; +}; + +export type projectUpdateTag_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups.types.ts new file mode 100644 index 000000000..3e6116ea2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups.types.ts @@ -0,0 +1,325 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_urlGroupsDeleteForm } from "../../../../../../definitions/handlers.urlGroupsDeleteForm.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_urlGroupsListResponse } from "../../../../../../definitions/handlers.urlGroupsListResponse.js"; +import type { handlers_urlGroupsUpsertForm } from "../../../../../../definitions/handlers.urlGroupsUpsertForm.js"; +import type { handlers_urlGroup } from "../../../../../../definitions/handlers.urlGroup.js"; + +/** + * deletes an url groups that belong to a project + */ +export type urlGroupsDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: urlGroupsDelete_Path; + headers: urlGroupsDelete_Headers; + cookie: never; + body: handlers_urlGroupsDeleteForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * gets a list of url groups that belong to a project + */ +export type urlGroupsList = ( + $: OmitValueWhenNever<{ + query: urlGroupsList_Query; + querystring: never; + path: urlGroupsList_Path; + headers: urlGroupsList_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_urlGroupsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * creates url groups that belong to a project + */ +export type urlGroupsCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: urlGroupsCreate_Path; + headers: urlGroupsCreate_Headers; + cookie: never; + body: handlers_urlGroupsUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_urlGroup; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type urlGroupsDelete_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type urlGroupsDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type urlGroupsList_Query = { + /** + * live + */ + live?: boolean; +}; + +export type urlGroupsList_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type urlGroupsList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type urlGroupsCreate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type urlGroupsCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}.types.ts new file mode 100644 index 000000000..d48688458 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}.types.ts @@ -0,0 +1,118 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_urlGroupsUpsertForm } from "../../../../../../../definitions/handlers.urlGroupsUpsertForm.js"; +import type { handlers_urlGroup } from "../../../../../../../definitions/handlers.urlGroup.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * updates an url groups that belong to a project + */ +export type urlGroupsUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: urlGroupsUpdate_Path; + headers: urlGroupsUpdate_Headers; + cookie: never; + body: handlers_urlGroupsUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_urlGroup; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type urlGroupsUpdate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * url group id + */ + url_group_id: string; +}; + +export type urlGroupsUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/resources.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/resources.types.ts new file mode 100644 index 000000000..af2fc14b4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/resources.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources } from "../../../../definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets workspace resources matching with id + */ +export type workspaceResources = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceResources_Path; + headers: workspaceResources_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_NewWorkspaceResources; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceResources_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceResources_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/resources/transfer.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/resources/transfer.types.ts new file mode 100644 index 000000000..9e85a7a64 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/resources/transfer.types.ts @@ -0,0 +1,90 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceResources } from "../../../../../definitions/handlers.WorkspaceResources.js"; +import type { handlers_workspaceResponse } from "../../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * transfer resources between a child workspace and its parent. + */ +export type workspaceTransferResources = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceTransferResources_Path; + headers: workspaceTransferResources_Headers; + cookie: never; + body: handlers_WorkspaceResources; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceTransferResources_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceTransferResources_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/role.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/role.types.ts new file mode 100644 index 000000000..97b9e3e82 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/role.types.ts @@ -0,0 +1,90 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceUserRole } from "../../../../definitions/handlers.workspaceUserRole.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets user's role in workspace, also if user is admin/owner in parent it will return parent's role + * user_id is extracted from jwt token + */ +export type userWorkspaceRole = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: userWorkspaceRole_Path; + headers: userWorkspaceRole_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceUserRole; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type userWorkspaceRole_Path = { + /** + * workspace id + */ + id: string; +}; + +export type userWorkspaceRole_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/segments.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/segments.types.ts new file mode 100644 index 000000000..77d52c160 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/segments.types.ts @@ -0,0 +1,96 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_SegmentListByWorkspaceResponse } from "../../../../definitions/handlers.SegmentListByWorkspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets a list of segments that belong to any project of given workspace. + * For description of response fields like conditions and filters, + * see segment create under **Segment** * /workspaces/{id}/projects/{project_id}/segments [post]* + */ +export type workspaceSegmentListGet = ( + $: OmitValueWhenNever<{ + query: workspaceSegmentListGet_Query; + querystring: never; + path: workspaceSegmentListGet_Path; + headers: workspaceSegmentListGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentListByWorkspaceResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceSegmentListGet_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * whether to show only for live projects + */ + live?: "true" | "false"; +}; + +export type workspaceSegmentListGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceSegmentListGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/balance.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/balance.types.ts new file mode 100644 index 000000000..0495a9f34 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/balance.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_getServiceUnitsResponse } from "../../../../../definitions/handlers.getServiceUnitsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets service units balance + */ +export type serviceUnitsBalanceGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: serviceUnitsBalanceGet_Path; + headers: serviceUnitsBalanceGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_getServiceUnitsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type serviceUnitsBalanceGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type serviceUnitsBalanceGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/transactions.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/transactions.types.ts new file mode 100644 index 000000000..e1b4f5598 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/transactions.types.ts @@ -0,0 +1,119 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_TransactionsListForm } from "../../../../../definitions/handlers.TransactionsListForm.js"; +import type { handlers_transactionsListResponse } from "../../../../../definitions/handlers.transactionsListResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets a list of service credits transactions + */ +export type serviceCreditsTransactionsList = ( + $: OmitValueWhenNever<{ + query: serviceCreditsTransactionsList_Query; + querystring: never; + path: serviceCreditsTransactionsList_Path; + headers: serviceCreditsTransactionsList_Headers; + cookie: never; + body: handlers_TransactionsListForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_transactionsListResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type serviceCreditsTransactionsList_Query = { + /** + * sorting direction + */ + direction?: string; + /** + * sorting field + */ + field?: string; + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type serviceCreditsTransactionsList_Path = { + /** + * workspace id + */ + id: string; +}; + +export type serviceCreditsTransactionsList_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/transactions/{transaction_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/transactions/{transaction_id}.types.ts new file mode 100644 index 000000000..639f19214 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/service-units/transactions/{transaction_id}.types.ts @@ -0,0 +1,103 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_Transaction } from "../../../../../../definitions/handlers.Transaction.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets a service credits transaction + */ +export type serviceCreditsTransactionGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: serviceCreditsTransactionGet_Path; + headers: serviceCreditsTransactionGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_Transaction; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type serviceCreditsTransactionGet_Path = { + /** + * workspace id + */ + id: string; + /** + * transaction id + */ + transaction_id: string; +}; + +export type serviceCreditsTransactionGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/status.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/status.types.ts new file mode 100644 index 000000000..2097c32a4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{id}/status.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceCheckResponse } from "../../../../definitions/handlers.WorkspaceCheckResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * THe status must be "not ready", "created" or "error" + */ +export type workspacesStatusGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspacesStatusGet_Path; + headers: workspacesStatusGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspacesStatusGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspacesStatusGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections.types.ts new file mode 100644 index 000000000..73bec937b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections.types.ts @@ -0,0 +1,181 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceConnectionsDeleteRequest } from "../../../../definitions/handlers.WorkspaceConnectionsDeleteRequest.js"; +import type { handlers_WorkspaceConnectionsResponse } from "../../../../definitions/handlers.WorkspaceConnectionsResponse.js"; + +/** + * Deletes multiple workspace connections by their IDs. + */ +export type workspaceConnectionsDelete = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceConnectionsDelete_Path; + headers: workspaceConnectionsDelete_Headers; + cookie: never; + body: handlers_WorkspaceConnectionsDeleteRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Retrieves a paginated list of workspace connections. + */ +export type workspaceConnections = ( + $: OmitValueWhenNever<{ + query: workspaceConnections_Query; + querystring: never; + path: workspaceConnections_Path; + headers: workspaceConnections_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceConnectionsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceConnectionsDelete_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type workspaceConnectionsDelete_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type workspaceConnections_Query = { + /** + * Number of page + */ + page?: number; + /** + * Number of items per page (default: 10) + */ + limit?: number; + /** + * Connection type filter: google-ads, google-analytics, google-console, adobe-analytics + */ + type?: string; + /** + * Owner type filter + */ + owner_id?: string; +}; + +export type workspaceConnections_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type workspaceConnections_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics.types.ts new file mode 100644 index 000000000..0cfab06be --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics.types.ts @@ -0,0 +1,85 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeAnalyticsWorkspaceConnectionCreate } from "../../../../../definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreate.js"; + +/** + * Deprecated: use POST /v2/workspaces/{workspace_id}/connections/adobe-analytics with credential_id in body instead. + * @deprecated + */ +export type adobeAnalyticsConnectionCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adobeAnalyticsConnectionCreate_Path; + headers: adobeAnalyticsConnectionCreate_Headers; + cookie: never; + body: handlers_AdobeAnalyticsWorkspaceConnectionCreate; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsConnectionCreate_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type adobeAnalyticsConnectionCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.ts new file mode 100644 index 000000000..0b78a2dd2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeAnalyticsWorkspaceConnectionUpdate } from "../../../../../../definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdate.js"; + +/** + * Deprecated: use PUT /v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id} with credential_id in body instead. + * @deprecated + */ +export type adobeAnalyticsConnectionUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adobeAnalyticsConnectionUpdate_Path; + headers: adobeAnalyticsConnectionUpdate_Headers; + cookie: never; + body: handlers_AdobeAnalyticsWorkspaceConnectionUpdate; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsConnectionUpdate_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type adobeAnalyticsConnectionUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/attach-projects.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/attach-projects.types.ts new file mode 100644 index 000000000..95b98fb5a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/attach-projects.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceConnectionsAttachItem } from "../../../../../definitions/handlers.WorkspaceConnectionsAttachItem.js"; + +/** + * Attaches multiple connections to multiple projects in a single transaction. + */ +export type workspaceConnectionsMerge = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceConnectionsMerge_Path; + headers: workspaceConnectionsMerge_Headers; + cookie: never; + body: Array; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceConnectionsMerge_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type workspaceConnectionsMerge_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-ads.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-ads.types.ts new file mode 100644 index 000000000..0ad295589 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-ads.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_GoogleAdsWorkspaceConnectionCreate } from "../../../../../definitions/handlers.GoogleAdsWorkspaceConnectionCreate.js"; + +/** + * Creates a new Google Ads connection. + */ +export type adsConnectionCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adsConnectionCreate_Path; + headers: adsConnectionCreate_Headers; + cookie: never; + body: handlers_GoogleAdsWorkspaceConnectionCreate; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adsConnectionCreate_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type adsConnectionCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}.types.ts new file mode 100644 index 000000000..eb527fa32 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_GoogleAdsWorkspaceConnectionCreate } from "../../../../../../definitions/handlers.GoogleAdsWorkspaceConnectionCreate.js"; + +/** + * Updates an existing Google Ads connection. + */ +export type adsConnectionUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adsConnectionUpdate_Path; + headers: adsConnectionUpdate_Headers; + cookie: never; + body: handlers_GoogleAdsWorkspaceConnectionCreate; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adsConnectionUpdate_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type adsConnectionUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-analytics.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-analytics.types.ts new file mode 100644 index 000000000..36de6eeff --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-analytics.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_GoogleAnalyticsWorkspaceConnectionCreate } from "../../../../../definitions/handlers.GoogleAnalyticsWorkspaceConnectionCreate.js"; + +/** + * Creates a new Google Analytics connection. + */ +export type analyticsConnectionCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: analyticsConnectionCreate_Path; + headers: analyticsConnectionCreate_Headers; + cookie: never; + body: handlers_GoogleAnalyticsWorkspaceConnectionCreate; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type analyticsConnectionCreate_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type analyticsConnectionCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}.types.ts new file mode 100644 index 000000000..3c9ee263b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_GoogleAnalyticsWorkspaceConnectionCreate } from "../../../../../../definitions/handlers.GoogleAnalyticsWorkspaceConnectionCreate.js"; + +/** + * Updates an existing Google Analytics connection. + */ +export type analyticsConnectionUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: analyticsConnectionUpdate_Path; + headers: analyticsConnectionUpdate_Headers; + cookie: never; + body: handlers_GoogleAnalyticsWorkspaceConnectionCreate; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type analyticsConnectionUpdate_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type analyticsConnectionUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-console.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-console.types.ts new file mode 100644 index 000000000..5171f6f79 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-console.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_GoogleConsoleWorkspaceConnectionCreate } from "../../../../../definitions/handlers.GoogleConsoleWorkspaceConnectionCreate.js"; + +/** + * Creates a new Google Console connection. + */ +export type consoleConnectionCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: consoleConnectionCreate_Path; + headers: consoleConnectionCreate_Headers; + cookie: never; + body: handlers_GoogleConsoleWorkspaceConnectionCreate; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type consoleConnectionCreate_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type consoleConnectionCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}.types.ts new file mode 100644 index 000000000..8ce9345ba --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_GoogleConsoleWorkspaceConnectionCreate } from "../../../../../../definitions/handlers.GoogleConsoleWorkspaceConnectionCreate.js"; + +/** + * Updates an existing Google Console connection. + */ +export type consoleConnectionUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: consoleConnectionUpdate_Path; + headers: consoleConnectionUpdate_Headers; + cookie: never; + body: handlers_GoogleConsoleWorkspaceConnectionCreate; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type consoleConnectionUpdate_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type consoleConnectionUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis.types.ts new file mode 100644 index 000000000..54c67a379 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_LogFileAnalysisWorkspaceConnectionPayload } from "../../../../../definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload.js"; + +/** + * Creates a new Log File Analysis connection. + */ +export type logFileAnalysisConnectionCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: logFileAnalysisConnectionCreate_Path; + headers: logFileAnalysisConnectionCreate_Headers; + cookie: never; + body: handlers_LogFileAnalysisWorkspaceConnectionPayload; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type logFileAnalysisConnectionCreate_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type logFileAnalysisConnectionCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.ts new file mode 100644 index 000000000..3ab31858b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_LogFileAnalysisWorkspaceConnectionPayload } from "../../../../../../definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload.js"; + +/** + * Updates an existing Log File Analysis connection. + */ +export type logFileAnalysisConnectionUpdate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: logFileAnalysisConnectionUpdate_Path; + headers: logFileAnalysisConnectionUpdate_Headers; + cookie: never; + body: handlers_LogFileAnalysisWorkspaceConnectionPayload; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type logFileAnalysisConnectionUpdate_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type logFileAnalysisConnectionUpdate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/owners.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/owners.types.ts new file mode 100644 index 000000000..1aa6527d2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/owners.types.ts @@ -0,0 +1,75 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceConnectionOwner } from "../../../../../definitions/handlers.WorkspaceConnectionOwner.js"; + +/** + * Retrieves a list of all users who own workspace connections. + */ +export type workspaceConnectionOwners = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: workspaceConnectionOwners_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceConnectionOwners_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}.types.ts new file mode 100644 index 000000000..99f103853 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}.types.ts @@ -0,0 +1,92 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceConnectionDetails } from "../../../../../definitions/handlers.WorkspaceConnectionDetails.js"; + +/** + * Retrieves the details of workspace connection. + */ +export type workspaceConnectionsByid = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceConnectionsByid_Path; + headers: workspaceConnectionsByid_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_WorkspaceConnectionDetails; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceConnectionsByid_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type workspaceConnectionsByid_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.types.ts new file mode 100644 index 000000000..3e0432eaa --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}.types.ts @@ -0,0 +1,172 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; + +/** + * Detaches a specific project from a specific connection. + */ +export type workspaceConnectionDetachProject = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceConnectionDetachProject_Path; + headers: workspaceConnectionDetachProject_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * Attaches a specific project to a specific connection. + */ +export type workspaceConnectionAttachProject = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceConnectionAttachProject_Path; + headers: workspaceConnectionAttachProject_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceConnectionDetachProject_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; + /** + * project id + */ + project_id: string; +}; + +export type workspaceConnectionDetachProject_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type workspaceConnectionAttachProject_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; + /** + * project id + */ + project_id: string; +}; + +export type workspaceConnectionAttachProject_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/projects/{project_id}/connections.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/projects/{project_id}/connections.types.ts new file mode 100644 index 000000000..ecf384c9c --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v1/workspaces/{workspace_id}/projects/{project_id}/connections.types.ts @@ -0,0 +1,92 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_ProjectConnectionResponse } from "../../../../../../definitions/handlers.ProjectConnectionResponse.js"; + +/** + * Retrieves a list of connection IDs attached to a specific project. + */ +export type workspaceProjectConnections = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceProjectConnections_Path; + headers: workspaceProjectConnections_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceProjectConnections_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * project id + */ + project_id: string; +}; + +export type workspaceProjectConnections_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/admin/workspaces/api/create.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/admin/workspaces/api/create.types.ts new file mode 100644 index 000000000..a56a4f35d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/admin/workspaces/api/create.types.ts @@ -0,0 +1,102 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_activationPanelWorkspaceCreateForm } from "../../../../../definitions/handlers.activationPanelWorkspaceCreateForm.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * creates a master workspace along with products and tiers (made for Activation Panel) + */ +export type activationPanelWorkspaceCreateMasterV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: activationPanelWorkspaceCreateMasterV2_Headers; + cookie: never; + body: handlers_activationPanelWorkspaceCreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type activationPanelWorkspaceCreateMasterV2_Headers = { + /** + * Semrush-admin Remote-User (UserId) + */ + "Remote-User": string; + /** + * Admin API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials.types.ts new file mode 100644 index 000000000..87b4fd2da --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials.types.ts @@ -0,0 +1,70 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_AdobeCredentialsCreateRequest } from "../../../definitions/handlers.AdobeCredentialsCreateRequest.js"; +import type { handlers_AdobeCredentialCreatedResponse } from "../../../definitions/handlers.AdobeCredentialCreatedResponse.js"; + +/** + * Creates new Adobe Analytics credentials and returns an internal credential_id. The adobe_proxy_auth_id is never exposed to the client. + */ +export type adobeAnalyticsCreateCredentialsV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: adobeAnalyticsCreateCredentialsV2_Headers; + cookie: never; + body: handlers_AdobeCredentialsCreateRequest; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeCredentialCreatedResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsCreateCredentialsV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/dimensions.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/dimensions.types.ts new file mode 100644 index 000000000..510d6d5fd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/dimensions.types.ts @@ -0,0 +1,96 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_Dimension } from "../../../../definitions/handlers.Dimension.js"; + +/** + * Gets Adobe dimensions by internal credential_id with ownership check. + */ +export type adobeAnalyticsGetDimensionsV2 = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetDimensionsV2_Query; + querystring: never; + path: never; + headers: adobeAnalyticsGetDimensionsV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetDimensionsV2_Query = { + /** + * Internal credential ID + */ + credential_id: number; + /** + * Adobe global company ID + */ + global_company_id: string; + /** + * Report Suite ID + */ + rsid: string; +}; + +export type adobeAnalyticsGetDimensionsV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/metrics-dimensions/validation.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/metrics-dimensions/validation.types.ts new file mode 100644 index 000000000..9d5d34cc5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/metrics-dimensions/validation.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeAnalyticsValidateV2Request } from "../../../../../definitions/handlers.AdobeAnalyticsValidateV2Request.js"; +import type { handlers_AdobeAnalyticsValidateResponse } from "../../../../../definitions/handlers.AdobeAnalyticsValidateResponse.js"; + +/** + * Validates metric and dimension by internal credential_id with ownership check. + */ +export type adobeAnalyticsValidateV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: adobeAnalyticsValidateV2_Headers; + cookie: never; + body: handlers_AdobeAnalyticsValidateV2Request; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeAnalyticsValidateResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 429: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsValidateV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/metrics.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/metrics.types.ts new file mode 100644 index 000000000..a5d925409 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/metrics.types.ts @@ -0,0 +1,96 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_Metric } from "../../../../definitions/handlers.Metric.js"; + +/** + * Gets Adobe metrics by internal credential_id with ownership check. + */ +export type adobeAnalyticsGetMetricsV2 = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetMetricsV2_Query; + querystring: never; + path: never; + headers: adobeAnalyticsGetMetricsV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetMetricsV2_Query = { + /** + * Internal credential ID + */ + credential_id: number; + /** + * Adobe global company ID + */ + global_company_id: string; + /** + * Report Suite ID + */ + rsid: string; +}; + +export type adobeAnalyticsGetMetricsV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/reportsuites.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/reportsuites.types.ts new file mode 100644 index 000000000..5dc8b5db6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/reportsuites.types.ts @@ -0,0 +1,92 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_ReportSuite } from "../../../../definitions/handlers.ReportSuite.js"; + +/** + * Gets Adobe report suites by internal credential_id with ownership check. + */ +export type adobeAnalyticsGetReportSuitesV2 = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetReportSuitesV2_Query; + querystring: never; + path: never; + headers: adobeAnalyticsGetReportSuitesV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetReportSuitesV2_Query = { + /** + * Internal credential ID + */ + credential_id: number; + /** + * Adobe global company ID + */ + global_company_id: string; +}; + +export type adobeAnalyticsGetReportSuitesV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/reportsuites/paginated.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/reportsuites/paginated.types.ts new file mode 100644 index 000000000..7eb5e1661 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/reportsuites/paginated.types.ts @@ -0,0 +1,102 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeReportSuitesResponse } from "../../../../../definitions/handlers.AdobeReportSuitesResponse.js"; + +/** + * Gets Adobe report suites by internal credential_id with ownership check and pagination. + */ +export type adobeAnalyticsGetReportSuitesPaginatedV2 = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetReportSuitesPaginatedV2_Query; + querystring: never; + path: never; + headers: adobeAnalyticsGetReportSuitesPaginatedV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeReportSuitesResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetReportSuitesPaginatedV2_Query = { + /** + * Internal credential ID + */ + credential_id: number; + /** + * Adobe global company ID + */ + global_company_id: string; + /** + * Number of items per page + * @default 10 + */ + size?: number; + /** + * Page number (1-indexed) + * @default 1 + */ + page?: number; +}; + +export type adobeAnalyticsGetReportSuitesPaginatedV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/status.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/status.types.ts new file mode 100644 index 000000000..976dd9ac6 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/adobe-analytics/credentials/status.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeCredentialStatusInfo } from "../../../../definitions/handlers.AdobeCredentialStatusInfo.js"; + +/** + * Gets Adobe credentials status by internal credential_id with ownership check. + */ +export type adobeAnalyticsGetStatusV2 = ( + $: OmitValueWhenNever<{ + query: adobeAnalyticsGetStatusV2_Query; + querystring: never; + path: never; + headers: adobeAnalyticsGetStatusV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_AdobeCredentialStatusInfo; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsGetStatusV2_Query = { + /** + * Internal credential ID + */ + credential_id: number; +}; + +export type adobeAnalyticsGetStatusV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/products/{product_id}/workspaces.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/products/{product_id}/workspaces.types.ts new file mode 100644 index 000000000..e993198f8 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/products/{product_id}/workspaces.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceIDsResponse } from "../../../../../definitions/handlers.workspaceIDsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * internal API to get workspace IDs that have the specified product. + */ +export type internalProductWorkspacesGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalProductWorkspacesGet_Path; + headers: internalProductWorkspacesGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceIDsResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProductWorkspacesGet_Path = { + /** + * product id (ai, si, ci, seo) + */ + product_id: string; +}; + +export type internalProductWorkspacesGet_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/transactions.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/transactions.types.ts new file mode 100644 index 000000000..25331c89d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/transactions.types.ts @@ -0,0 +1,119 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_TransactionsCreateFormV2 } from "../../../definitions/handlers.TransactionsCreateFormV2.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Transaction } from "../../../definitions/page-engine-backend_internal_usermanager_core_domain.Transaction.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * Creates a transaction for service credits and other transacting product limits such as pages of + * SI product. In order to create service credits transactions set `global_limit_key` to `service_units`, + * and leave `product_limit` empty. + * In oder to create pages and other limits' transaction set `product_limit` and leave `global_limit_key` empty + * otherwise it will not accept the inputs. + * `owner_id` is required when `global_limit_key` is set to `service_units`. + * `receipt_id` is also not required when `product_limit` is set. + */ +export type transactionCreateV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: never; + headers: transactionCreateV2_Headers; + cookie: never; + body: handlers_TransactionsCreateFormV2; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_Transaction; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type transactionCreateV2_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/transactions/{transaction_id}/refund.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/transactions/{transaction_id}/refund.types.ts new file mode 100644 index 000000000..f63eec521 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/transactions/{transaction_id}/refund.types.ts @@ -0,0 +1,120 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_TransactionsRefundForm } from "../../../../../definitions/handlers.TransactionsRefundForm.js"; +import type { page_engine_backend_internal_usermanager_core_domain_Transaction } from "../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.Transaction.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Cancel a transaction and refund the amount + */ +export type transactionRefundV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: transactionRefundV2_Path; + headers: transactionRefundV2_Headers; + cookie: never; + body: handlers_TransactionsRefundForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_Transaction; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type transactionRefundV2_Path = { + /** + * transaction id + */ + transaction_id: string; +}; + +export type transactionRefundV2_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/all.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/all.types.ts new file mode 100644 index 000000000..4f8f3d429 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/all.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * Gets a list of all workspaces based on product filter. + */ +export type internalWorkspacesAllListV2 = ( + $: OmitValueWhenNever<{ + query: internalWorkspacesAllListV2_Query; + querystring: never; + path: never; + headers: internalWorkspacesAllListV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesAllListV2_Query = { + /** + * Comma-separated list of product identifiers (e.g., ci,si) + */ + products?: string; +}; + +export type internalWorkspacesAllListV2_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/projects/all.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/projects/all.types.ts new file mode 100644 index 000000000..e98aad1eb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/projects/all.types.ts @@ -0,0 +1,104 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_InternalProjectV2List } from "../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This endpoint retrieves a list of all published projects across all workspaces. + * It supports filtering and pagination to refine the results. + */ +export type internalProjectsAllV2List = ( + $: OmitValueWhenNever<{ + query: internalProjectsAllV2List_Query; + querystring: never; + path: never; + headers: internalProjectsAllV2List_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_InternalProjectV2List; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectsAllV2List_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type internalProjectsAllV2List_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/ancestors.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/ancestors.types.ts new file mode 100644 index 000000000..76a625ff4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/ancestors.types.ts @@ -0,0 +1,90 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * an internal API to get ancestor(parents/grandparents) of a workspace. + * Ancestors list does not include current workspace. + */ +export type internalWorkspacesAncestorV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspacesAncestorV2_Path; + headers: internalWorkspacesAncestorV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesAncestorV2_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspacesAncestorV2_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/family.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/family.types.ts new file mode 100644 index 000000000..29df1b408 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/family.types.ts @@ -0,0 +1,89 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_workspaceResponse } from "../../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * an admin API to get a list of all children, grand children workspaces of a given workspace + */ +export type internalWorkspacesFamilyV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspacesFamilyV2_Path; + headers: internalWorkspacesFamilyV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspacesFamilyV2_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalWorkspacesFamilyV2_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/limits.types.ts new file mode 100644 index 000000000..d7b8c6663 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/limits.types.ts @@ -0,0 +1,104 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This endpoint retrieves the limits of entities associated with a specific workspace and product. + * It fetches the limits based on the product configuration and returns a map of entity limits + * defined for the specified workspace and product. + */ +export type internalWorkspaceProductLimits = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceProductLimits_Path; + headers: internalWorkspaceProductLimits_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceProductLimits_Path = { + /** + * Unique identifier for the workspace + */ + id: string; + /** + * Unique identifier for the product [enum: seo, aio] + */ + product_id: string; +}; + +export type internalWorkspaceProductLimits_Headers = { + /** + * API Key required for authentication + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects.types.ts new file mode 100644 index 000000000..9defbaa71 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects.types.ts @@ -0,0 +1,112 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_ProductProjectMetadata } from "../../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Retrieves a list of projects associated with a product and workspace the user has access to. + * Requires the `user_id` query parameter to determine the user identity. + * If the user is not a valid enterprise user, the project list will be empty. + */ +export type internalProductProjectsFind = ( + $: OmitValueWhenNever<{ + query: internalProductProjectsFind_Query; + querystring: never; + path: internalProductProjectsFind_Path; + headers: internalProductProjectsFind_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: Array; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProductProjectsFind_Query = { + /** + * Unique identifier for the user + */ + user_id: number; +}; + +export type internalProductProjectsFind_Path = { + /** + * Unique identifier for the workspace + */ + id: string; + /** + * Unique identifier for the product [possible values: seo, aio] + */ + product_id: string; +}; + +export type internalProductProjectsFind_Headers = { + /** + * API key for authentication + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits.types.ts new file mode 100644 index 000000000..7457af3d1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits.types.ts @@ -0,0 +1,108 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This endpoint retrieves limits of specific entities in a workspace and product with respect to a project. + * It considers project-level constraints, with the draft count for all entities adjusted to align with the project. + * This enables assessment of how many entities can be added to the project. + */ +export type internalWorkspaceProductLimitsByProject = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: internalWorkspaceProductLimitsByProject_Path; + headers: internalWorkspaceProductLimitsByProject_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalWorkspaceProductLimitsByProject_Path = { + /** + * Unique identifier for the workspace + */ + id: string; + /** + * Unique identifier for the product [enums: seo, aio] + */ + product_id: string; + /** + * Unique identifier for the project + */ + project_id: string; +}; + +export type internalWorkspaceProductLimitsByProject_Headers = { + /** + * API Key required for authentication + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/projects.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/projects.types.ts new file mode 100644 index 000000000..e2bcc464f --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/projects.types.ts @@ -0,0 +1,125 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_InternalProjectV2List } from "../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This endpoint retrieves a list of projects available in a specific workspace. + * It allows filtering of projects based on user access roles or permissions. + * Only those projects are returned where the user has access. + * User roles and permissions are determined by the following rules: + * - Workspace Owners, Admins, and Editors have editor-level access to all projects in the workspace. + * - Workspace Viewers are granted view-level access to all projects in the workspace. + * - Specific roles, such as collaborators or content writers, control project-level access. + * Use query parameters to refine the results, including user ID and pagination options. + */ +export type internalProjectsListV2 = ( + $: OmitValueWhenNever<{ + query: internalProjectsListV2_Query; + querystring: never; + path: internalProjectsListV2_Path; + headers: internalProjectsListV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_InternalProjectV2List; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectsListV2_Query = { + /** + * user id + */ + user_id?: number; + /** + * search by project name + */ + search?: string; + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; +}; + +export type internalProjectsListV2_Path = { + /** + * workspace id + */ + id: string; +}; + +export type internalProjectsListV2_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/projects/{project_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/projects/{project_id}.types.ts new file mode 100644 index 000000000..d8e29e1f1 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/internal/workspaces/{id}/projects/{project_id}.types.ts @@ -0,0 +1,115 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_InternalProjectV2 } from "../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * This endpoint retrieves a project by its ID within the workspace, provided the user has access. + * If the user ID is included in the query parameters, the following rules are applied to evaluate access: + * - Workspace Owners, Admins, and Editors have editor-level access to all projects in the workspace. + * - Workspace Viewers are granted view-level access to all projects in the workspace. + * - Specific access roles for collaborators or content writers apply at the project level. + * If the user does not have an applicable role in the project or workspace, the project will return as not found. + */ +export type internalProjectByIdV2 = ( + $: OmitValueWhenNever<{ + query: internalProjectByIdV2_Query; + querystring: never; + path: internalProjectByIdV2_Path; + headers: internalProjectByIdV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_InternalProjectV2; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type internalProjectByIdV2_Query = { + /** + * user id + */ + user_id?: number; +}; + +export type internalProjectByIdV2_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type internalProjectByIdV2_Headers = { + /** + * API key + */ + "API-Key": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}.types.ts new file mode 100644 index 000000000..9ef18820a --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}.types.ts @@ -0,0 +1,99 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_workspaceV2Response } from "../../../definitions/handlers.workspaceV2Response.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * gets workspace details matching with id including settings and resource limits + */ +export type workspaceDetailsV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceDetailsV2_Path; + headers: workspaceDetailsV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceV2Response; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceDetailsV2_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceDetailsV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/child.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/child.types.ts new file mode 100644 index 000000000..e8a198de4 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/child.types.ts @@ -0,0 +1,92 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_createWorkspaceV2Form } from "../../../../definitions/handlers.createWorkspaceV2Form.js"; +import type { handlers_workspaceResponse } from "../../../../definitions/handlers.workspaceResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +/** + * Creates a child workspace. If field owner is provided, + * then the existing user will be the owner of the child workspace, + * otherwise the virtual owner of this workspace will be created. + */ +export type workspaceChildCreateV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceChildCreateV2_Path; + headers: workspaceChildCreateV2_Headers; + cookie: never; + body: handlers_createWorkspaceV2Form; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceChildCreateV2_Path = { + /** + * parent workspace id + */ + id: string; +}; + +export type workspaceChildCreateV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects.types.ts new file mode 100644 index 000000000..940c525cf --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects.types.ts @@ -0,0 +1,134 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../counterfact-types/index.ts"; +import type { handlers_projectV2CreateForm } from "../../../../definitions/handlers.projectV2CreateForm.js"; +import type { handlers_projectUpsertResponse } from "../../../../definitions/handlers.projectUpsertResponse.js"; +import type { http_server_BasicResponse } from "../../../../definitions/http_server.BasicResponse.js"; + +export type projectsListV2 = { + /* error creating export "projectsListV2" for types/paths/v2/workspaces/{id}/projects.types.ts: TypeError: Cannot read properties of undefined (reading 'data') + at SchemaTypeCoder.writeCode (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/schema-type-coder.js:106:14) + at SchemaTypeCoder.write (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/type-coder.js:7:21) + at SchemaTypeCoder.arraySchema (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/schema-type-coder.js:42:90) + at SchemaTypeCoder.writeType (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/schema-type-coder.js:66:25) + at SchemaTypeCoder.writeCode (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/schema-type-coder.js:119:21) + at SchemaTypeCoder.write (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/type-coder.js:7:21) + at file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/parameters-type-coder.js:29:74 + at Array.map () + at ParametersTypeCoder.writeCode (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/parameters-type-coder.js:20:14) + at ParametersTypeCoder.write (file:///Users/ntoccane/Desktop/mysticat-workspace/spacecat-shared/node_modules/counterfact/dist/typescript-generator/type-coder.js:7:21) */ +}; + +/** + * creates a drafted project in a workspace with name and optional domain + */ +export type projectCreateV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectCreateV2_Path; + headers: projectCreateV2_Headers; + cookie: never; + body: handlers_projectV2CreateForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectUpsertResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectCreateV2_Path = { + /** + * workspace id + */ + id: string; +}; + +export type projectCreateV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits.types.ts new file mode 100644 index 000000000..4a8b752fe --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits.types.ts @@ -0,0 +1,97 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../counterfact-types/index.ts"; +import type { handlers_GetLimitsResponse } from "../../../../../../../definitions/handlers.GetLimitsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets resource limits by project + */ +export type projectLimitsGetV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectLimitsGetV2_Path; + headers: projectLimitsGetV2_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_GetLimitsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectLimitsGetV2_Path = { + /** + * workspace id + */ + id: string; + /** + * product id + */ + product_id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectLimitsGetV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}.types.ts new file mode 100644 index 000000000..9b7e36ba2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}.types.ts @@ -0,0 +1,124 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_projectV2UpdateForm } from "../../../../../definitions/handlers.projectV2UpdateForm.js"; +import type { handlers_projectUpsertResponse } from "../../../../../definitions/handlers.projectUpsertResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * updates color and title for draft/live projects, updates domain only for draft + */ +export type projectUpdateV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUpdateV2_Path; + headers: projectUpdateV2_Headers; + cookie: never; + body: handlers_projectV2UpdateForm; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_projectUpsertResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 409: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectUpdateV2_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectUpdateV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts new file mode 100644 index 000000000..f8cebb062 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts @@ -0,0 +1,108 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_KeywordsWithTagsRequestAndTagID } from "../../../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID.js"; +import type { page_engine_backend_internal_usermanager_core_domain_KeywordsWithMetricsResponse } from "../../../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets list of keywords that belong to a target with traffic, volume, position metrics and tags. + */ +export type projectGetKeywordsV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectGetKeywordsV2_Path; + headers: projectGetKeywordsV2_Headers; + cookie: never; + body: page_engine_backend_internal_usermanager_core_domain_KeywordsWithTagsRequestAndTagID; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_KeywordsWithMetricsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectGetKeywordsV2_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectGetKeywordsV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.types.ts new file mode 100644 index 000000000..e0c17174d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags.types.ts @@ -0,0 +1,215 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_BatchReferenceRequest } from "../../../../../../../../../definitions/handlers.BatchReferenceRequest.js"; +import type { http_server_BasicResponse } from "../../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * deletes tags from keywords in workspace, project and target with given IDs. This endpoint allows batch operations for removing tag associations from multiple keywords. + */ +export type projectDeleteKeywordTagsBatchV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectDeleteKeywordTagsBatchV2_Path; + headers: projectDeleteKeywordTagsBatchV2_Headers; + cookie: never; + body: handlers_BatchReferenceRequest; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * updates tags in keywords in workspace, project and target with given IDs. This endpoint allows + * batch operations for updating tag associations with multiple keywords. + */ +export type projectUpdateKeywordTagsBatchV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectUpdateKeywordTagsBatchV2_Path; + headers: projectUpdateKeywordTagsBatchV2_Headers; + cookie: never; + body: handlers_BatchReferenceRequest; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDeleteKeywordTagsBatchV2_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectDeleteKeywordTagsBatchV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectUpdateKeywordTagsBatchV2_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectUpdateKeywordTagsBatchV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.ts new file mode 100644 index 000000000..ea8f872c9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags.types.ts @@ -0,0 +1,236 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { handlers_BatchDeleteReferenceRequest } from "../../../../../../../../definitions/handlers.BatchDeleteReferenceRequest.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; +import type { handlers_tagsListWithSearchResponse } from "../../../../../../../../definitions/handlers.tagsListWithSearchResponse.js"; + +/** + * deletes tags from target in workspace, project with given IDs. This endpoint allows batch operations for removing tag. + */ +export type projectDeleteTagsBatchV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectDeleteTagsBatchV2_Path; + headers: projectDeleteTagsBatchV2_Headers; + cookie: never; + body: handlers_BatchDeleteReferenceRequest; + context: Context; + response: ResponseBuilderFactory<{ + 204: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +/** + * API to return list of all tags that belong to a target + * parent_id param can be used to get tags with specific parent + * query param can be used to filter tags by name + * live flag can be used get live/draft target's tags + * use limit, page for paginated result + */ +export type projectGetTagsWithSearch = ( + $: OmitValueWhenNever<{ + query: projectGetTagsWithSearch_Query; + querystring: never; + path: projectGetTagsWithSearch_Path; + headers: projectGetTagsWithSearch_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_tagsListWithSearchResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectDeleteTagsBatchV2_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectDeleteTagsBatchV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; + +export type projectGetTagsWithSearch_Query = { + /** + * page number + */ + page?: number; + /** + * page size + */ + limit?: number; + /** + * parent id + */ + parent_id?: string; + /** + * search query + */ + query?: string; + /** + * live + */ + live?: boolean; +}; + +export type projectGetTagsWithSearch_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectGetTagsWithSearch_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/resources/transfer.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/resources/transfer.types.ts new file mode 100644 index 000000000..d5c2167d0 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{id}/resources/transfer.types.ts @@ -0,0 +1,90 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_WorkspaceResourcesTransferV2Form } from "../../../../../definitions/handlers.WorkspaceResourcesTransferV2Form.js"; +import type { page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesV2 } from "../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * version 2 transfer resources between a child workspace and its parent. + */ +export type workspaceTransferResourcesV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceTransferResourcesV2_Path; + headers: workspaceTransferResourcesV2_Headers; + cookie: never; + body: handlers_WorkspaceResourcesTransferV2Form; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_WorkspaceResourcesV2; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceTransferResourcesV2_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceTransferResourcesV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics.types.ts new file mode 100644 index 000000000..adb04c777 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics.types.ts @@ -0,0 +1,84 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeAnalyticsWorkspaceConnectionCreateV2 } from "../../../../../definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreateV2.js"; + +/** + * Creates a new Adobe Analytics connection. Uses credential_id in body; ownership is checked by backend. + */ +export type adobeAnalyticsConnectionCreateV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adobeAnalyticsConnectionCreateV2_Path; + headers: adobeAnalyticsConnectionCreateV2_Headers; + cookie: never; + body: handlers_AdobeAnalyticsWorkspaceConnectionCreateV2; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsConnectionCreateV2_Path = { + /** + * workspace id + */ + workspace_id: string; +}; + +export type adobeAnalyticsConnectionCreateV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.ts new file mode 100644 index 000000000..24c11c1d9 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}.types.ts @@ -0,0 +1,88 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_AdobeAnalyticsWorkspaceConnectionUpdateV2 } from "../../../../../../definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2.js"; + +/** + * Updates an existing Adobe Analytics connection. Uses credential_id in body; ownership is checked by backend. + */ +export type adobeAnalyticsConnectionUpdateV2 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: adobeAnalyticsConnectionUpdateV2_Path; + headers: adobeAnalyticsConnectionUpdateV2_Headers; + cookie: never; + body: handlers_AdobeAnalyticsWorkspaceConnectionUpdateV2; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: never; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type adobeAnalyticsConnectionUpdateV2_Path = { + /** + * workspace id + */ + workspace_id: string; + /** + * connection id + */ + connection_id: string; +}; + +export type adobeAnalyticsConnectionUpdateV2_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts new file mode 100644 index 000000000..7446304fb --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords.types.ts @@ -0,0 +1,109 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../../../counterfact-types/index.ts"; +import type { page_engine_backend_internal_usermanager_core_domain_KeywordsWithTagsRequestAndTagIDs } from "../../../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs.js"; +import type { page_engine_backend_internal_usermanager_core_domain_KeywordsWithMetricsResponse } from "../../../../../../../../definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse.js"; +import type { http_server_BasicResponse } from "../../../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * gets list of keywords that belong to a target with traffic, volume, position metrics and tags, + * filter by multiple tags + */ +export type projectGetKeywordsV3 = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectGetKeywordsV3_Path; + headers: projectGetKeywordsV3_Headers; + cookie: never; + body: page_engine_backend_internal_usermanager_core_domain_KeywordsWithTagsRequestAndTagIDs; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: page_engine_backend_internal_usermanager_core_domain_KeywordsWithMetricsResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectGetKeywordsV3_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; + /** + * target id + */ + target_id: string; +}; + +export type projectGetKeywordsV3_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/api-key.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/api-key.types.ts new file mode 100644 index 000000000..a73566069 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/api-key.types.ts @@ -0,0 +1,121 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../counterfact-types/index.ts"; +import type { handlers_workspaceUserAPIKey } from "../../../definitions/handlers.workspaceUserAPIKey.js"; +import type { http_server_BasicResponse } from "../../../definitions/http_server.BasicResponse.js"; + +/** + * This API gets workspace's owner API key, this API can be used by admin/owner of workspace + * other users can't get admin's API + * 400 is returned if user email is not passed in query + */ +export type workspaceOwnerApiKeyGet = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: workspaceOwnerApiKeyGet_Path; + headers: workspaceOwnerApiKeyGet_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_workspaceUserAPIKey; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 404: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 422: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type workspaceOwnerApiKeyGet_Path = { + /** + * workspace id + */ + id: string; +}; + +export type workspaceOwnerApiKeyGet_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments.types.ts new file mode 100644 index 000000000..04807ab01 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments.types.ts @@ -0,0 +1,104 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../counterfact-types/index.ts"; +import type { handlers_SegmentUpsertForm } from "../../../../../definitions/handlers.SegmentUpsertForm.js"; +import type { handlers_SegmentResponse } from "../../../../../definitions/handlers.SegmentResponse.js"; +import type { http_server_BasicResponse } from "../../../../../definitions/http_server.BasicResponse.js"; + +/** + * creates a new segment in a specified project + * **conditions :** + * `column_name` is one of *url, url_list, keyword, keyword_list, traffic, position, search_volume, + * keyword_intent, country, device, clicks, impressions, ctr, gsc_position* + * `operator` is one of *equal, not_equal, begin, not_begin, end, not_end, contain, + * not_contain, greater, less, greater_equal, less_equal, between, one_of, in_list* + * *url_list* only can be used with *in_list* operator. Only zero or one url_list is allowed in the whole conditions array. + * *keyword_list* only can be used with *in_list* operator. + * **filters :** + * `column_name` is one of *url, url_list, keyword, keyword_list, traffic, position, search_volume, + * keyword_intent, country, device, clicks, impressions, ctr, gsc_position*. + * `operator` is one of *and, or, equal, not_equal, begin, not_begin, end, not_end, contain, + * not_contain, greater, less, greater_equal, less_equal, in_list*. + * `value` is string type. It becomes array of string in case of *in_list* operator as an exceptional case. + * *Notes*: + * * *url_list* only can be used with *in_list* operator. Only zero or one url_list is allowed in the whole filters array. + * * *keyword_list* only can be used with *in_list* operator. + * * *filters* logical operators *and, or* don't have *column_name, value* and must have nested *filters*. + * * *filters* logical operators *and, or* can have maximum depth up to 5 levels from the root. + * * *filters* non-logical operators must have *column_name, value* and must not have nested *filters*. + * * *filters* non-logical operators can have maximum 20 leaves in a single filter object. + */ +export type projectSegmentCreate = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: projectSegmentCreate_Path; + headers: projectSegmentCreate_Headers; + cookie: never; + body: handlers_SegmentUpsertForm; + context: Context; + response: ResponseBuilderFactory<{ + 201: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: handlers_SegmentResponse; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type projectSegmentCreate_Path = { + /** + * workspace id + */ + id: string; + /** + * project id + */ + project_id: string; +}; + +export type projectSegmentCreate_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/copy-all-from.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/copy-all-from.types.ts new file mode 100644 index 000000000..a957ba995 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/copy-all-from.types.ts @@ -0,0 +1,96 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_CopyAllSegmentsRequest } from "../../../../../../definitions/handlers.CopyAllSegmentsRequest.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Copy all segments from a source project to the current project within the same workspace + */ +export type HTTP_POST = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: HTTP_POST_Path; + headers: never; + cookie: never; + body: handlers_CopyAllSegmentsRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type HTTP_POST_Path = { + /** + * Workspace ID + */ + id: string; + /** + * Target Project ID + */ + project_id: string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/copy.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/copy.types.ts new file mode 100644 index 000000000..2d60fd638 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/copy.types.ts @@ -0,0 +1,103 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { handlers_CopySegmentsRequest } from "../../../../../../definitions/handlers.CopySegmentsRequest.js"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Copy specified segments from current project to other projects within the same workspace + */ +export type segmentsCopyToProjects = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: segmentsCopyToProjects_Path; + headers: segmentsCopyToProjects_Headers; + cookie: never; + body: handlers_CopySegmentsRequest; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type segmentsCopyToProjects_Path = { + /** + * Workspace ID + */ + id: string; + /** + * Source Project ID + */ + project_id: string; +}; + +export type segmentsCopyToProjects_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/export.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/export.types.ts new file mode 100644 index 000000000..4b92d1e81 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/export.types.ts @@ -0,0 +1,125 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Export segments to a CSV or XLSX file containing segment names and logical expressions + */ +export type segmentsExport = ( + $: OmitValueWhenNever<{ + query: segmentsExport_Query; + querystring: never; + path: segmentsExport_Path; + headers: segmentsExport_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: Uint8Array | string; + }; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + schema: Uint8Array | string; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "text/csv": { + schema: http_server_BasicResponse; + }; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type segmentsExport_Query = { + /** + * Export format: csv or xlsx + * @default "csv" + */ + format?: string; +}; + +export type segmentsExport_Path = { + /** + * Workspace ID + */ + id: string; + /** + * Project ID + */ + project_id: string; +}; + +export type segmentsExport_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/import.types.ts b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/import.types.ts new file mode 100644 index 000000000..e1ab4223b --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.counterfact/types/paths/workspaces/{id}/projects/{project_id}/segments/import.types.ts @@ -0,0 +1,102 @@ +// This code was automatically generated from an OpenAPI description. +// Do not edit this file. Edit the OpenAPI file instead. +// For more information, see https://github.com/pmcelhaney/counterfact/blob/main/docs/faq.md + +import type { WideOperationArgument } from "../../../../../../../counterfact-types/index.ts"; +import type { OmitValueWhenNever } from "../../../../../../../counterfact-types/index.ts"; +import type { MaybePromise } from "../../../../../../../counterfact-types/index.ts"; +import type { COUNTERFACT_RESPONSE } from "../../../../../../../counterfact-types/index.ts"; +import type { Context } from "../../../../../../../routes/_.context.ts"; +import type { ResponseBuilderFactory } from "../../../../../../../counterfact-types/index.ts"; +import type { http_server_BasicResponse } from "../../../../../../definitions/http_server.BasicResponse.js"; + +/** + * Import segments from a CSV or XLSX file containing segment names and logical expressions. Format is automatically detected. + */ +export type segmentsImport = ( + $: OmitValueWhenNever<{ + query: never; + querystring: never; + path: segmentsImport_Path; + headers: segmentsImport_Headers; + cookie: never; + body: never; + context: Context; + response: ResponseBuilderFactory<{ + 200: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: { [key: string]: unknown }; + }; + }; + examples: {}; + }; + 400: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 401: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 403: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + 500: { + headers: never; + requiredHeaders: never; + content: { + "application/json": { + schema: http_server_BasicResponse; + }; + }; + examples: {}; + }; + }>; + x: WideOperationArgument; + proxy: (url: string) => COUNTERFACT_RESPONSE; + auth: never; + user: never; + delay: (milliseconds: number, maxMilliseconds?: number) => Promise; + version: never; + }>, +) => MaybePromise; + +export type segmentsImport_Path = { + /** + * Workspace ID + */ + id: string; + /** + * Project ID + */ + project_id: string; +}; + +export type segmentsImport_Headers = { + /** + * JWT Token + */ + "Auth-Data-Jwt": string; +}; diff --git a/packages/spacecat-shared-user-manager-client/.gitattributes b/packages/spacecat-shared-user-manager-client/.gitattributes new file mode 100644 index 000000000..c1d52ee29 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.gitattributes @@ -0,0 +1,3 @@ +src/generated/** linguist-generated=true +python/serenity_user_manager/** linguist-generated=true +.counterfact/** linguist-generated=true diff --git a/packages/spacecat-shared-user-manager-client/.gitignore b/packages/spacecat-shared-user-manager-client/.gitignore new file mode 100644 index 000000000..38c0db5dc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.gitignore @@ -0,0 +1,8 @@ +# Intermediate conversion artifact — regenerated by `npm run spec:convert`, never committed. +build/ + +# Counterfact scratch dir (mock handlers materialized at runtime). +.counterfact/.cache/ +# The generated Python package is committed (model.py, __init__.py, plus any +# per-prefix modules); only the bytecode caches are ignored. +python/**/__pycache__/ diff --git a/packages/spacecat-shared-user-manager-client/.jsdoc.json b/packages/spacecat-shared-user-manager-client/.jsdoc.json new file mode 100644 index 000000000..5e15c5493 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.jsdoc.json @@ -0,0 +1,17 @@ +{ + "plugins": [], + "recurseDepth": 10, + "source": { + "includePattern": ".+\\.js(doc|x)?$", + "excludePattern": "(^|\\/|\\\\)_" + }, + "sourceType": "module", + "tags": { + "allowUnknownTags": true, + "dictionaries": ["jsdoc","closure"] + }, + "templates": { + "cleverLinks": false, + "monospaceLinks": false + } +} diff --git a/packages/spacecat-shared-user-manager-client/.mocha-multi.json b/packages/spacecat-shared-user-manager-client/.mocha-multi.json new file mode 100644 index 000000000..aa2be2a23 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.mocha-multi.json @@ -0,0 +1,6 @@ +{ + "reporterEnabled": "spec,xunit", + "xunitReporterOptions": { + "output": "junit/test-results.xml" + } +} diff --git a/packages/spacecat-shared-user-manager-client/.npmignore b/packages/spacecat-shared-user-manager-client/.npmignore new file mode 100644 index 000000000..f14c4b0a5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.npmignore @@ -0,0 +1,12 @@ +coverage/ +node_modules/ +junit/ +test/ +docs/ +logs/ +build/ +python/ +.counterfact/ +test-results.xml +renovate.json +.* diff --git a/packages/spacecat-shared-user-manager-client/.npmrc b/packages/spacecat-shared-user-manager-client/.npmrc new file mode 100644 index 000000000..b6f27f135 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/packages/spacecat-shared-user-manager-client/.nycrc.json b/packages/spacecat-shared-user-manager-client/.nycrc.json new file mode 100644 index 000000000..e4e991582 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.nycrc.json @@ -0,0 +1,17 @@ +{ + "reporter": [ + "lcov", + "text" + ], + "check-coverage": true, + "lines": 100, + "branches": 100, + "statements": 100, + "all": true, + "include": [ + "src/**/*.js" + ], + "exclude": [ + "src/generated/**" + ] +} diff --git a/packages/spacecat-shared-user-manager-client/.releaserc.cjs b/packages/spacecat-shared-user-manager-client/.releaserc.cjs new file mode 100644 index 000000000..90e3ee49d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/.releaserc.cjs @@ -0,0 +1,21 @@ +module.exports = { + extends: "semantic-release-monorepo", + plugins: [ + ["@semantic-release/commit-analyzer", { + "preset": "conventionalcommits", + }], + ["@semantic-release/release-notes-generator", { + "preset": "conventionalcommits", + }], + ["@semantic-release/changelog", { + "changelogFile": "CHANGELOG.md", + }], + ...(process.env.SR_NO_NPM_AUTH === 'true' ? [] : ["@semantic-release/npm"]), + ["@semantic-release/git", { + "assets": ["package.json", "CHANGELOG.md"], + "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + }], + ["@semantic-release/github", {}], + ], + branches: ['main'], +}; diff --git a/packages/spacecat-shared-user-manager-client/CODE_OF_CONDUCT.md b/packages/spacecat-shared-user-manager-client/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..5405eda07 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Adobe Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at Grp-opensourceoffice@adobe.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/packages/spacecat-shared-user-manager-client/CONTRIBUTING.md b/packages/spacecat-shared-user-manager-client/CONTRIBUTING.md new file mode 100644 index 000000000..4875f33b7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/CONTRIBUTING.md @@ -0,0 +1,74 @@ +# Contributing to Spacecat Shared + +This project (like almost all of Project Franklin) is an Open Development project and welcomes contributions from everyone who finds it useful or lacking. + +## Code Of Conduct + +This project adheres to the Adobe [code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to cstaub at adobe dot com. + +## Contributor License Agreement + +All third-party contributions to this project must be accompanied by a signed contributor license. This gives Adobe permission to redistribute your contributions as part of the project. [Sign our CLA](http://opensource.adobe.com/cla.html)! You only need to submit an Adobe CLA one time, so if you have submitted one previously, you are good to go! + +## Things to Keep in Mind + +This project uses a **commit then review** process, which means that for approved maintainers, changes can be merged immediately, but will be reviewed by others. + +For other contributors, a maintainer of the project has to approve the pull request. + +# Before You Contribute + +* Check that there is an existing issue in GitHub issues +* Check if there are other pull requests that might overlap or conflict with your intended contribution + +# How to Contribute + +1. Fork the repository +2. Make some changes on a branch on your fork +3. Create a pull request from your branch + +In your pull request, outline: + +* What the changes intend +* How they change the existing code +* If (and what) they breaks +* Start the pull request with the GitHub issue ID, e.g. #123 + +Lastly, please follow the [pull request template](.github/pull_request_template.md) when submitting a pull request! + +Each commit message that is not part of a pull request: + +* Should contain the issue ID like `#123` +* Can contain the tag `[trivial]` for trivial changes that don't relate to an issue + + + +## Coding Styleguides + +We enforce a coding styleguide using `eslint`. As part of your build, run `npm run lint` to check if your code is conforming to the style guide. We do the same for every PR in our CI, so PRs will get rejected if they don't follow the style guide. + +You can fix some of the issues automatically by running `npx eslint . --fix`. + +## Commit Message Format + +This project uses a structured commit changelog format that should be used for every commit. Use `npm run commit` instead of your usual `git commit` to generate commit messages using a wizard. + +```bash +# either add all changed files +$ git add -A +# or selectively add files +$ git add package.json +# then commit using the wizard +$ npm run commit +``` + +# How Contributions get Reviewed + +One of the maintainers will look at the pull request within one week. Feedback on the pull request will be given in writing, in GitHub. + +# Release Management + +The project's committers will release to the [Adobe organization on npmjs.org](https://www.npmjs.com/org/adobe). +Please contact the [Adobe Open Source Advisory Board](https://git.corp.adobe.com/OpenSourceAdvisoryBoard/discuss/issues) to get access to the npmjs organization. + +The release process is fully automated using `semantic-release`, increasing the version numbers, etc. based on the contents of the commit messages found. diff --git a/packages/spacecat-shared-user-manager-client/LICENSE.txt b/packages/spacecat-shared-user-manager-client/LICENSE.txt new file mode 100644 index 000000000..a09c4c0fc --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/LICENSE.txt @@ -0,0 +1,263 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions + of this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing + the origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +APACHE JACKRABBIT SUBCOMPONENTS + +Apache Jackrabbit includes parts with separate copyright notices and license +terms. Your use of these subcomponents is subject to the terms and conditions +of the following licenses: + + XPath 2.0/XQuery 1.0 Parser: + http://www.w3.org/2002/11/xquery-xpath-applets/xgrammar.zip + + Copyright (C) 2002 World Wide Web Consortium, (Massachusetts Institute of + Technology, European Research Consortium for Informatics and Mathematics, + Keio University). All Rights Reserved. + + This work is distributed under the W3C(R) Software License in the hope + that it will be useful, but WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + W3C(R) SOFTWARE NOTICE AND LICENSE + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + + This work (and included software, documentation such as READMEs, or + other related items) is being provided by the copyright holders under + the following license. By obtaining, using and/or copying this work, + you (the licensee) agree that you have read, understood, and will comply + with the following terms and conditions. + + Permission to copy, modify, and distribute this software and its + documentation, with or without modification, for any purpose and + without fee or royalty is hereby granted, provided that you include + the following on ALL copies of the software and documentation or + portions thereof, including modifications: + + 1. The full text of this NOTICE in a location viewable to users + of the redistributed or derivative work. + + 2. Any pre-existing intellectual property disclaimers, notices, + or terms and conditions. If none exist, the W3C Software Short + Notice should be included (hypertext is preferred, text is + permitted) within the body of any redistributed or derivative code. + + 3. Notice of any changes or modifications to the files, including + the date changes were made. (We recommend you provide URIs to the + location from which the code is derived.) + + THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. + + COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL + OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. + + The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and + any associated documentation will at all times remain with + copyright holders. diff --git a/packages/spacecat-shared-user-manager-client/README.md b/packages/spacecat-shared-user-manager-client/README.md new file mode 100644 index 000000000..16ca5bc9e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/README.md @@ -0,0 +1,133 @@ +# @adobe/spacecat-shared-user-manager-client + +Typed integration with the Semrush **User Manager API** (`/enterprise/users/api`): + +- generated **TypeScript** (`src/generated/types.ts`) and **Pydantic v2** (`python/serenity_user_manager/`) types, +- a thin **User Manager client** (`openapi-fetch` over the generated `paths`) — later PR, +- a **Counterfact mock** for E2E tests and local dev — later PR. + +> **This PR is the foundation slice only:** vendor the spec + wire the +> conversion-and-type-generation pipeline. The client wrapper (with auth — +> `Authorization: Bearer ` for user-facing routes, API-Key header for admin routes; +> `Auth-Data-Jwt` is a spec artifact and must not be sent per the CR2 finding below) and +> the stateful mock store land in follow-up PRs. This mirrors the Project Engine +> foundation slice (LLMO-5461) applied to a second, larger API (see LLMO-5558). + +This package follows the `spacecat-shared` convention: **JS + ESM**, JSDoc-typed source, +`mocha` + `chai` + `c8` for tests, and `@adobe/eslint-config-helix` for lint. The scaffold's +TypeScript surface is ported to JS + JSDoc; the generated `types.ts` is a **type artifact only**, +consumed by the client via JSDoc `import(...)` and by `openapi-fetch` at type-check time. + +## Spec source + +The spec is a **vendored file** — `spec/usermanager_swagger.yaml` — kept under version +control. Semrush only provides the file (no endpoint access in the near term), and it's +**Swagger 2.0** (no v3/v3.1 on offer). It is large: ~234 paths / ~284 operations across +~30 tags (Admin, Users, Workspaces, Projects, Keywords, Limits, Service Units, +ActivationPanel, …), ~187 user-facing operations and ~97 admin/internal operations. + +> **Spec auth correction (CR2 — same finding as Project Engine, rainer-friederich +> 2026-06-15):** the vendored spec models auth as a required `Auth-Data-Jwt` header +> parameter on ~187 operations. This is a **vendor spec artifact** — the live Adobe +> gateway authenticates on `Authorization: Bearer ` only. Sending `Auth-Data-Jwt` +> alone returns 401; sending both headers also returns 401. A generation-time overlay +> to strip `Auth-Data-Jwt` from all operations and add a real bearer security scheme +> (mirroring the CR2 overlay planned for Project Engine) will land in a follow-up PR. Refresh is **manual**: drop in the newer +file, re-run `npm run generate`, and review the diff. There is no automated drift detection +while endpoint access is restricted. + +## Pipeline + +``` +spec/usermanager_swagger.yaml (vendored, Swagger 2.0) + │ + ├── Counterfact ── reads v2 directly ──► mock (no conversion) [npm run mock] + │ + └── swagger2openapi (v2 → 3.x) ──► build/openapi3.json + │ + ├── openapi-typescript ──► src/generated/types.ts + └── datamodel-code-generator ──► python/serenity_user_manager/ +``` + +The v2 → 3.x conversion exists **only** to feed the type generators (`openapi-typescript` +is v3-only, and 3.x yields cleaner TS/Pydantic). **Counterfact reads the raw v2 file +directly**, so the mock path never touches the converted artifact. + +| Command | Does | +| --- | --- | +| `npm run spec:convert` | v2 → 3.x via `swagger2openapi --patch` → `build/openapi3.json` | +| `npm run generate:ts` | `openapi-typescript` → `src/generated/types.ts` | +| `npm run generate:pydantic` | `datamodel-code-generator` → `python/serenity_user_manager/` package | +| `npm run generate` | all of the above, in order | +| `npm run mock` | Counterfact mock on `:4010`, straight off the v2 spec | + +`datamodel-code-generator` is a **Python** tool, not an npm dependency. Install it once on +your `PATH` before running `generate:pydantic`: + +```bash +pip install datamodel-code-generator +``` + +## Committed vs generated + +- **Committed:** the vendored spec (`spec/usermanager_swagger.yaml`). +- **Generated, committed in its own commit** and marked `linguist-generated` (see + `.gitattributes`) so it's collapsed in review and excluded from diff counts: + `src/generated/**`, `python/serenity_user_manager/**`. + + `datamodel-code-generator` may emit a **package** (`model.py`, `__init__.py`, plus one + module per dotted schema-name prefix) rather than a single `models.py`, mirroring the + vendored spec's modular schema references. This is a tool-driven layout choice, not a + spec edit. +- **Gitignored intermediate:** `build/openapi3.json`, `.counterfact/.cache/`. The rest of + `.counterfact/` **is committed** — see "Mock" below. + +## Mock (LLMO-5616) + +A stateful [Counterfact](https://counterfact.dev) mock for E2E tests and local dev. + +```bash +npm run mock # LocalStack-free: serves on :4010 under /enterprise/users/api, seeded +npm test # runs the E2E suite (boots the mock in a child process) +``` + +- **Run / paths:** the mock serves under the real basePath, e.g. + `GET http://localhost:4010/enterprise/users/api/v1/workspaces`. Auth is permissive + (`--no-validate-request`) so the vendor `Auth-Data-Jwt` artifact isn't required. +- **Stateful core chain:** workspaces (create child / get / update / delete / list), members, + profile, resources (+ deprecated `…/limits` alias), service-units balance — a POST is + reflected in a later GET. Every other spec path returns a Counterfact schema-generated + response. +- **Seed + reset:** the mock starts in a known fixture state (`Context.seed()` in + `.counterfact/routes/_.context.ts`). Reset to it with `POST /__reset` (a non-spec route); + the E2E suite calls it in `beforeEach`. +- **Mock architecture (important):** Counterfact only compiles its own `routes/` tree, so the + mock state + logic live on the **Context class** (`$.context`, a persistent singleton) in + `.counterfact/routes/_.context.ts`, **not** in `src/`. Handlers are thin and delegate to it. + Because the logic is in `.counterfact/**` (TypeScript), it is exercised **behaviorally** by + `test/mock.test.js`, not by unit coverage (the 100% gate covers `src/**` only). +- **Committed tree:** `.counterfact/` is committed except `.counterfact/.cache/`. Regenerating + (`npm run mock`) **preserves** hand-edited `routes/*.ts` and only refreshes generated types — + so an updated spec needs no stub hand-editing. +- **Known caveat:** Counterfact warns of ambiguous sibling wildcards (`{id}` vs + `{workspace_id}`) on some non-core paths; the core chain uses `{id}` and routes correctly. + +### api-service wiring (deferred — LLMO-5615) + +`spacecat-api-service` calls **no** User Manager endpoints today, so wiring it to the mock is +deferred to when the client lands (LLMO-5615). The base-URL env var the future client/transport +will read is `SEMRUSH_USERS_BASE_URL` (see `src/config.js`) — mirroring `SEMRUSH_PROJECTS_BASE_URL` +(required, no default, origin-only). **Re-open trigger for LLMO-5616:** when the client lands, +point `SEMRUSH_USERS_BASE_URL` at the mock (`http://localhost:4010`) in api-service `.env.example` ++ `test/it/env.js`, and note the transport must allow `http` for localhost (the Project Engine +transport is https-only and would 503 against the mock). + +## Notes + +- The package is `@adobe/spacecat-shared-*` and lives under the monorepo `packages/` layout. +- Pydantic v2 is the default target; switch the `--output-model-type` flag in + `generate:pydantic` if a consumer needs v1. +- The base host is shared with Project Engine (`SEMRUSH_PROJECTS_BASE_URL`, e.g. the dev + `https://adobe-hackathon.semrush.com`); only the basePath differs (`/enterprise/users/api` + vs `/enterprise/projects/api`). The auth split (which operations take `Auth-Data-Jwt`/IMS + vs API-Key) is resolved against the Adobe gateway when the client wrapper lands. diff --git a/packages/spacecat-shared-user-manager-client/package.json b/packages/spacecat-shared-user-manager-client/package.json new file mode 100644 index 000000000..b38fe6c02 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/package.json @@ -0,0 +1,51 @@ +{ + "name": "@adobe/spacecat-shared-user-manager-client", + "version": "1.0.0", + "description": "Shared modules of the Spacecat Services - Semrush User Manager client and generated types", + "type": "module", + "private": true, + "types": "./src/generated/types.ts", + "engines": { + "node": ">=22.0.0 <25.0.0", + "npm": ">=10.9.0 <12.0.0" + }, + "scripts": { + "test": "c8 mocha", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "clean": "rm -rf node_modules build .counterfact/.cache", + "spec:convert": "mkdir -p build && swagger2openapi spec/usermanager_swagger.yaml --patch --outfile build/openapi3.json", + "generate:ts": "openapi-typescript build/openapi3.json --output src/generated/types.ts", + "generate:pydantic": "datamodel-codegen --input build/openapi3.json --input-file-type openapi --output python/serenity_user_manager/ --output-model-type pydantic_v2.BaseModel", + "generate": "npm run spec:convert && npm run generate:ts && npm run generate:pydantic", + "mock": "counterfact spec/usermanager_swagger.yaml .counterfact --port 4010 --prefix /enterprise/users/api --no-validate-request" + }, + "mocha": { + "reporter": "mocha-multi-reporters", + "reporter-options": "configFile=.mocha-multi.json", + "spec": "test/**/*.test.js" + }, + "repository": { + "type": "git", + "url": "https://github.com/adobe/spacecat-shared.git" + }, + "author": "", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/adobe/spacecat-shared/issues" + }, + "homepage": "https://github.com/adobe/spacecat-shared/packages/spacecat-shared-user-manager-client/#readme", + "publishConfig": { + "access": "public" + }, + "dependencies": {}, + "devDependencies": { + "c8": "11.0.0", + "chai": "6.2.2", + "counterfact": "2.14.0", + "mocha": "11.7.6", + "mocha-multi-reporters": "1.5.1", + "openapi-typescript": "7.13.0", + "swagger2openapi": "7.0.8" + } +} diff --git a/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/__init__.py b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/__init__.py new file mode 100644 index 000000000..586515f1d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: openapi3.json +# timestamp: 2026-06-15T17:23:07+00:00 diff --git a/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/handlers.py b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/handlers.py new file mode 100644 index 000000000..a1b8978c7 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/handlers.py @@ -0,0 +1,2388 @@ +# generated by datamodel-codegen: +# filename: openapi3.json +# timestamp: 2026-06-15T17:23:07+00:00 + +from __future__ import annotations + +from datetime import date as date_aliased +from enum import Enum +from typing import Any + +from pydantic import BaseModel, Field, RootModel, conint, constr + +from . import page_engine_backend_internal_usermanager_core_domain, rbac + + +class APIUnitsResponse(BaseModel): + api_units: int | None = None + + +class ActivationPanelAdminActivity(BaseModel): + action: str | None = None + admin_email: str | None = None + admin_id: int | None = None + corporate_account_id: int | None = None + created_at: str | None = None + log_id: int | None = None + owner_id: int | None = None + section: str | None = None + subscription_id: int | None = None + user_email: str | None = None + workspace_id: str | None = None + + +class ActivationPanelAdminActivityResponse(BaseModel): + items: list[ActivationPanelAdminActivity] | None = None + limit: int | None = None + page: int | None = None + total: int | None = None + + +class ActivationPanelBillingStatusCoreAccountId(BaseModel): + corporate_account_id: int | None = None + subscription_id: int | None = None + + +class ActivationPanelOwner(BaseModel): + email: str | None = None + id: int | None = None + + +class ActivationPanelWorkspaceMetadata(BaseModel): + icon: str | None = Field(None, examples=['https://example.com/icon.png']) + id: str | None = Field(None, examples=['550e8400-e29b-41d4-a716-446655440000']) + parent_id: str | None = Field(None, examples=['']) + title: str | None = Field(None, examples=['My Workspace']) + + +class AdobeAnalyticsConnectionCreateSettings(BaseModel): + adobe_proxy_auth_id: str + dimension_date_range_day_name: str | None = None + dimension_entry_page_url_name: str + dimension_marketing_channel_detail_name: str + dimension_marketing_channel_name: str + global_company_id: str + metric_bounce_rate_name: str + metric_target_conversion_name: str + metric_visits_name: str + rs_name: str + rsid: str + + +class AdobeAnalyticsConnectionCreateSettingsV2(BaseModel): + credential_id: int + dimension_date_range_day_name: str | None = None + dimension_entry_page_url_name: str + dimension_marketing_channel_detail_name: str + dimension_marketing_channel_name: str + global_company_id: str + metric_bounce_rate_name: str + metric_target_conversion_name: str + metric_visits_name: str + rs_name: str + rsid: str + + +class AdobeAnalyticsConnectionSettings(BaseModel): + credential_id: int | None = None + dimension_date_range_day_name: str | None = None + dimension_entry_page_url_name: str | None = None + dimension_marketing_channel_detail_name: str | None = None + dimension_marketing_channel_name: str | None = None + global_company_id: str | None = None + metric_bounce_rate_name: str | None = None + metric_target_conversion_name: str | None = None + metric_visits_name: str | None = None + rs_name: str | None = None + rsid: str | None = None + + +class AdobeAnalyticsConnectionUpdateSettings(BaseModel): + adobe_proxy_auth_id: str + dimension_date_range_day_name: str | None = None + dimension_entry_page_url_name: str + dimension_marketing_channel_detail_name: str + dimension_marketing_channel_name: str + global_company_id: str + metric_bounce_rate_name: str + metric_target_conversion_name: str + metric_visits_name: str + rs_name: str + rsid: str + + +class AdobeAnalyticsConnectionUpdateSettingsV2(BaseModel): + credential_id: int + dimension_date_range_day_name: str | None = None + dimension_entry_page_url_name: str + dimension_marketing_channel_detail_name: str + dimension_marketing_channel_name: str + global_company_id: str + metric_bounce_rate_name: str + metric_target_conversion_name: str + metric_visits_name: str + rs_name: str + rsid: str + + +class AdobeAnalyticsValidateRequest(BaseModel): + dimension: str | None = None + metric: str + rsid: str + + +class AdobeAnalyticsValidateResponse(BaseModel): + message: str | None = None + valid: bool | None = None + + +class AdobeAnalyticsValidateV2Request(BaseModel): + credential_id: int + dimension: str | None = None + global_company_id: str + metric: str + rsid: str + + +class AdobeAnalyticsWorkspaceConnectionCreate(BaseModel): + project_ids: list[str] | None = None + settings: AdobeAnalyticsConnectionCreateSettings | None = None + + +class AdobeAnalyticsWorkspaceConnectionCreateV2(BaseModel): + project_ids: list[str] | None = None + settings: AdobeAnalyticsConnectionCreateSettingsV2 | None = None + + +class AdobeAnalyticsWorkspaceConnectionUpdate(BaseModel): + project_ids: list[str] | None = None + settings: AdobeAnalyticsConnectionUpdateSettings | None = None + + +class AdobeAnalyticsWorkspaceConnectionUpdateV2(BaseModel): + project_ids: list[str] | None = None + settings: AdobeAnalyticsConnectionUpdateSettingsV2 | None = None + + +class AdobeBulkStatusRequest(BaseModel): + adobe_proxy_auth_ids: list[str] = Field(..., min_length=1) + + +class AdobeCompanyInfo(BaseModel): + company_name: str | None = None + global_company_id: str | None = None + + +class AdobeCredentialCreatedResponse(BaseModel): + credential_id: int | None = None + + +class AdobeCredentialsCreateRequest(BaseModel): + client_id: str + client_secret: str + + +class AdobeCredentialsInfo(BaseModel): + adobe_proxy_auth_id: str | None = None + + +class AdobeOrganizationInfo(BaseModel): + companies: list[AdobeCompanyInfo] | None = None + organization_id: str | None = None + + +class BaseProject(BaseModel): + color: str | None = None + domain: str | None = None + is_draft: bool | None = None + title: str | None = None + total_invited_members: int | None = None + + +class BasicUserProfile(BaseModel): + email: str | None = None + id: int | None = None + name: str | None = None + profile_pic: str | None = None + + +class BasicWorkspaceMember(BaseModel): + email: str | None = None + id: int | None = None + name: str | None = None + profile_pic: str | None = None + + +class BatchDeleteReferenceRequest(BaseModel): + all: bool | None = None + cascade: bool | None = None + ids: list[str] | None = None + + +class ConsumedUnits(BaseModel): + users: int | None = None + + +class CopyAllSegmentsRequest(BaseModel): + source_project_id: str + + +class CopySegmentsRequest(BaseModel): + segment_ids: list[str] = Field(..., min_length=1) + target_project_ids: list[str] = Field(..., min_length=1) + + +class CoreUser(BaseModel): + activated: bool | None = None + company: str | None = None + email: str | None = None + id: int | None = None + locale: str | None = None + name: str | None = None + profession: str | None = None + timezone_new: str | None = None + + +class CoreUserWithAPIKey(BaseModel): + activated: bool | None = None + api_key: str | None = None + company: str | None = None + email: str | None = None + id: int | None = None + locale: str | None = None + name: str | None = None + profession: str | None = None + timezone_new: str | None = None + + +class Country(BaseModel): + code: str | None = None + name: str | None = None + + +class Dimension(BaseModel): + category: str | None = None + description: str | None = None + extra_title_info: str | None = None + id: str | None = None + name: str | None = None + pathable: bool | None = None + reportable: list[str] | None = None + segmentable: bool | None = None + support: list[str] | None = None + title: str | None = None + type: str | None = None + + +class Filter(BaseModel): + column_name: str | None = None + filters: list[Filter] | None = None + operator: str + value: Any + + +class GoogleAdsConnectionSettings(BaseModel): + customer_id: int + customer_title: str + gap_email: str + gap_user_id: str + mcc_id: int + + +class GoogleAdsWorkspaceConnectionCreate(BaseModel): + project_ids: list[str] | None = None + settings: GoogleAdsConnectionSettings | None = None + + +class GoogleAnalyticsConnectionSettings(BaseModel): + ga_account: str + ga_account_title: str + gap_email: str + gap_user_id: str + property: str + property_title: str + + +class GoogleAnalyticsWorkspaceConnectionCreate(BaseModel): + project_ids: list[str] | None = None + settings: GoogleAnalyticsConnectionSettings | None = None + + +class GoogleSearchConsoleConnectionSettings(BaseModel): + gap_email: str + gap_property: str + gap_user_id: str + + +class HasChildrenResponse(BaseModel): + has_children: bool | None = None + + +class IDsForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + + +class InternalAdobeAnalyticsConnectionSettings(BaseModel): + adobe_proxy_auth_id: str | None = None + dimension_date_range_day_name: str | None = None + dimension_entry_page_url_name: str | None = None + dimension_marketing_channel_detail_name: str | None = None + dimension_marketing_channel_name: str | None = None + global_company_id: str | None = None + metric_bounce_rate_name: str | None = None + metric_target_conversion_name: str | None = None + metric_visits_name: str | None = None + rs_name: str | None = None + rsid: str | None = None + + +class InternalBenchmark(BaseModel): + benchmark_id: str | None = None + created_at: str | None = None + database: str | None = None + device: str | None = None + project_id: str | None = None + target_id: str | None = None + url: str | None = None + url_type: str | None = None + + +class InternalTarget(BaseModel): + campaign_id: str | None = None + created_at: str | None = None + database: str | None = None + device: str | None = None + domains: list[str] | None = None + project_domain: str | None = None + project_id: str | None = None + target_id: str | None = None + + +class KeywordCountResponse(BaseModel): + added_keyword_count: int | None = None + + +class KeywordID(BaseModel): + database: constr(max_length=2) = Field( + ..., + description='Database is the database of the keyword. Max 2 characters are allowed', + ) + phrase: constr(max_length=90) = Field( + ..., description='Phrase is the keyword name. Max 90 characters are allowed' + ) + + +class KeywordResponse(BaseModel): + click_potential: int | None = None + created_at: str | None = None + difficulty100: int | None = None + id: KeywordID + status: str | None = None + tags: list[str] | None = Field( + None, + description='Tags max 5 tags are allowed, each tag can have max 50 characters', + max_length=5, + ) + updated_at: str | None = None + volume: int | None = None + + +class KeywordsListCreateRequest(BaseModel): + name: constr(max_length=100) = Field( + ..., description='Name of the keywords-list. Max 100 characters are allowed' + ) + + +class KeywordsListCreateResponse(BaseModel): + basket_id: int | None = None + name: str | None = None + updated_at: str | None = None + + +class KeywordsListDatabasesResponse(BaseModel): + databases: list[str] | None = None + + +class KeywordsListDeleteRequest(BaseModel): + basket_ids: list[int] + + +class KeywordsListRenameRequest(BaseModel): + name: constr(max_length=100) = Field( + ..., description='Name of the keywords-list. Max 100 characters are allowed' + ) + + +class KeywordsListRenameResponse(BaseModel): + basket_id: int | None = None + name: str | None = None + updated_at: str | None = None + + +class KeywordsResponse(BaseModel): + keywords: list[KeywordResponse] | None = None + page: int | None = None + total: int | None = None + + +class KeywordsTagsRelationsDeleteForm(BaseModel): + relations: list[list[str]] = Field(..., min_length=1) + + +class KeywordsTagsRequest(BaseModel): + keyword_ids: list[KeywordID] + tags: list[str] = Field(..., max_length=5) + + +class KeywordsTagsUpdateRequest(BaseModel): + keyword_id: KeywordID + tags_create: list[str] | None = Field( + None, + description='TagsCreate max 5 tags are allowed, each tag can have max 50 characters', + max_length=5, + ) + tags_delete: list[str] | None = Field( + None, + description='TagsDelete max 5 tags are allowed, each tag can have max 50 characters', + max_length=5, + ) + + +class Language(BaseModel): + code: str | None = None + name: str | None = None + + +class Location(BaseModel): + id: int | None = None + name: str | None = None + + +class Type(Enum): + success = 'success' + error = 'error' + + +class LogFileAnalysisConnectorStatusPayload(BaseModel): + message: str | None = None + type: Type + + +class LogFileAnalysisFallbackValues(BaseModel): + hostname: str | None = None + protocolSchema: str | None = None + time: str | None = None + timezone: str | None = None + + +class LogFileAnalysisIngestField(BaseModel): + extracts: list[str] | None = None + key: str | None = None + position: int | None = None + template: str | None = None + + +class Delimiter(Enum): + space = 'space' + pipe = 'pipe' + tab = 'tab' + semicolum = 'semicolum' + comma = 'comma' + + +class TypeModel(Enum): + json = 'json' + jsonp = 'jsonp' + text = 'text' + + +class LogFileAnalysisPreProcessing(BaseModel): + type: str | None = None + + +class Metric(BaseModel): + allocation: bool | None = None + calculated: bool | None = None + category: str | None = None + description: str | None = None + id: str | None = None + name: str | None = None + precision: int | None = None + segmentable: bool | None = None + support: list[str] | None = None + title: str | None = None + type: str | None = None + + +class NamedKeywordsFindForm(BaseModel): + keywords: list[str] = Field(..., min_length=1) + + +class OptionsLimits(BaseModel): + total_keywords: int | None = None + total_pagespeed_urls: int | None = None + total_projects: int | None = None + total_service_units: int | None = None + total_users: int | None = None + used_service_units: int | None = None + + +class PreferredURLsUploadResponse(BaseModel): + updated_keywords: int | None = None + + +class ProjectConnectionResponse(BaseModel): + id: int | None = None + type: str | None = None + + +class ReferenceRequest(BaseModel): + id: str + references: list[str] = Field(..., min_length=1) + replace: bool | None = None + + +class ReportSuite(BaseModel): + calendar_type: str | None = None + collection_item_type: str | None = None + currency: str | None = None + name: str | None = None + parent_rsid: str | None = None + rsid: str | None = None + timezone_zoneinfo: str | None = None + virtual_report_suite: bool | None = None + + +class RequiredUserUnitsForm(BaseModel): + emails: list[str] = Field(..., min_length=1) + + +class RequiredUserUnitsResponse(BaseModel): + required_units: int | None = None + + +class LogicOperator(Enum): + and_ = 'and' + or_ = 'or' + + +class TargetLanguage(BaseModel): + id: int | None = None + name: str | None = None + + +class TargetMetadata(BaseModel): + database: str | None = None + device: str | None = None + id: str | None = None + language: TargetLanguage | None = None + location: Location | None = None + name: str | None = None + + +class TargetsStats(BaseModel): + draft_targets_count: int | None = None + target: TargetMetadata | None = None + targets_count: int | None = None + + +class Transaction(BaseModel): + balance_after: int | None = None + balance_before: int | None = None + date: str | None = None + id: str | None = None + iid: int | None = None + operation: str | None = None + owner_id: int | None = None + owner_name: str | None = None + receipt_id: int | None = None + receipt_name: str | None = None + reference_transaction_id: str | None = None + service_credits: int | None = None + service_id: str | None = None + service_type: str | None = None + title: str | None = None + workspace_id: str | None = None + + +class TransactionsCancelForm(BaseModel): + service_credits: conint(ge=1) + + +class TransactionsCreateForm(BaseModel): + owner_id: int + receipt_id: int | None = None + service_credits: conint(ge=1) + service_id: constr(max_length=255) + service_type: str + title: constr(max_length=255) | None = None + workspace_id: str + + +class TransactionsListForm(BaseModel): + end: str | None = Field( + None, description='Must have YYYY-MM-DD format', examples=['2023-10-24'] + ) + operations: list[str] | None = Field( + None, description='Must be debit or credit', examples=[['debit', 'credit']] + ) + owners: list[int] | None = Field(None, examples=[[123, 456]]) + receipts: list[int] | None = Field(None, examples=[[123, 456]]) + service_types: list[str] | None = Field( + None, + description='Must be seo_workflow, job_hourly, job_fixed or service_fee', + examples=[['seo_workflow', 'job_hourly', 'job_fixed', 'service_fee']], + ) + start: str | None = Field( + None, description='Must have YYYY-MM-DD format', examples=['2023-10-24'] + ) + title: constr(max_length=255) | None = Field(None, examples=['some title']) + workspaces: list[str] | None = Field( + None, + examples=[ + [ + 'eab40b25-ec97-4efb-91ea-dbcc6153a721', + 'eab40b25-ec97-4efb-91ea-dbcc6153a722', + ] + ], + ) + + +class TransactionsRefundForm(BaseModel): + amount: conint(ge=1) + + +class UsedLimit(BaseModel): + total: int | None = None + used: int | None = None + + +class UsedLimitWithDrafted(BaseModel): + drafted: int | None = None + total: int | None = None + used: int | None = None + + +class UserJob(BaseModel): + description: constr(max_length=1000) | None = None + end: str | None = None + id: str | None = None + name: constr(max_length=255) | None = None + start: str | None = None + + +class UserProject(BaseModel): + id: str | None = None + title: str | None = None + user_role: str | None = None + + +class UserWorkspace(BaseModel): + id: str | None = None + title: str | None = None + user_role: str | None = None + + +class WorkCategory(BaseModel): + name: str | None = None + skills: list[str] | None = None + + +class WorkspaceCheckResponse(BaseModel): + status: str | None = None + + +class WorkspaceConnectionOwner(BaseModel): + email: str | None = None + id: int | None = None + name: str | None = None + profile_pic: str | None = None + + +class WorkspaceConnectionProject(BaseModel): + id: str | None = None + name: str | None = None + + +class WorkspaceConnectionStatus(BaseModel): + message: str | None = None + type: str | None = None + + +class WorkspaceConnectionsAttachItem(BaseModel): + connection_ids: list[int] | None = None + project_id: str | None = None + + +class WorkspaceConnectionsDeleteRequest(BaseModel): + ids: list[int] | None = None + + +class WorkspaceMemberProject(BaseModel): + id: str | None = None + title: str | None = None + + +class WorkspaceMemberUpsertResponse(BaseModel): + consumed_units: ConsumedUnits | None = None + + +class WorkspaceResources(BaseModel): + api_units: conint(ge=0) | None = None + keywords: conint(ge=0) | None = None + pagespeed_urls: conint(ge=0) | None = None + projects: conint(ge=0) | None = None + service_credits: conint(ge=0) | None = None + users: conint(ge=0) | None = None + + +class PromptType(Enum): + daily = 'daily' + weekly = 'weekly' + + +class ActivationPanelPermission(Enum): + editWorkspaces = 'workspace.edit' + deleteWorkspaces = 'workspace.delete' + viewWorkspaces = 'workspace.view' + addWorkspaces = 'workspace.add' + + +class ActivationPanelSubscriptionForm(BaseModel): + workspace_id: str + + +class AdminSmbProjectMigrationForm(BaseModel): + account_ids: list[int] + + +class AdminWorkspaceCreateForm(BaseModel): + icon: str | None = None + owner_email: str | None = None + parent_id: str + resources: WorkspaceResources + title: str + + +class Ai(BaseModel): + prompts_count: int | None = None + published_projects_count: int | None = None + + +class AiProductResources(BaseModel): + projects: int | None = None + prompts: int | None = None + + +class BasicWorkspacesMembersResponse(BaseModel): + items: list[BasicWorkspaceMember] | None = None + + +class BatchWorkspaceMembersRequest(BaseModel): + include_parental_admins: bool | None = None + workspace_ids: list[str] = Field(..., min_length=1) + + +class BenchmarkBulkUpdateForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + sync_enabled: bool | None = None + tags: list[str] | None = None + + +class BenchmarkCloneForm(BaseModel): + dst_target_id: str + src_target_id: str + + +class BenchmarkCreateForm(BaseModel): + color: str | None = None + sync_enabled: bool | None = None + tags: list[str] | None = None + url: str + + +class BenchmarkRemoveTagsForm(BaseModel): + benchmark_ids: list[str] = Field(..., min_length=1) + tag_ids: list[str] = Field(..., min_length=1) + + +class BenchmarkTags(RootModel[dict[str, list[str]]]): + root: dict[str, list[str]] + + +class BenchmarkUpdateForm(BaseModel): + color: str | None = None + sync_enabled: bool | None = None + tags: list[str] | None = None + url: str | None = None + + +class BenchmarksDeleteForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + + +class BillingStatusResponse(BaseModel): + expire_date: str | None = None + has_product: bool | None = None + is_paid: bool | None = None + subscription_id: int | None = None + user_id: int | None = None + + +class Ci(BaseModel): + pages: int | None = None + published_projects_count: int | None = None + + +class GetServiceUnitsResponse(BaseModel): + available: int | None = None + total: int | None = None + units: int | None = Field( + None, + description='Deprecated: This is left here to ensure backward compatibility. Use Available field instead.', + ) + + +class GoalImportForm(BaseModel): + source_project_id: str + + +class GoalImportReponse(BaseModel): + total_imported_goals: int | None = None + + +class GoalsDeleteForm(BaseModel): + ids: list[str] | None = Field(None, min_length=1) + + +class GoalsMetric(BaseModel): + id: str | None = None + name: str | None = None + + +class Keyword(BaseModel): + id: str | None = None + name: str | None = None + position: int | None = None + preferred_url: str | None = None + volume: int | None = None + + +class KeywordListAddMembersForm(BaseModel): + members: list[str] + role: str + + +class KeywordWithTargetID(BaseModel): + id: str | None = None + name: str | None = None + position: int | None = None + preferred_url: str | None = None + target_id: str | None = None + volume: int | None = None + + +class KeywordsCloneForm(BaseModel): + dst_target_id: str + src_target_id: str + + +class KeywordsCreateForm(BaseModel): + keywords: list[str] = Field(..., min_length=1) + tag_ids: list[str] | None = None + + +class KeywordsCreateResponse(BaseModel): + duplicate_count: int | None = None + items: list[Keyword] | None = None + + +class KeywordsDeleteForm(BaseModel): + all: bool | None = None + ids: list[str] | None = Field(None, min_length=1) + + +class KeywordsListDeleteMembersForm(BaseModel): + members: list[str] + + +class KeywordsListMemberUpdateRoleForm(BaseModel): + member: str + role: str + + +class KeywordsListResponse(BaseModel): + items: list[Keyword] | None = None + page: int | None = None + total: int | None = None + + +class KeywordsRelatedTagsForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + + +class KeywordsUpdateForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + url: str | None = None + + +class KeywordsUpdateResponse(BaseModel): + ids: list[str] = Field(..., min_length=1) + url: str | None = None + + +class Member(BaseModel): + email: str | None = None + id: int | None = None + profile_pic: str | None = None + role: str | None = None + + +class PagespeedAddNamedKeywordsForm(BaseModel): + keywords: list[str] | None = None + target_id: str | None = None + + +class PagespeedAddNamedKeywordsResponse(BaseModel): + keywords: list[Keyword] | None = None + not_found: list[str] | None = None + + +class PagespeedCrawler(BaseModel): + crawler_type: str | None = None + device: str | None = None + id: str | None = None + interval: str | None = None + name: str | None = None + status: str | None = None + total_keywords: int | None = None + total_urls: int | None = None + + +class PagespeedCrawlerAddURLsForm(BaseModel): + urls: list[str] = Field(..., min_length=1) + + +class CrawlerType(Enum): + keywords = 'keywords' + urls = 'urls' + + +class Interval(Enum): + once = 'once' + daily = 'daily' + weekly = 'weekly' + week_days = 'week-days' + bi_weekly = 'bi-weekly' + monthly = 'monthly' + + +class PagespeedCrawlerUpdateForm(BaseModel): + interval: Interval | None = None + name: str + + +class PagespeedCrawlerVisibleForm(BaseModel): + device: str + interval: Interval | None = None + name: str + + +class PagespeedCrawlersListResponse(BaseModel): + items: list[PagespeedCrawler] | None = None + page: int | None = None + total: int | None = None + + +class PagespeedDeleteForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + + +class PagespeedInternalCrawler(BaseModel): + crawler_type: str | None = None + device: str | None = None + id: str | None = None + interval: str | None = None + name: str | None = None + project_id: str | None = None + status: str | None = None + total_keywords: int | None = None + total_urls: int | None = None + + +class PagespeedInternalKeywordsListResponse(BaseModel): + items: list[KeywordWithTargetID] | None = None + page: int | None = None + total: int | None = None + + +class PagespeedKeywordsDeleteForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + + +class PagespeedKeywordsForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + target_id: str + + +class PagespeedKeywordsListResponse(BaseModel): + items: list[Keyword] | None = None + page: int | None = None + total: int | None = None + + +class PagespeedURL(BaseModel): + id: str | None = None + url: str | None = None + + +class PagespeedURLsDeleteForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + + +class PagespeedURLsListResponse(BaseModel): + items: list[PagespeedURL] | None = None + page: int | None = None + total: int | None = None + + +class ProfileUpdate(BaseModel): + availability: str | None = None + company: constr(max_length=255) | None = None + country: Country | None = None + description: constr(max_length=255) | None = None + jobs: list[UserJob] | None = None + languages: list[str] | None = None + linked_in: str | None = None + name: constr(max_length=255) | None = None + phone: constr(max_length=20) | None = None + profession: constr(max_length=255) | None = None + profile_pic: str | None = None + skills: list[str] | None = None + time_zone: str | None = None + + +class ProjectCreateForm(BaseModel): + color: str | None = None + domain: str + title: str + + +class ProjectDeleteResponse(BaseModel): + id: str | None = None + + +class ProjectFavouriteSetForm(BaseModel): + favourite: bool | None = None + + +class ProjectItemBaseProject(BaseModel): + color: str | None = None + domain: str | None = None + is_draft: bool | None = None + title: str | None = None + + +class ProjectItemLanguage(BaseModel): + id: int | None = None + name: str | None = None + + +class ProjectItemLocation(BaseModel): + id: int | None = None + name: str | None = None + + +class ProjectItemTargetMetadata(BaseModel): + database: str | None = None + device: str | None = None + id: str | None = None + language: ProjectItemLanguage | None = None + location: ProjectItemLocation | None = None + name: str | None = None + + +class ProjectItemTargetsStats(BaseModel): + target: ProjectItemTargetMetadata | None = None + targets_count: int | None = None + + +class ProjectMembersResponse(BaseModel): + items: list[Member] | None = None + page: int | None = None + total: int | None = None + + +class ProjectUpdateForm(BaseModel): + color: str | None = None + title: str | None = None + + +class ProjectV2CreateForm(BaseModel): + color: str | None = None + domain: str | None = None + title: str + + +class ProjectV2UpdateForm(BaseModel): + color: str | None = None + domain: str | None = None + title: str | None = None + + +class Seo(BaseModel): + keywords_count: int | None = None + pagespeed_urls_count: int | None = None + published_projects_count: int | None = None + + +class SetServiceUnitsForm(BaseModel): + units: conint(ge=0) | None = None + + +class Si(BaseModel): + logfile: int | None = None + pages: int | None = None + projects: int | None = None + + +class Tag(BaseModel): + id: str | None = None + name: str | None = None + + +class TagItem(BaseModel): + children_count: int | None = None + id: str | None = None + keywords_count: int | None = None + name: str | None = None + + +class TagTreeItem(BaseModel): + children: list[TagTreeItem] | None = None + children_count: int | None = None + id: str | None = None + keywords_count: int | None = None + name: str | None = None + parent_id: str | None = None + + +class TagTreeItemV2(BaseModel): + children: list[TagTreeItemV2] | None = None + id: str | None = None + name: str | None = None + parent_id: str | None = None + + +class TagWithSearchResponse(BaseModel): + id: str | None = None + keywords_count: int | None = None + name: str | None = None + parent_id: str | None = None + + +class TaggedKeywordsCreateForm(BaseModel): + keywords: dict[str, list[str]] + + +class TagsCreateForm(BaseModel): + names: list[str] = Field(..., min_length=1) + parent_id: str | None = None + + +class TagsDeleteForm(BaseModel): + delete_keywords: bool | None = None + ids: list[str] + + +class TagsList(RootModel[dict[str, TagItem]]): + root: dict[str, TagItem] + + +class TagsListResponse(BaseModel): + items: TagsList | None = None + page: int | None = None + total: int | None = None + + +class TagsListWithSearchResponse(BaseModel): + items: list[TagWithSearchResponse] | None = None + page: int | None = None + total: int | None = None + + +class TagsUpdateForm(BaseModel): + name: str + parent_id: str | None = None + + +class VolumeType(Enum): + national = 'national' + regional = 'regional' + local = 'local' + + +class TargetForm(BaseModel): + device: str + language_id: int + location_id: int + name: str + volume_type: VolumeType | None = None + + +class TransactionsListResponse(BaseModel): + items: list[Transaction] | None = None + page: int | None = None + total: int | None = None + + +class UrlGroup(BaseModel): + id: str | None = None + name: str | None = None + url: str | None = None + + +class UrlGroupsDeleteForm(BaseModel): + ids: list[str] = Field(..., min_length=1) + + +class UrlGroupsListResponse(BaseModel): + items: list[UrlGroup] | None = None + page: int | None = None + total: int | None = None + + +class UrlGroupsUpsertForm(BaseModel): + name: str + url: str + + +class UserIDsRequest(BaseModel): + user_ids: list[int] = Field(..., min_length=1) + + +class WorkspaceAddMembersForm(BaseModel): + members: list[str] = Field(..., min_length=1) + role: str + + +class WorkspaceAddMembersResponse(BaseModel): + emails: list[str] | None = None + errors: dict[str, Any] | None = None + limit_exceeded: bool | None = None + message: str | None = None + + +class WorkspaceCheckMembershipInAncestryResponse(BaseModel): + page: int | None = None + total: int | None = None + user_has_membership: bool | None = None + + +class WorkspaceCheckRolesInAncestryResponse(BaseModel): + page: int | None = None + total: int | None = None + user_has_role: bool | None = None + + +class WorkspaceDeleteMembersForm(BaseModel): + members: list[str] = Field(..., min_length=1) + + +class WorkspaceDeleteResponse(BaseModel): + id: str | None = None + + +class WorkspaceIDsResponse(BaseModel): + workspace_ids: list[str] | None = None + + +class WorkspaceMemberUpdateRoleForm(BaseModel): + member: str + role: str + + +class WorkspaceOwnershipUser(BaseModel): + email: str | None = None + name: str | None = None + profile_pic: str | None = None + + +class WorkspaceSettings(BaseModel): + ai: Ai | None = None + ci: Ci | None = None + seo: Seo | None = None + si: Si | None = None + + +class WorkspaceUpdateIconForm(BaseModel): + url: str | None = None + + +class WorkspaceUpsertForm(BaseModel): + icon: str | None = None + title: str + + +class WorkspaceUserAPIKey(BaseModel): + api_key: str | None = None + + +class ActivationPanelPermissionsResponse(BaseModel): + permissions: list[ActivationPanelPermission] | None = None + + +class ActivationPanelWorkspace(BaseModel): + corporate_account_id: int | None = None + created_at: str | None = None + expiration_date: str | None = None + icon: str | None = None + id: str | None = None + last_updated_at: str | None = None + owner: ActivationPanelOwner | None = None + parent_id: str | None = None + partnership_enabled: bool | None = None + product_tiers: ( + list[ + page_engine_backend_internal_usermanager_core_domain.ProductTierWithTimestamps + ] + | None + ) = None + status: str | None = None + subscription_id: int | None = None + subscription_rank: int | None = None + title: str | None = None + + +class ActivationPanelWorkspaceListResponse(BaseModel): + items: list[ActivationPanelWorkspace] | None = None + page: int | None = None + total: int | None = None + + +class ActivationPanelWorkspaceWithLimits(BaseModel): + api_units: int | None = None + children: list[ActivationPanelWorkspaceWithLimits] | None = None + corporate_account_id: int | None = None + created_at: str | None = None + expiration_date: str | None = None + icon: str | None = None + id: str | None = None + keywords: int | None = None + last_updated_at: str | None = None + owner: ActivationPanelOwner | None = None + pagespeed_urls: int | None = None + parent_id: str | None = None + partnership_enabled: bool | None = None + product_tiers: ( + list[ + page_engine_backend_internal_usermanager_core_domain.ProductTierWithTimestamps + ] + | None + ) = None + projects: int | None = None + service_credits: int | None = None + status: str | None = None + subscription_id: int | None = None + subscription_rank: int | None = None + title: str | None = None + total_api_units: int | None = None + total_keywords: int | None = None + total_pagespeed_urls: int | None = None + total_projects: int | None = None + total_service_credits: int | None = None + total_users: int | None = None + users: int | None = None + + +class AdobeCredentialStatusInfo(BaseModel): + adobe_proxy_auth_id: str | None = None + organizations: list[AdobeOrganizationInfo] | None = None + status: str | None = None + + +class AdobeReportSuitesResponse(BaseModel): + content: list[ReportSuite] | None = None + page: int | None = None + size: int | None = None + totalElements: int | None = None + totalPages: int | None = None + + +class BasketResponse(BaseModel): + basket_id: int | None = Field( + None, description='BasketID is the id of the keywords-list' + ) + basket_type: str | None = Field( + None, description='BasketType is the type of the keywords-list' + ) + keywords_count: int | None = Field( + None, description='KeywordsCount is the count of keywords in the keywords-list' + ) + name: str | None = Field(None, description='Name is the name of the keywords-list') + owner_id: int | None = Field( + None, description='OwnerID is the id of the owner of the keywords-list' + ) + role: rbac.RoleName | None = Field( + None, + description='Role is the role of the user in the keywords-list. Namely, role/keywords_list/editor, role/keywords_list/viewer', + ) + shared_with: int | None = Field( + None, + description='SharedWith is the count of users with whom the keywords-list is shared', + ) + updated_at: str | None = Field( + None, description='UpdatedAt is the last update time of the keywords-list' + ) + user_id: int | None = Field( + None, description='UserID is the id of the user of the keywords-list' + ) + + +class BatchReferenceRequest(BaseModel): + items: list[ReferenceRequest] = Field(..., min_length=1) + + +class GoogleConsoleWorkspaceConnectionCreate(BaseModel): + project_ids: list[str] | None = None + settings: GoogleSearchConsoleConnectionSettings | None = None + + +class InternalESUsersList(BaseModel): + items: list[page_engine_backend_internal_usermanager_core_domain.User] | None = None + page: int | None = None + total: int | None = None + + +class InternalProfileUpdate(BaseModel): + availability: str | None = None + company: constr(max_length=255) | None = None + country: Country | None = None + description: constr(max_length=255) | None = None + es_type: str | None = None + jobs: list[UserJob] | None = None + languages: list[str] | None = None + linked_in: str | None = None + name: constr(max_length=255) | None = None + phone: constr(max_length=20) | None = None + profession: constr(max_length=255) | None = None + profile_pic: str | None = None + skills: list[str] | None = None + time_zone: str | None = None + + +class InternalProjectsList(BaseModel): + items: ( + list[page_engine_backend_internal_usermanager_core_domain.InternalProject] + | None + ) = None + page: int | None = None + total: int | None = None + + +class KeywordModel(BaseModel): + id: KeywordID + tags: list[str] | None = Field( + None, + description='Tags max 5 tags are allowed, each tag can have max 50 characters', + max_length=5, + ) + + +class KeywordAddRequest(BaseModel): + keywords: list[KeywordModel] + + +class KeywordDeleteRequest(BaseModel): + keyword_ids: list[KeywordID] + + +class KeywordDeleteResponse(BaseModel): + deleted_keyword_ids: list[KeywordID] | None = None + + +class KeywordsListResponseModel(BaseModel): + baskets: list[BasketResponse] | None = None + page: int | None = None + total: int | None = None + + +class KeywordsTagsResponse(BaseModel): + items: list[KeywordModel] | None = None + + +class Limits(BaseModel): + api_units: UsedLimit | None = None + keywords: UsedLimitWithDrafted | None = None + pagespeed_urls: UsedLimitWithDrafted | None = None + projects: UsedLimitWithDrafted | None = None + service_units: UsedLimit | None = None + users: UsedLimitWithDrafted | None = None + + +class LogFileAnalysisIngestParser(BaseModel): + delimiter: Delimiter | None = None + preProcessing: LogFileAnalysisPreProcessing | None = None + type: TypeModel + + +class LogFileAnalysisIngestSchema(BaseModel): + example: str | None = None + fields: list[LogFileAnalysisIngestField] + parser: LogFileAnalysisIngestParser + + +class NamedKeywordsFindResponse(BaseModel): + keywords: list[Keyword] | None = None + not_found: list[str] | None = None + + +class ProjectItemResponse(BaseModel): + color: str | None = None + core_conflicts: bool | None = None + domain: str | None = None + draft_keywords_count: int | None = None + draft_project: ProjectItemBaseProject | None = None + draft_segments_count: int | None = None + draft_updated: bool | None = None + favourite: bool | None = None + goals_count: int | None = None + id: str | None = None + is_draft: bool | None = None + is_out_of_sync: bool | None = None + keywords_count: int | None = None + pagespeed_urls_count: int | None = None + publish_status: ( + page_engine_backend_internal_usermanager_core_domain.ProjectStatus | None + ) = None + published_at: str | None = None + publishing_failed_reason: str | None = None + role: rbac.RoleName | None = None + segments_count: int | None = None + shared_with: int | None = None + targets_stats: ProjectItemTargetsStats | None = None + title: str | None = None + + +class TagsTreeResponse(BaseModel): + items: list[TagTreeItem] | None = None + + +class TagsTreeResponseV2(BaseModel): + items: list[TagTreeItemV2] | None = None + + +class Target(BaseModel): + benchmarks_count: int | None = None + campaign_id: str | None = None + created_at: str | None = None + database: str | None = None + device: str | None = None + domain: str | None = None + id: str | None = None + keywords_count: int | None = None + language: TargetLanguage | None = None + location: Location | None = None + name: str | None = None + volume_type: str | None = None + + +class TxProductLimit(BaseModel): + enterprise_limit_key: str | None = Field(None, examples=['pages']) + product_id: ( + page_engine_backend_internal_usermanager_core_domain.ProductID | None + ) = Field(None, examples=['si']) + + +class UserProfile(BaseModel): + availability: str | None = None + categories: list[str] | None = None + company: str | None = None + country: Country | None = None + description: str | None = None + email: str | None = None + es_type: str | None = None + id: int | None = None + jobs: list[UserJob] | None = None + languages: list[str] | None = None + linked_in: str | None = None + locale: str | None = None + name: str | None = None + phone: str | None = None + profession: str | None = None + profile_pic: str | None = None + projects: list[UserProject] | None = None + skills: list[str] | None = None + time_zone: str | None = None + workspaces: list[UserWorkspace] | None = None + + +class WorkspaceCreateChildForm(BaseModel): + icon: str | None = None + owner: str | None = None + resources: WorkspaceResources + title: str + + +class WorkspaceMember(BaseModel): + email: str | None = None + id: int | None = None + is_all_projects_access: bool | None = None + is_home_workspace: bool | None = None + membership_status: ( + page_engine_backend_internal_usermanager_core_domain.MembershipStatus | None + ) = None + profile_pic: str | None = None + projects: list[WorkspaceMemberProject] | None = None + role: str | None = None + + +class ActivationPanelAIOPromptSettingsForm(BaseModel): + prompt_type: PromptType + weekly_prompts_day_of_week: ( + page_engine_backend_internal_usermanager_core_domain.DayOfWeek | None + ) = None + + +class ActivationPanelAIOPromptSettingsGetForm(BaseModel): + prompt_type: str | None = None + weekly_prompts_day_of_week: ( + page_engine_backend_internal_usermanager_core_domain.DayOfWeek | None + ) = None + + +class ActivationPanelWorkspaceCreateForm(BaseModel): + email: str + icon: str | None = None + partnership_enabled: bool | None = False + product_tiers: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductTierIDs] | None + ) = None + title: str + + +class AdminWorkspaceUpsertForm(BaseModel): + icon: str | None = None + partnership_enabled: bool | None = False + product_tiers: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductTierIDs] | None + ) = None + title: str + user_id: int + + +class Benchmark(BaseModel): + color: str | None = None + id: str | None = None + sync_enabled: bool | None = None + tags: BenchmarkTags | None = None + url: str | None = None + + +class BenchmarksListResponse(BaseModel): + items: list[Benchmark] | None = None + page: int | None = None + total: int | None = None + + +class CreateWorkspaceV2Resources(BaseModel): + ai: AiProductResources | None = None + general: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal + | None + ) = None + product_resources: ( + list[ + page_engine_backend_internal_usermanager_core_domain.WorkspaceProductResources + ] + | None + ) = None + seo: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceResourcesSEO + | None + ) = None + + +class GoalMetricsResponse(BaseModel): + items: list[GoalsMetric] | None = None + total: int | None = None + + +class GoalUpsertReponse(BaseModel): + date_from: date_aliased | None = Field( + None, description='Is set when the goal is objective', examples=['2024-01-01'] + ) + date_to: date_aliased | None = Field( + None, description='Is set when the goal is objective', examples=['2024-02-01'] + ) + date_type: ( + page_engine_backend_internal_usermanager_core_domain.GoalDateType | None + ) = Field(None, description='We can have monthly goals now') + id: str = Field(..., description='ID is the goal ID in the system') + lower_value: float | None = Field( + None, description='May be null if we have only upper value in the threshold' + ) + metric_id: str + name: str + objective_value_type: ( + page_engine_backend_internal_usermanager_core_domain.GoalObjectiveValueType + | None + ) = Field( + None, + description='### Single objective value\n`value` is used for `single` `objective_value_type`\n### Multiple objective values\n`values` is used for `multiple` `objective_value_type`', + ) + type: page_engine_backend_internal_usermanager_core_domain.GoalType = Field( + ..., + description='### Threshold goal\n`upper_value` and `lower_value` are used for threshold goals\n### Objective goal\n`date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals', + ) + upper_value: float | None = Field( + None, description='Is set when the goal is threshold' + ) + value: float | None = Field( + None, description='Set when the goal is single objective' + ) + values: ( + list[page_engine_backend_internal_usermanager_core_domain.GoalValue] | None + ) = Field(None, description='Set when the goal is multiple objective') + + +class GoalsUpsertForm(BaseModel): + date_from: date_aliased | None = Field( + None, description='Is set when the goal is objective', examples=['2024-01-01'] + ) + date_to: date_aliased | None = Field( + None, description='Is set when the goal is objective', examples=['2024-02-01'] + ) + date_type: ( + page_engine_backend_internal_usermanager_core_domain.GoalDateType | None + ) = Field(None, description='We can have monthly goals now') + lower_value: float | None = Field( + None, description='May be null if we have only upper value in the threshold' + ) + metric_id: str + name: str + objective_value_type: ( + page_engine_backend_internal_usermanager_core_domain.GoalObjectiveValueType + | None + ) = Field( + None, + description='### Single objective value\n`value` is used for `single` `objective_value_type`\n### Multiple objective values\n`values` is used for `multiple` `objective_value_type`', + ) + type: page_engine_backend_internal_usermanager_core_domain.GoalType = Field( + ..., + description='### Threshold goal\n`upper_value` and `lower_value` are used for threshold goals\n### Objective goal\n`date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals', + ) + upper_value: float | None = Field( + None, description='Is set when the goal is threshold' + ) + value: float | None = Field( + None, description='Set when the goal is single objective' + ) + values: ( + list[page_engine_backend_internal_usermanager_core_domain.GoalValue] | None + ) = Field(None, description='Set when the goal is multiple objective') + + +class InternalGoal(BaseModel): + date: date_aliased | None = Field( + None, + description='Set when the goal is objective, will contain dates between date_from and date_to', + examples=['2024-01-01'], + ) + date_from: date_aliased | None = Field( + None, + description='Set when the goal is objective, may be set when the goal is threshold', + examples=['2024-01-01'], + ) + date_to: date_aliased | None = Field( + None, + description='Set when the goal is objective, may be set when the goal is threshold', + examples=['2024-02-01'], + ) + date_type: ( + page_engine_backend_internal_usermanager_core_domain.GoalDateType | None + ) = Field(None, description='We can have monthly goals now') + id: str + metric_id: str + metric_name: str + name: str + project_domain: str + type: page_engine_backend_internal_usermanager_core_domain.GoalType + value: float | None = Field( + None, + description='Is set to upper value when type is threshold and objective value when type is objective', + ) + + +class InternalGoalsListResponse(BaseModel): + items: list[InternalGoal] | None = None + page: int | None = None + total: int | None = None + + +class KeywordsListMembersResponse(BaseModel): + items: list[Member] | None = None + page: int | None = None + total: int | None = None + + +class PagespeedCrawlerAddKeywordsForm(BaseModel): + keywords: list[PagespeedKeywordsForm] + + +class PagespeedCrawlerCreateForm(BaseModel): + crawler_type: CrawlerType | None = None + device: str + interval: Interval | None = None + invisible: bool | None = None + keyword_names: list[str] | None = None + keywords: list[PagespeedKeywordsForm] | None = None + name: str + target_id: str | None = None + urls: list[str] | None = None + + +class PagespeedCrawlerCreateResponse(BaseModel): + crawler_type: str | None = None + device: str | None = None + id: str | None = None + interval: str | None = None + keywords: list[Keyword] | None = None + name: str | None = None + not_found_keywords: list[str] | None = None + status: str | None = None + total_keywords: int | None = None + total_urls: int | None = None + urls: list[PagespeedURL] | None = None + + +class PagespeedCrawlersInternalListResponse(BaseModel): + items: list[PagespeedInternalCrawler] | None = None + page: int | None = None + total: int | None = None + + +class ProductTiersGroup(BaseModel): + product: str | None = None + tiers: list[page_engine_backend_internal_usermanager_core_domain.Tier] | None = None + + +class ProjectAddMembersForm(BaseModel): + members: list[str] + product_id: ( + page_engine_backend_internal_usermanager_core_domain.ProductID | None + ) = Field( + None, + description='for backward compatibility no validate is required and assign SEO in case its empty', + ) + role: str + + +class ProjectDeleteMembersForm(BaseModel): + members: list[str] + product_id: ( + page_engine_backend_internal_usermanager_core_domain.ProductID | None + ) = Field( + None, + description='for backward compatibility no validate is required and assign SEO in case its empty', + ) + + +class ProjectItem(BaseModel): + color: str | None = None + core_conflicts: bool | None = None + domain: str | None = None + draft_keywords_count: int | None = None + draft_pagespeed_urls_count: int | None = None + draft_project: BaseProject | None = None + draft_segments_count: int | None = None + draft_updated: bool | None = None + favourite: bool | None = None + goals_count: int | None = None + id: str | None = None + is_draft: bool | None = None + is_out_of_sync: bool | None = None + keywords_count: int | None = None + pagespeed_urls_count: int | None = None + publish_status: ( + page_engine_backend_internal_usermanager_core_domain.ProjectStatus | None + ) = None + published_at: str | None = None + publishing_failed_reason: str | None = None + role: rbac.RoleName | None = None + segments_count: int | None = None + shared_with: int | None = None + targets_stats: TargetsStats | None = None + title: str | None = None + total_invited_members: int | None = None + + +class ProjectListResponse(BaseModel): + items: list[ProjectItem] | None = None + page: int | None = None + total: int | None = None + + +class ProjectListV2Response(BaseModel): + items: list[ProjectItemResponse] | None = None + page: int | None = None + total: int | None = None + + +class ProjectUpsertResponse(BaseModel): + color: str | None = None + domain: str | None = None + id: str | None = None + is_draft: bool | None = None + publish_status: ( + page_engine_backend_internal_usermanager_core_domain.ProjectStatus | None + ) = None + title: str | None = None + + +class ProjectsGetResponse(BaseModel): + benchmarks_count: int | None = None + color: str | None = None + core_id: int | None = None + crawlers_count: int | None = None + created_at: str | None = None + domain: str | None = None + draft_updated: bool | None = None + favourite: bool | None = None + goals_count: int | None = None + id: str | None = None + is_draft: bool | None = None + is_out_of_sync: bool | None = None + keywords_count: int | None = None + pagespeed_urls_count: int | None = None + preferred_urls_count: int | None = None + publish_status: ( + page_engine_backend_internal_usermanager_core_domain.ProjectStatus | None + ) = None + published_at: str | None = None + publishing_failed_reason: str | None = None + role: rbac.RoleName | None = None + segments_count: int | None = None + shared_with: int | None = None + targets_count: int | None = None + targets_stats: TargetsStats | None = None + title: str | None = None + + +class TargetCreateForm(BaseModel): + targets: list[TargetForm] = Field(..., min_length=1) + + +class TargetListResponse(BaseModel): + items: list[Target] | None = None + page: int | None = None + total: int | None = None + + +class TiersResponse(BaseModel): + products: list[ProductTiersGroup] | None = None + tiers: list[page_engine_backend_internal_usermanager_core_domain.Tier] | None = None + + +class TransferProductProject(BaseModel): + product_id: page_engine_backend_internal_usermanager_core_domain.ProductID + project_ids: list[str] = Field(..., min_length=1) + + +class UsersCreateForm(BaseModel): + email: str + es_type: str + workspace: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceUpsert | None + ) = None + + +class WorkspaceOwnershipEligibilityResponse(BaseModel): + user: WorkspaceOwnershipUser | None = None + valid: bool | None = None + + +class WorkspaceProduct(BaseModel): + id: page_engine_backend_internal_usermanager_core_domain.ProductID | None = None + is_transferable: bool | None = None + name: str | None = None + + +class WorkspaceUserRole(BaseModel): + role: rbac.RoleName | None = None + + +class WorkspacesMembersResponse(BaseModel): + items: list[WorkspaceMember] | None = None + page: int | None = None + total: int | None = None + + +class AdminProjectsResponse(BaseModel): + items: ( + list[page_engine_backend_internal_usermanager_core_domain.AdminProject] | None + ) = None + next_cursor: str | None = None + total: int | None = None + + +class AdobeBulkStatusResponse(BaseModel): + statuses: list[AdobeCredentialStatusInfo] | None = None + + +class GetLimitsResponse(BaseModel): + limits: Limits | None = None + + +class LogFileAnalysisConnectionSettings(BaseModel): + connectionName: str + deliveryType: str | None = None + fallbackValues: LogFileAnalysisFallbackValues | None = None + ingestSchema: LogFileAnalysisIngestSchema | None = None + + +class LogFileAnalysisWorkspaceConnectionPayload(BaseModel): + project_ids: list[str] + settings: LogFileAnalysisConnectionSettings + + +class TransactionsCreateFormV2(BaseModel): + amount: conint(ge=1) + global_limit_key: str | None = None + owner_id: int | None = None + product_limit: TxProductLimit | None = None + receipt_id: int | None = None + service_id: constr(max_length=255) + service_type: str + title: constr(max_length=255) | None = None + workspace_id: str + + +class WorkspaceConnectionSettings(BaseModel): + adobe_analytics: AdobeAnalyticsConnectionSettings | None = None + google_ads: GoogleAdsConnectionSettings | None = None + google_analytics: GoogleAnalyticsConnectionSettings | None = None + google_console: GoogleSearchConsoleConnectionSettings | None = None + log_file_analysis: LogFileAnalysisConnectionSettings | None = None + + +class WorkspaceListItem(BaseModel): + created_at: str | None = None + expires_at: str | None = None + icon: str | None = None + id: str | None = None + is_admin: bool | None = None + is_master: bool | None = None + keywords_count: int | None = None + last_updated_at: str | None = None + owner: str | None = None + pagespeed_urls_count: int | None = None + parent: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceParent | None + ) = None + parent_id: str | None = None + partnership_enabled: bool | None = None + product_tiers: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductTier] | None + ) = None + products: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductID] | None + ) = None + published_projects_count: int | None = None + resources: ( + dict[ + str, + dict[str, page_engine_backend_internal_usermanager_core_domain.EntityLimit], + ] + | None + ) = None + role: str | None = None + settings: WorkspaceSettings | None = None + shared_with: int | None = None + status: str | None = None + subscription_tier: ( + page_engine_backend_internal_usermanager_core_domain.Tier | None + ) = None + title: str | None = None + users: int | None = None + + +class WorkspaceResourcesTransferV2Form(BaseModel): + resources: CreateWorkspaceV2Resources | None = None + + +class AdminProjectTransferForm(BaseModel): + projects: list[TransferProductProject] = Field(..., min_length=1) + target_workspace_id: str + target_workspace_owner_id: int + + +class CreateWorkspaceV2Form(BaseModel): + icon: str | None = None + owner: str | None = None + parentID: str | None = None + resources: CreateWorkspaceV2Resources + title: str + userID: int | None = None + + +class GoalsListResponse(BaseModel): + items: list[page_engine_backend_internal_usermanager_core_domain.Goal] | None = None + page: int | None = None + total: int | None = None + + +class InternalWorkspace(BaseModel): + created_at: str | None = None + icon: str | None = None + id: str | None = None + is_master: bool | None = None + last_updated_at: str | None = None + parent: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceParent | None + ) = None + parent_id: str | None = None + partnership_enabled: bool | None = None + product_tiers: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductTier] | None + ) = None + products: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductID] | None + ) = None + status: str | None = None + subscription_tier: ( + page_engine_backend_internal_usermanager_core_domain.Tier | None + ) = None + title: str | None = None + + +class WorkspaceLightResponse(BaseModel): + icon: str | None = None + id: str | None = None + is_admin: bool | None = None + is_master: bool | None = None + parent: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceParent | None + ) = None + parent_id: str | None = None + partnership_enabled: bool | None = None + product_tiers: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductTier] | None + ) = None + products: list[str] | None = None + role: str | None = None + shared_with: int | None = None + status: str | None = None + title: str | None = None + users: int | None = None + + +class WorkspaceResponse(BaseModel): + created_at: str | None = None + expires_at: str | None = None + icon: str | None = None + id: str | None = None + is_admin: bool | None = None + is_master: bool | None = None + keywords_count: int | None = None + last_updated_at: str | None = None + owner: str | None = None + pagespeed_urls_count: int | None = None + parent: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceParent | None + ) = None + parent_id: str | None = None + partnership_enabled: bool | None = None + product_tiers: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductTier] | None + ) = None + products: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductID] | None + ) = None + published_projects_count: int | None = None + role: str | None = None + status: str | None = None + subscription_tier: ( + page_engine_backend_internal_usermanager_core_domain.Tier | None + ) = None + title: str | None = None + users: int | None = None + + +class WorkspaceV2Response(BaseModel): + created_at: str | None = None + expires_at: str | None = None + icon: str | None = None + id: str | None = None + is_admin: bool | None = None + is_master: bool | None = None + keywords_count: int | None = None + last_updated_at: str | None = None + owner: str | None = None + pagespeed_urls_count: int | None = None + parent: ( + page_engine_backend_internal_usermanager_core_domain.WorkspaceParent | None + ) = None + parent_id: str | None = None + partnership_enabled: bool | None = None + product_tiers: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductTier] | None + ) = None + products: ( + list[page_engine_backend_internal_usermanager_core_domain.ProductID] | None + ) = None + published_projects_count: int | None = None + resources: ( + dict[ + str, + dict[str, page_engine_backend_internal_usermanager_core_domain.EntityLimit], + ] + | None + ) = None + role: str | None = None + settings: WorkspaceSettings | None = None + shared_with: int | None = None + status: str | None = None + subscription_tier: ( + page_engine_backend_internal_usermanager_core_domain.Tier | None + ) = None + title: str | None = None + users: int | None = None + + +class WorkspacesListResponse(BaseModel): + items: list[WorkspaceListItem] | None = None + page: int | None = None + total: int | None = None + + +class InternalWorkspaceConnectionSettings(BaseModel): + adobe_analytics: InternalAdobeAnalyticsConnectionSettings | None = None + google_ads: GoogleAdsConnectionSettings | None = None + google_analytics: GoogleAnalyticsConnectionSettings | None = None + google_console: GoogleSearchConsoleConnectionSettings | None = None + log_file_analysis: LogFileAnalysisConnectionSettings | None = None + + +class WorkspaceConnection(BaseModel): + data_source: str | None = None + id: int | None = None + owner: WorkspaceConnectionOwner | None = None + projects: list[WorkspaceConnectionProject] | None = None + settings: WorkspaceConnectionSettings | None = None + status: WorkspaceConnectionStatus | None = None + updated_at: str | None = None + + +class WorkspaceConnectionDetails(BaseModel): + data_source: str | None = None + id: int | None = None + owner: WorkspaceConnectionOwner | None = None + project_ids: list[str] | None = None + settings: WorkspaceConnectionSettings | None = None + status: WorkspaceConnectionStatus | None = None + updated_at: str | None = None + + +class WorkspaceConnectionItem(BaseModel): + data_source: str | None = None + id: int | None = None + owner: WorkspaceConnectionOwner | None = None + projects: list[WorkspaceConnectionProject] | None = None + settings: WorkspaceConnectionSettings | None = None + status: WorkspaceConnectionStatus | None = None + updated_at: str | None = None + + +class WorkspaceConnectionsResponse(BaseModel): + items: list[WorkspaceConnectionItem] | None = None + page_number: int | None = None + total_items: int | None = None + + +class InternalWorkspaceConnectionDetails(BaseModel): + data_source: str | None = None + id: int | None = None + owner: WorkspaceConnectionOwner | None = None + project_ids: list[str] | None = None + settings: InternalWorkspaceConnectionSettings | None = None + status: WorkspaceConnectionStatus | None = None + updated_at: str | None = None + + +class Condition(BaseModel): + column_name: str + operator: str + sub_conditions: list[SubCondition] | None = None + value: str + values: list[str] = Field(..., max_length=5000) + + +class SegmentInternalResponse(BaseModel): + conditions: list[Condition] | None = None + created_at: str | None = None + filters: page_engine_backend_internal_usermanager_core_domain.Filter | None = None + id: str | None = None + name: str | None = None + updated_at: str | None = None + + +class SegmentListByWorkspaceResponse(BaseModel): + items: list[SegmentWithProjectResponse] | None = None + page: int | None = None + total: int | None = None + + +class SegmentListInternalResponse(BaseModel): + items: list[SegmentInternalResponse] | None = None + page: int | None = None + total: int | None = None + + +class SegmentListResponse(BaseModel): + items: list[SegmentResponse] | None = None + page: int | None = None + total: int | None = None + + +class SegmentResponse(BaseModel): + conditions: list[Condition] | None = None + created_at: str | None = None + filters: Filter | None = None + id: str | None = None + name: str | None = None + updated_at: str | None = None + + +class SegmentUpsertForm(BaseModel): + conditions: list[Condition] | None = None + filters: Filter | None = Field( + None, + description='todo: after conditions removed this field should be required.', + ) + name: str + + +class SegmentWithProjectResponse(BaseModel): + conditions: list[Condition] | None = None + created_at: str | None = None + filters: Filter | None = None + id: str | None = None + name: str | None = None + project_id: str | None = None + project_name: str | None = None + updated_at: str | None = None + + +class SubCondition(BaseModel): + condition: Condition + logic_operator: LogicOperator + + +Filter.model_rebuild() +TagTreeItem.model_rebuild() +TagTreeItemV2.model_rebuild() +ActivationPanelWorkspaceWithLimits.model_rebuild() +Condition.model_rebuild() +SegmentListByWorkspaceResponse.model_rebuild() +SegmentListResponse.model_rebuild() diff --git a/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/http_server.py b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/http_server.py new file mode 100644 index 000000000..e86250b3d --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/http_server.py @@ -0,0 +1,14 @@ +# generated by datamodel-codegen: +# filename: openapi3.json +# timestamp: 2026-06-15T17:23:07+00:00 + +from __future__ import annotations + +from typing import Any + +from pydantic import BaseModel + + +class BasicResponse(BaseModel): + errors: dict[str, Any] | None = None + message: str | None = None diff --git a/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/page_engine_backend_internal_usermanager_core_domain.py b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/page_engine_backend_internal_usermanager_core_domain.py new file mode 100644 index 000000000..77ce301db --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/page_engine_backend_internal_usermanager_core_domain.py @@ -0,0 +1,459 @@ +# generated by datamodel-codegen: +# filename: openapi3.json +# timestamp: 2026-06-15T17:23:07+00:00 + +from __future__ import annotations + +from datetime import date as date_aliased +from enum import Enum +from typing import Any + +from pydantic import BaseModel, Field, conint + +from . import rbac + + +class DayOfWeek(Enum): + DayOfWeekMonday = 'monday' + DayOfWeekTuesday = 'tuesday' + DayOfWeekWednesday = 'wednesday' + DayOfWeekThursday = 'thursday' + DayOfWeekFriday = 'friday' + DayOfWeekSaturday = 'saturday' + DayOfWeekSunday = 'sunday' + + +class EntityLimit(BaseModel): + drafted: int | None = None + live: int | None = None + remaining: int | None = None + total: int | None = None + + +class EsType(Enum): + Client = 'client' + Freelancer = 'freelancer' + ProServe = 'pro-serve' + CSM = 'csm' + Sales = 'sales' + + +class FilterOperator(Enum): + FilterLogicalOpAnd = 'and' + FilterLogicalOpOr = 'or' + FilterOpEqual = 'eq' + FilterOpNotEqual = 'neq' + FilterOpBegin = 'begins_with' + FilterOpNotBegin = 'not_begins_with' + FilterOpEnd = 'ends_with' + FilterOpNotEnd = 'not_ends_with' + FilterOpContain = 'contains' + FilterOpNotContain = 'not_contains' + FilterOpGreater = 'gt' + FilterOpLess = 'lt' + FilterOpGreaterEqual = 'gte' + FilterOpLessEqual = 'lte' + FilterOPInList = 'in' + + +class GlobalLimitType(Enum): + GlobalLimitTypeServiceUnits = 'service_units' + + +class GoalDateType(Enum): + MonthGoalDateType = 'month' + QuarterGoalDdateType = 'quarter' + + +class GoalObjectiveValueType(Enum): + SingleGoalObjectiveValueType = 'single' + MultipleGoalObjectiveValueType = 'multiple' + + +class GoalType(Enum): + ThresholdGoalType = 'threshold' + ObjectiveGoalType = 'objective' + + +class GoalValue(BaseModel): + date: date_aliased = Field(..., examples=['2024-01-01']) + value: float + + +class InternalProject(BaseModel): + benchmarks: int | None = None + core_id: int | None = None + crawlers: int | None = None + domain: str | None = None + id: str | None = None + keywords: int | None = None + preferred_urls: int | None = None + published_at: str | None = None + publishing_failed_reason: str | None = None + segments: int | None = None + tags: int | None = None + targets: int | None = None + title: str | None = None + + +class KeywordMetrics(BaseModel): + position: int | None = None + search_volume: int | None = None + traffic: float | None = None + + +class MembershipStatus(Enum): + MembershipStatusMember = 'member' + MembershipStatusGuest = 'guest' + MembershipStatusBasic = 'basic' + + +class MetricRangeFilter(BaseModel): + field: str | None = None + from_: float | None = Field(None, alias='from') + to: float | None = None + + +class ProductID(Enum): + ProductIDSEO = 'seo' + ProductIDAI = 'ai' + ProductIDSI = 'si' + ProductIDCI = 'ci' + + +class ProductTierIDs(BaseModel): + product_id: ProductID + tier_id: str + + +class ProductTierWithTimestamps(BaseModel): + created_at: str | None = None + last_updated_at: str | None = None + product_id: ProductID | None = None + tier_id: str | None = None + + +class ProjectOwner(BaseModel): + email: str | None = None + id: str | None = None + + +class ProjectStatus(Enum): + ProjectStatusDraft = 'draft' + ProjectStatusLive = 'live' + ProjectStatusPublishing = 'publishing' + ProjectStatusInitialPublishFailed = 'initial_publish_failed' + ProjectStatusLiveWithUnpublishedUpdates = 'live_with_unpublished_updates' + ProjectStatusSubsequentPublishFailed = 'subsequent_publish_failed' + + +class SOXProductActivation(BaseModel): + product_activation_date: str | None = None + product_name: str | None = None + + +class SOXWorkspace(BaseModel): + ownerID: int | None = None + products: list[SOXProductActivation] | None = None + status: str | None = None + subscription_activation_date: str | None = None + subscription_expiration_date: str | None = None + subscription_id: int | None = None + workspace_name: str | None = None + workspace_owner: str | None = None + + +class SegmentColumn(Enum): + ColUrl = 'url' + ColUrlList = 'url_list' + ColKeyword = 'keyword' + ColKeywordList = 'keyword_list' + ColTraffic = 'traffic' + ColPosition = 'position' + ColSearchVolume = 'search_volume' + ColKeywordIntent = 'keyword_intent' + ColCountry = 'country' + ColDevice = 'device' + ColClicks = 'clicks' + ColImpressions = 'impressions' + ColCtr = 'ctr' + ColGscPosition = 'gsc_position' + + +class TagWithSearch(BaseModel): + id: str | None = None + name: str | None = None + parent_id: str | None = None + + +class Tier(BaseModel): + id: str | None = None + name: str | None = None + rank: int | None = None + + +class TransactionOperation(Enum): + TransactionOperationDebit = 'debit' + TransactionOperationCredit = 'credit' + + +class TransactionServiceType(Enum): + TransactionServiceTypeJobHourly = 'job_hourly' + TransactionServiceTypeJobFixed = 'job_fixed' + TransactionServiceTypeSEOWorkflow = 'seo_workflow' + TransactionServiceTypeServiceFee = 'service_fee' + TransactionServiceTypeSICrawler = 'si_crawler' + TransactionServiceTypeAIInsights = 'ai_insights' + + +class TxProductLimit(BaseModel): + enterprise_limit_key: str | None = Field(None, examples=['pages']) + product_id: ProductID | None = Field(None, examples=['si']) + + +class UsedLimit(BaseModel): + drafted: int | None = None + total: int | None = None + used: int | None = None + + +class User(BaseModel): + e_mail: str | None = None + es_type: EsType | None = None + id: int | None = None + invite_accepted: bool | None = None + + +class WorkspaceExpiration(BaseModel): + expires_at: str | None = None + + +class WorkspaceParent(BaseModel): + id: str | None = None + title: str | None = None + + +class WorkspacePartnership(BaseModel): + is_partnered: bool | None = None + + +class WorkspaceProductResources(BaseModel): + product_id: ProductID | None = Field(None, examples=['si']) + resources: dict[str, int] | None = None + + +class WorkspaceResourcesGlobal(BaseModel): + api_units: conint(ge=0) | None = None + logfile_analysis_mb_used: conint(ge=0) | None = None + service_credits: conint(ge=0) | None = None + service_units: conint(ge=0) | None = None + users: conint(ge=0) | None = None + + +class WorkspaceResourcesSEO(BaseModel): + keywords: conint(ge=0) | None = None + pagespeed_urls: conint(ge=0) | None = None + projects: conint(ge=0) | None = None + + +class WorkspaceResourcesV2(BaseModel): + general: WorkspaceResourcesGlobal | None = None + product_resources: list[WorkspaceProductResources] | None = None + seo: WorkspaceResourcesSEO | None = None + + +class WorkspaceTotalLimits(BaseModel): + general: WorkspaceResourcesGlobal | None = None + seo: WorkspaceResourcesSEO | None = None + + +class WorkspaceUpsert(BaseModel): + icon: str | None = None + partnership_enabled: bool | None = False + product_tiers: list[ProductTierIDs] | None = None + title: str + + +class AdminProject(BaseModel): + created_at: str | None = None + domain: str | None = None + id: str | None = None + is_transferable: bool | None = None + keywords: int | None = None + last_updated_at: str | None = None + max_pages_per_crawler: int | None = None + owner: ProjectOwner | None = None + pages: int | None = None + pagespeed_urls: int | None = None + product_type: ProductID | None = None + prompts: int | None = None + status: ProjectStatus | None = None + title: str | None = None + + +class Filter(BaseModel): + col: SegmentColumn | None = None + filters: list[Filter] | None = None + op: FilterOperator | None = None + value: Any | None = None + + +class GeneralResources(BaseModel): + api_units: UsedLimit | None = None + service_credits: UsedLimit | None = None + service_units: UsedLimit | None = None + users: UsedLimit | None = None + + +class Goal(BaseModel): + date_from: date_aliased | None = Field( + None, description='Is set when the goal is objective', examples=['2024-01-01'] + ) + date_to: date_aliased | None = Field( + None, description='Is set when the goal is objective', examples=['2024-02-01'] + ) + date_type: GoalDateType | None = Field( + None, description='We can have monthly goals now' + ) + id: str = Field(..., description='ID is the goal ID in the system') + lower_value: float | None = Field( + None, description='May be null if we have only upper value in the threshold' + ) + metric_id: str + name: str + objective_value_type: GoalObjectiveValueType | None = Field( + None, + description='### Single objective value\n`value` is used for `single` `objective_value_type`\n### Multiple objective values\n`values` is used for `multiple` `objective_value_type`', + ) + type: GoalType = Field( + ..., + description='### Threshold goal\n`upper_value` and `lower_value` are used for threshold goals\n### Objective goal\n`date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals', + ) + upper_value: float | None = Field( + None, description='Is set when the goal is threshold' + ) + value: float | None = Field( + None, description='Set when the goal is single objective' + ) + values: list[GoalValue] | None = Field( + None, description='Set when the goal is multiple objective' + ) + + +class InternalProjectV2(BaseModel): + core_id: int | None = None + domain: str | None = None + id: str | None = None + published_at: str | None = None + role: rbac.RoleName | None = None + title: str | None = None + workspace_id: str | None = None + + +class InternalProjectV2List(BaseModel): + projects: list[InternalProjectV2] | None = None + total: int | None = None + + +class KeywordTags(BaseModel): + items: list[TagWithSearch] | None = None + total: int | None = None + + +class KeywordWithMetrics(BaseModel): + id: str | None = None + name: str | None = None + position: int | None = None + search_volume: int | None = None + tags: KeywordTags | None = None + traffic: float | None = None + url: str | None = None + + +class KeywordsWithMetricsResponse(BaseModel): + all_total: int | None = None + items: list[KeywordWithMetrics] | None = None + page: int | None = None + total: int | None = None + unassigned: int | None = None + + +class KeywordsWithTagsRequestAndTagID(BaseModel): + draft: bool | None = None + filters: list[MetricRangeFilter] | None = None + limit: int | None = None + page: int | None = None + search: str | None = None + sort: str | None = None + sort_dir: str | None = None + tag_id: str | None = None + unassigned_only: bool | None = None + with_hierarchy: bool | None = None + + +class KeywordsWithTagsRequestAndTagIDs(BaseModel): + draft: bool | None = None + filters: list[MetricRangeFilter] | None = None + limit: int | None = None + page: int | None = None + search: str | None = None + sort: str | None = None + sort_dir: str | None = None + tag_ids: list[str] | None = None + unassigned_only: bool | None = None + with_hierarchy: bool | None = None + + +class Product(BaseModel): + id: ProductID | None = None + limits_enabled: bool | None = None + name: str | None = None + + +class ProductProjectMetadata(BaseModel): + id: str | None = None + role: rbac.RoleName | None = None + shared_with: int | None = None + + +class ProductResources(BaseModel): + resources: dict[str, UsedLimit] | None = None + tier: Tier | None = None + + +class ProductTier(BaseModel): + product: Product | None = None + tier: Tier | None = None + + +class Transaction(BaseModel): + amount: int | None = None + balance_after: int | None = None + balance_before: int | None = None + date: str | None = None + global_limit_key: GlobalLimitType | None = None + id: str | None = None + iid: int | None = None + operation: TransactionOperation | None = None + owner_id: int | None = None + owner_name: str | None = None + product_limit: TxProductLimit | None = None + receipt_id: int | None = None + receipt_name: str | None = None + reference_transaction_id: str | None = None + service_id: str | None = None + service_type: TransactionServiceType | None = None + title: str | None = None + workspace_id: str | None = None + + +class General(BaseModel): + resources: GeneralResources | None = None + + +class NewWorkspaceResources(BaseModel): + general: General | None = None + product_resources: dict[str, ProductResources] | None = None + + +Filter.model_rebuild() diff --git a/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/rbac.py b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/rbac.py new file mode 100644 index 000000000..20e26bc8e --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/python/serenity_user_manager/rbac.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: openapi3.json +# timestamp: 2026-06-15T17:23:07+00:00 + +from __future__ import annotations + +from enum import Enum + + +class RoleName(Enum): + RoleWorkspaceOwner = 'role/workspace/owner' + RoleWorkspaceAdmin = 'role/workspace/admin' + RoleWorkspaceEditor = 'role/workspace/editor' + RoleWorkspaceViewer = 'role/workspace/viewer' + RoleWorkspaceCollaborator = 'role/workspace/collaborator' + RoleWorkspaceContentWriter = 'role/workspace/content-writer' + RoleProjectEditor = 'role/project/editor' + RoleProjectViewer = 'role/project/viewer' + RoleKeywordListEditor = 'role/keywords_list/editor' + RoleKeywordListViewer = 'role/keywords_list/viewer' diff --git a/packages/spacecat-shared-user-manager-client/spec/usermanager_swagger.yaml b/packages/spacecat-shared-user-manager-client/spec/usermanager_swagger.yaml new file mode 100644 index 000000000..cff9156c2 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/spec/usermanager_swagger.yaml @@ -0,0 +1,19390 @@ +basePath: /enterprise/users/api +definitions: + handlers.APIUnitsResponse: + properties: + api_units: + type: integer + type: object + handlers.ActivationPanelAdminActivity: + properties: + action: + type: string + admin_email: + type: string + admin_id: + type: integer + corporate_account_id: + type: integer + created_at: + type: string + log_id: + type: integer + owner_id: + type: integer + section: + type: string + subscription_id: + type: integer + user_email: + type: string + workspace_id: + type: string + type: object + handlers.ActivationPanelAdminActivityResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.ActivationPanelAdminActivity' + type: array + limit: + type: integer + page: + type: integer + total: + type: integer + type: object + handlers.ActivationPanelBillingStatusCoreAccountId: + properties: + corporate_account_id: + type: integer + subscription_id: + type: integer + type: object + handlers.ActivationPanelOwner: + properties: + email: + type: string + id: + type: integer + type: object + handlers.ActivationPanelPermissionsResponse: + properties: + permissions: + items: + $ref: '#/definitions/handlers.activationPanelPermission' + type: array + type: object + handlers.ActivationPanelWorkspace: + properties: + corporate_account_id: + type: integer + created_at: + type: string + expiration_date: + type: string + icon: + type: string + id: + type: string + last_updated_at: + type: string + owner: + $ref: '#/definitions/handlers.ActivationPanelOwner' + parent_id: + type: string + partnership_enabled: + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps' + type: array + status: + type: string + subscription_id: + type: integer + subscription_rank: + type: integer + title: + type: string + type: object + handlers.ActivationPanelWorkspaceListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.ActivationPanelWorkspace' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.ActivationPanelWorkspaceMetadata: + properties: + icon: + example: https://example.com/icon.png + type: string + id: + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + parent_id: + example: "" + type: string + title: + example: My Workspace + type: string + type: object + handlers.ActivationPanelWorkspaceWithLimits: + properties: + api_units: + type: integer + children: + items: + $ref: '#/definitions/handlers.ActivationPanelWorkspaceWithLimits' + type: array + corporate_account_id: + type: integer + created_at: + type: string + expiration_date: + type: string + icon: + type: string + id: + type: string + keywords: + type: integer + last_updated_at: + type: string + owner: + $ref: '#/definitions/handlers.ActivationPanelOwner' + pagespeed_urls: + type: integer + parent_id: + type: string + partnership_enabled: + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps' + type: array + projects: + type: integer + service_credits: + type: integer + status: + type: string + subscription_id: + type: integer + subscription_rank: + type: integer + title: + type: string + total_api_units: + type: integer + total_keywords: + type: integer + total_pagespeed_urls: + type: integer + total_projects: + type: integer + total_service_credits: + type: integer + total_users: + type: integer + users: + type: integer + type: object + handlers.AdminProjectsResponse: + properties: + items: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.AdminProject' + type: array + next_cursor: + type: string + total: + type: integer + type: object + handlers.AdobeAnalyticsConnectionCreateSettings: + description: Adobe Analytics connection settings + properties: + adobe_proxy_auth_id: + type: string + dimension_date_range_day_name: + type: string + dimension_entry_page_url_name: + type: string + dimension_marketing_channel_detail_name: + type: string + dimension_marketing_channel_name: + type: string + global_company_id: + type: string + metric_bounce_rate_name: + type: string + metric_target_conversion_name: + type: string + metric_visits_name: + type: string + rs_name: + type: string + rsid: + type: string + required: + - adobe_proxy_auth_id + - dimension_entry_page_url_name + - dimension_marketing_channel_detail_name + - dimension_marketing_channel_name + - global_company_id + - metric_bounce_rate_name + - metric_target_conversion_name + - metric_visits_name + - rs_name + - rsid + type: object + handlers.AdobeAnalyticsConnectionCreateSettingsV2: + description: Adobe Analytics connection settings (v2) with credential_id instead + of adobe_proxy_auth_id + properties: + credential_id: + type: integer + dimension_date_range_day_name: + type: string + dimension_entry_page_url_name: + type: string + dimension_marketing_channel_detail_name: + type: string + dimension_marketing_channel_name: + type: string + global_company_id: + type: string + metric_bounce_rate_name: + type: string + metric_target_conversion_name: + type: string + metric_visits_name: + type: string + rs_name: + type: string + rsid: + type: string + required: + - credential_id + - dimension_entry_page_url_name + - dimension_marketing_channel_detail_name + - dimension_marketing_channel_name + - global_company_id + - metric_bounce_rate_name + - metric_target_conversion_name + - metric_visits_name + - rs_name + - rsid + type: object + handlers.AdobeAnalyticsConnectionSettings: + description: Adobe Analytics connection settings (public, uses credential_id) + properties: + credential_id: + type: integer + dimension_date_range_day_name: + type: string + dimension_entry_page_url_name: + type: string + dimension_marketing_channel_detail_name: + type: string + dimension_marketing_channel_name: + type: string + global_company_id: + type: string + metric_bounce_rate_name: + type: string + metric_target_conversion_name: + type: string + metric_visits_name: + type: string + rs_name: + type: string + rsid: + type: string + type: object + handlers.AdobeAnalyticsConnectionUpdateSettings: + description: Adobe Analytics connection settings for update request + properties: + adobe_proxy_auth_id: + type: string + dimension_date_range_day_name: + type: string + dimension_entry_page_url_name: + type: string + dimension_marketing_channel_detail_name: + type: string + dimension_marketing_channel_name: + type: string + global_company_id: + type: string + metric_bounce_rate_name: + type: string + metric_target_conversion_name: + type: string + metric_visits_name: + type: string + rs_name: + type: string + rsid: + type: string + required: + - adobe_proxy_auth_id + - dimension_entry_page_url_name + - dimension_marketing_channel_detail_name + - dimension_marketing_channel_name + - global_company_id + - metric_bounce_rate_name + - metric_target_conversion_name + - metric_visits_name + - rs_name + - rsid + type: object + handlers.AdobeAnalyticsConnectionUpdateSettingsV2: + description: Adobe Analytics connection settings for update (v2) with credential_id + properties: + credential_id: + type: integer + dimension_date_range_day_name: + type: string + dimension_entry_page_url_name: + type: string + dimension_marketing_channel_detail_name: + type: string + dimension_marketing_channel_name: + type: string + global_company_id: + type: string + metric_bounce_rate_name: + type: string + metric_target_conversion_name: + type: string + metric_visits_name: + type: string + rs_name: + type: string + rsid: + type: string + required: + - credential_id + - dimension_entry_page_url_name + - dimension_marketing_channel_detail_name + - dimension_marketing_channel_name + - global_company_id + - metric_bounce_rate_name + - metric_target_conversion_name + - metric_visits_name + - rs_name + - rsid + type: object + handlers.AdobeAnalyticsValidateRequest: + description: Request body for validating Adobe Analytics metrics and dimensions + properties: + dimension: + type: string + metric: + type: string + rsid: + type: string + required: + - metric + - rsid + type: object + handlers.AdobeAnalyticsValidateResponse: + description: Response for Adobe Analytics validation + properties: + message: + type: string + valid: + type: boolean + type: object + handlers.AdobeAnalyticsValidateV2Request: + description: V2 request body for validating Adobe Analytics metrics and dimensions + properties: + credential_id: + type: integer + dimension: + type: string + global_company_id: + type: string + metric: + type: string + rsid: + type: string + required: + - credential_id + - global_company_id + - metric + - rsid + type: object + handlers.AdobeAnalyticsWorkspaceConnectionCreate: + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.AdobeAnalyticsConnectionCreateSettings' + type: object + handlers.AdobeAnalyticsWorkspaceConnectionCreateV2: + description: V2 request body for creating Adobe Analytics workspace connection + (uses credential_id) + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.AdobeAnalyticsConnectionCreateSettingsV2' + type: object + handlers.AdobeAnalyticsWorkspaceConnectionUpdate: + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.AdobeAnalyticsConnectionUpdateSettings' + type: object + handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2: + description: V2 request body for updating Adobe Analytics workspace connection + (uses credential_id) + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.AdobeAnalyticsConnectionUpdateSettingsV2' + type: object + handlers.AdobeBulkStatusRequest: + properties: + adobe_proxy_auth_ids: + items: + type: string + minItems: 1 + type: array + required: + - adobe_proxy_auth_ids + type: object + handlers.AdobeBulkStatusResponse: + properties: + statuses: + items: + $ref: '#/definitions/handlers.AdobeCredentialStatusInfo' + type: array + type: object + handlers.AdobeCompanyInfo: + properties: + company_name: + type: string + global_company_id: + type: string + type: object + handlers.AdobeCredentialCreatedResponse: + description: V2 credential creation response returning internal credential_id + properties: + credential_id: + type: integer + type: object + handlers.AdobeCredentialStatusInfo: + properties: + adobe_proxy_auth_id: + type: string + organizations: + items: + $ref: '#/definitions/handlers.AdobeOrganizationInfo' + type: array + status: + type: string + type: object + handlers.AdobeCredentialsCreateRequest: + properties: + client_id: + type: string + client_secret: + type: string + required: + - client_id + - client_secret + type: object + handlers.AdobeCredentialsInfo: + properties: + adobe_proxy_auth_id: + type: string + type: object + handlers.AdobeOrganizationInfo: + properties: + companies: + items: + $ref: '#/definitions/handlers.AdobeCompanyInfo' + type: array + organization_id: + type: string + type: object + handlers.AdobeReportSuitesResponse: + properties: + content: + items: + $ref: '#/definitions/handlers.ReportSuite' + type: array + page: + type: integer + size: + type: integer + totalElements: + type: integer + totalPages: + type: integer + type: object + handlers.BaseProject: + properties: + color: + type: string + domain: + type: string + is_draft: + type: boolean + title: + type: string + total_invited_members: + type: integer + type: object + handlers.BasicUserProfile: + properties: + email: + type: string + id: + type: integer + name: + type: string + profile_pic: + type: string + type: object + handlers.BasicWorkspaceMember: + properties: + email: + type: string + id: + type: integer + name: + type: string + profile_pic: + type: string + type: object + handlers.BasketResponse: + properties: + basket_id: + description: BasketID is the id of the keywords-list + type: integer + basket_type: + description: BasketType is the type of the keywords-list + type: string + keywords_count: + description: KeywordsCount is the count of keywords in the keywords-list + type: integer + name: + description: Name is the name of the keywords-list + type: string + owner_id: + description: OwnerID is the id of the owner of the keywords-list + type: integer + role: + allOf: + - $ref: '#/definitions/rbac.RoleName' + description: Role is the role of the user in the keywords-list. Namely, role/keywords_list/editor, + role/keywords_list/viewer + shared_with: + description: SharedWith is the count of users with whom the keywords-list + is shared + type: integer + updated_at: + description: UpdatedAt is the last update time of the keywords-list + type: string + user_id: + description: UserID is the id of the user of the keywords-list + type: integer + type: object + handlers.BatchDeleteReferenceRequest: + properties: + all: + type: boolean + cascade: + type: boolean + ids: + items: + type: string + type: array + type: object + handlers.BatchReferenceRequest: + properties: + items: + items: + $ref: '#/definitions/handlers.ReferenceRequest' + minItems: 1 + type: array + required: + - items + type: object + handlers.Condition: + properties: + column_name: + type: string + operator: + type: string + sub_conditions: + items: + $ref: '#/definitions/handlers.SubCondition' + type: array + value: + type: string + values: + items: + type: string + maxItems: 5000 + type: array + required: + - column_name + - operator + - value + - values + type: object + handlers.ConsumedUnits: + properties: + users: + type: integer + type: object + handlers.CopyAllSegmentsRequest: + properties: + source_project_id: + type: string + required: + - source_project_id + type: object + handlers.CopySegmentsRequest: + properties: + segment_ids: + items: + type: string + minItems: 1 + type: array + target_project_ids: + items: + type: string + minItems: 1 + type: array + required: + - segment_ids + - target_project_ids + type: object + handlers.CoreUser: + properties: + activated: + type: boolean + company: + type: string + email: + type: string + id: + type: integer + locale: + type: string + name: + type: string + profession: + type: string + timezone_new: + type: string + type: object + handlers.CoreUserWithAPIKey: + properties: + activated: + type: boolean + api_key: + type: string + company: + type: string + email: + type: string + id: + type: integer + locale: + type: string + name: + type: string + profession: + type: string + timezone_new: + type: string + type: object + handlers.Country: + properties: + code: + type: string + name: + type: string + type: object + handlers.Dimension: + properties: + category: + type: string + description: + type: string + extra_title_info: + type: string + id: + type: string + name: + type: string + pathable: + type: boolean + reportable: + items: + type: string + type: array + segmentable: + type: boolean + support: + items: + type: string + type: array + title: + type: string + type: + type: string + type: object + handlers.Filter: + properties: + column_name: + type: string + filters: + items: + $ref: '#/definitions/handlers.Filter' + type: array + operator: + type: string + value: {} + required: + - operator + - value + type: object + handlers.GetLimitsResponse: + properties: + limits: + $ref: '#/definitions/handlers.Limits' + type: object + handlers.GoogleAdsConnectionSettings: + description: Google Ads connection settings + properties: + customer_id: + type: integer + customer_title: + type: string + gap_email: + type: string + gap_user_id: + type: string + mcc_id: + type: integer + required: + - customer_id + - customer_title + - gap_email + - gap_user_id + - mcc_id + type: object + handlers.GoogleAdsWorkspaceConnectionCreate: + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.GoogleAdsConnectionSettings' + type: object + handlers.GoogleAnalyticsConnectionSettings: + description: Google Analytics connection settings + properties: + ga_account: + type: string + ga_account_title: + type: string + gap_email: + type: string + gap_user_id: + type: string + property: + type: string + property_title: + type: string + required: + - ga_account + - ga_account_title + - gap_email + - gap_user_id + - property + - property_title + type: object + handlers.GoogleAnalyticsWorkspaceConnectionCreate: + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.GoogleAnalyticsConnectionSettings' + type: object + handlers.GoogleConsoleWorkspaceConnectionCreate: + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.GoogleSearchConsoleConnectionSettings' + type: object + handlers.GoogleSearchConsoleConnectionSettings: + description: Google Console connection settings + properties: + gap_email: + type: string + gap_property: + type: string + gap_user_id: + type: string + required: + - gap_email + - gap_property + - gap_user_id + type: object + handlers.HasChildrenResponse: + properties: + has_children: + type: boolean + type: object + handlers.IDsForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + required: + - ids + type: object + handlers.InternalAdobeAnalyticsConnectionSettings: + description: Adobe Analytics connection settings (internal, uses adobe_proxy_auth_id) + properties: + adobe_proxy_auth_id: + type: string + dimension_date_range_day_name: + type: string + dimension_entry_page_url_name: + type: string + dimension_marketing_channel_detail_name: + type: string + dimension_marketing_channel_name: + type: string + global_company_id: + type: string + metric_bounce_rate_name: + type: string + metric_target_conversion_name: + type: string + metric_visits_name: + type: string + rs_name: + type: string + rsid: + type: string + type: object + handlers.InternalBenchmark: + properties: + benchmark_id: + type: string + created_at: + type: string + database: + type: string + device: + type: string + project_id: + type: string + target_id: + type: string + url: + type: string + url_type: + type: string + type: object + handlers.InternalESUsersList: + properties: + items: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.User' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.InternalProfileUpdate: + properties: + availability: + type: string + company: + maxLength: 255 + type: string + country: + $ref: '#/definitions/handlers.Country' + description: + maxLength: 255 + type: string + es_type: + type: string + jobs: + items: + $ref: '#/definitions/handlers.UserJob' + type: array + languages: + items: + type: string + type: array + linked_in: + type: string + name: + maxLength: 255 + type: string + phone: + maxLength: 20 + type: string + profession: + maxLength: 255 + type: string + profile_pic: + type: string + skills: + items: + type: string + type: array + time_zone: + type: string + type: object + handlers.InternalProjectsList: + properties: + items: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProject' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.InternalTarget: + properties: + campaign_id: + type: string + created_at: + type: string + database: + type: string + device: + type: string + domains: + items: + type: string + type: array + project_domain: + type: string + project_id: + type: string + target_id: + type: string + type: object + handlers.InternalWorkspaceConnectionDetails: + description: A connection for a particular workspace (internal) + properties: + data_source: + type: string + id: + type: integer + owner: + $ref: '#/definitions/handlers.WorkspaceConnectionOwner' + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.InternalWorkspaceConnectionSettings' + status: + $ref: '#/definitions/handlers.WorkspaceConnectionStatus' + updated_at: + type: string + type: object + handlers.InternalWorkspaceConnectionSettings: + description: Connection settings for internal use (adobe analytics returns adobe_proxy_auth_id) + properties: + adobe_analytics: + $ref: '#/definitions/handlers.InternalAdobeAnalyticsConnectionSettings' + google_ads: + $ref: '#/definitions/handlers.GoogleAdsConnectionSettings' + google_analytics: + $ref: '#/definitions/handlers.GoogleAnalyticsConnectionSettings' + google_console: + $ref: '#/definitions/handlers.GoogleSearchConsoleConnectionSettings' + log_file_analysis: + $ref: '#/definitions/handlers.LogFileAnalysisConnectionSettings' + type: object + handlers.Keyword: + properties: + id: + $ref: '#/definitions/handlers.KeywordID' + tags: + description: Tags max 5 tags are allowed, each tag can have max 50 characters + items: + type: string + maxItems: 5 + type: array + required: + - id + type: object + handlers.KeywordAddRequest: + properties: + keywords: + items: + $ref: '#/definitions/handlers.Keyword' + type: array + required: + - keywords + type: object + handlers.KeywordCountResponse: + properties: + added_keyword_count: + type: integer + type: object + handlers.KeywordDeleteRequest: + properties: + keyword_ids: + items: + $ref: '#/definitions/handlers.KeywordID' + type: array + required: + - keyword_ids + type: object + handlers.KeywordDeleteResponse: + properties: + deleted_keyword_ids: + items: + $ref: '#/definitions/handlers.KeywordID' + type: array + type: object + handlers.KeywordID: + properties: + database: + description: Database is the database of the keyword. Max 2 characters are + allowed + maxLength: 2 + type: string + phrase: + description: Phrase is the keyword name. Max 90 characters are allowed + maxLength: 90 + type: string + required: + - database + - phrase + type: object + handlers.KeywordResponse: + properties: + click_potential: + type: integer + created_at: + type: string + difficulty100: + type: integer + id: + $ref: '#/definitions/handlers.KeywordID' + status: + type: string + tags: + description: Tags max 5 tags are allowed, each tag can have max 50 characters + items: + type: string + maxItems: 5 + type: array + updated_at: + type: string + volume: + type: integer + required: + - id + type: object + handlers.KeywordsListCreateRequest: + properties: + name: + description: Name of the keywords-list. Max 100 characters are allowed + maxLength: 100 + type: string + required: + - name + type: object + handlers.KeywordsListCreateResponse: + properties: + basket_id: + type: integer + name: + type: string + updated_at: + type: string + type: object + handlers.KeywordsListDatabasesResponse: + properties: + databases: + items: + type: string + type: array + type: object + handlers.KeywordsListDeleteRequest: + properties: + basket_ids: + items: + type: integer + type: array + required: + - basket_ids + type: object + handlers.KeywordsListRenameRequest: + properties: + name: + description: Name of the keywords-list. Max 100 characters are allowed + maxLength: 100 + type: string + required: + - name + type: object + handlers.KeywordsListRenameResponse: + properties: + basket_id: + type: integer + name: + type: string + updated_at: + type: string + type: object + handlers.KeywordsListResponse: + properties: + baskets: + items: + $ref: '#/definitions/handlers.BasketResponse' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.KeywordsResponse: + properties: + keywords: + items: + $ref: '#/definitions/handlers.KeywordResponse' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.KeywordsTagsRelationsDeleteForm: + properties: + relations: + items: + items: + type: string + type: array + minItems: 1 + type: array + required: + - relations + type: object + handlers.KeywordsTagsRequest: + properties: + keyword_ids: + items: + $ref: '#/definitions/handlers.KeywordID' + type: array + tags: + items: + type: string + maxItems: 5 + type: array + required: + - keyword_ids + - tags + type: object + handlers.KeywordsTagsResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.Keyword' + type: array + type: object + handlers.KeywordsTagsUpdateRequest: + properties: + keyword_id: + $ref: '#/definitions/handlers.KeywordID' + tags_create: + description: TagsCreate max 5 tags are allowed, each tag can have max 50 characters + items: + type: string + maxItems: 5 + type: array + tags_delete: + description: TagsDelete max 5 tags are allowed, each tag can have max 50 characters + items: + type: string + maxItems: 5 + type: array + required: + - keyword_id + type: object + handlers.Language: + properties: + code: + type: string + name: + type: string + type: object + handlers.Limits: + properties: + api_units: + $ref: '#/definitions/handlers.UsedLimit' + keywords: + $ref: '#/definitions/handlers.UsedLimitWithDrafted' + pagespeed_urls: + $ref: '#/definitions/handlers.UsedLimitWithDrafted' + projects: + $ref: '#/definitions/handlers.UsedLimitWithDrafted' + service_units: + $ref: '#/definitions/handlers.UsedLimit' + users: + $ref: '#/definitions/handlers.UsedLimitWithDrafted' + type: object + handlers.Location: + properties: + id: + type: integer + name: + type: string + type: object + handlers.LogFileAnalysisConnectionSettings: + description: Log file analysis connection settings + properties: + connectionName: + type: string + deliveryType: + type: string + fallbackValues: + $ref: '#/definitions/handlers.LogFileAnalysisFallbackValues' + ingestSchema: + $ref: '#/definitions/handlers.LogFileAnalysisIngestSchema' + required: + - connectionName + type: object + handlers.LogFileAnalysisConnectorStatusPayload: + description: Connector-reported status for a log file analysis connection (internal) + properties: + message: + type: string + type: + enum: + - success + - error + type: string + required: + - type + type: object + handlers.LogFileAnalysisFallbackValues: + properties: + hostname: + type: string + protocolSchema: + type: string + time: + type: string + timezone: + type: string + type: object + handlers.LogFileAnalysisIngestField: + properties: + extracts: + items: + type: string + type: array + key: + type: string + position: + type: integer + template: + type: string + type: object + handlers.LogFileAnalysisIngestParser: + properties: + delimiter: + enum: + - space + - pipe + - tab + - semicolum + - comma + type: string + preProcessing: + $ref: '#/definitions/handlers.LogFileAnalysisPreProcessing' + type: + enum: + - json + - jsonp + - text + type: string + required: + - type + type: object + handlers.LogFileAnalysisIngestSchema: + properties: + example: + type: string + fields: + items: + $ref: '#/definitions/handlers.LogFileAnalysisIngestField' + type: array + parser: + $ref: '#/definitions/handlers.LogFileAnalysisIngestParser' + required: + - fields + - parser + type: object + handlers.LogFileAnalysisPreProcessing: + properties: + type: + type: string + type: object + handlers.LogFileAnalysisWorkspaceConnectionPayload: + properties: + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.LogFileAnalysisConnectionSettings' + required: + - project_ids + - settings + type: object + handlers.Metric: + properties: + allocation: + type: boolean + calculated: + type: boolean + category: + type: string + description: + type: string + id: + type: string + name: + type: string + precision: + type: integer + segmentable: + type: boolean + support: + items: + type: string + type: array + title: + type: string + type: + type: string + type: object + handlers.NamedKeywordsFindForm: + properties: + keywords: + items: + type: string + minItems: 1 + type: array + required: + - keywords + type: object + handlers.NamedKeywordsFindResponse: + properties: + keywords: + items: + $ref: '#/definitions/handlers.keyword' + type: array + not_found: + items: + type: string + type: array + type: object + handlers.OptionsLimits: + properties: + total_keywords: + type: integer + total_pagespeed_urls: + type: integer + total_projects: + type: integer + total_service_units: + type: integer + total_users: + type: integer + used_service_units: + type: integer + type: object + handlers.PreferredURLsUploadResponse: + properties: + updated_keywords: + type: integer + type: object + handlers.ProjectConnectionResponse: + properties: + id: + type: integer + type: + type: string + type: object + handlers.ProjectItemResponse: + properties: + color: + type: string + core_conflicts: + type: boolean + domain: + type: string + draft_keywords_count: + type: integer + draft_project: + $ref: '#/definitions/handlers.projectItemBaseProject' + draft_segments_count: + type: integer + draft_updated: + type: boolean + favourite: + type: boolean + goals_count: + type: integer + id: + type: string + is_draft: + type: boolean + is_out_of_sync: + type: boolean + keywords_count: + type: integer + pagespeed_urls_count: + type: integer + publish_status: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus' + published_at: + type: string + publishing_failed_reason: + type: string + role: + $ref: '#/definitions/rbac.RoleName' + segments_count: + type: integer + shared_with: + type: integer + targets_stats: + $ref: '#/definitions/handlers.projectItemTargetsStats' + title: + type: string + type: object + handlers.ReferenceRequest: + properties: + id: + type: string + references: + items: + type: string + minItems: 1 + type: array + replace: + type: boolean + required: + - id + - references + type: object + handlers.ReportSuite: + properties: + calendar_type: + type: string + collection_item_type: + type: string + currency: + type: string + name: + type: string + parent_rsid: + type: string + rsid: + type: string + timezone_zoneinfo: + type: string + virtual_report_suite: + type: boolean + type: object + handlers.RequiredUserUnitsForm: + properties: + emails: + items: + type: string + minItems: 1 + type: array + required: + - emails + type: object + handlers.RequiredUserUnitsResponse: + properties: + required_units: + type: integer + type: object + handlers.SegmentInternalResponse: + properties: + conditions: + items: + $ref: '#/definitions/handlers.Condition' + type: array + created_at: + type: string + filters: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Filter' + id: + type: string + name: + type: string + updated_at: + type: string + type: object + handlers.SegmentListByWorkspaceResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.SegmentWithProjectResponse' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.SegmentListInternalResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.SegmentInternalResponse' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.SegmentListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.SegmentResponse' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.SegmentResponse: + properties: + conditions: + items: + $ref: '#/definitions/handlers.Condition' + type: array + created_at: + type: string + filters: + $ref: '#/definitions/handlers.Filter' + id: + type: string + name: + type: string + updated_at: + type: string + type: object + handlers.SegmentUpsertForm: + properties: + conditions: + items: + $ref: '#/definitions/handlers.Condition' + type: array + filters: + allOf: + - $ref: '#/definitions/handlers.Filter' + description: 'todo: after conditions removed this field should be required.' + name: + type: string + required: + - name + type: object + handlers.SegmentWithProjectResponse: + properties: + conditions: + items: + $ref: '#/definitions/handlers.Condition' + type: array + created_at: + type: string + filters: + $ref: '#/definitions/handlers.Filter' + id: + type: string + name: + type: string + project_id: + type: string + project_name: + type: string + updated_at: + type: string + type: object + handlers.SubCondition: + properties: + condition: + $ref: '#/definitions/handlers.Condition' + logic_operator: + enum: + - and + - or + type: string + required: + - condition + - logic_operator + type: object + handlers.TagsTreeResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.tagTreeItem' + type: array + type: object + handlers.TagsTreeResponseV2: + properties: + items: + items: + $ref: '#/definitions/handlers.tagTreeItemV2' + type: array + type: object + handlers.Target: + properties: + benchmarks_count: + type: integer + campaign_id: + type: string + created_at: + type: string + database: + type: string + device: + type: string + domain: + type: string + id: + type: string + keywords_count: + type: integer + language: + $ref: '#/definitions/handlers.TargetLanguage' + location: + $ref: '#/definitions/handlers.Location' + name: + type: string + volume_type: + type: string + type: object + handlers.TargetLanguage: + properties: + id: + type: integer + name: + type: string + type: object + handlers.TargetMetadata: + properties: + database: + type: string + device: + type: string + id: + type: string + language: + $ref: '#/definitions/handlers.TargetLanguage' + location: + $ref: '#/definitions/handlers.Location' + name: + type: string + type: object + handlers.TargetsStats: + properties: + draft_targets_count: + type: integer + target: + $ref: '#/definitions/handlers.TargetMetadata' + targets_count: + type: integer + type: object + handlers.Transaction: + properties: + balance_after: + type: integer + balance_before: + type: integer + date: + type: string + id: + type: string + iid: + type: integer + operation: + type: string + owner_id: + type: integer + owner_name: + type: string + receipt_id: + type: integer + receipt_name: + type: string + reference_transaction_id: + type: string + service_credits: + type: integer + service_id: + type: string + service_type: + type: string + title: + type: string + workspace_id: + type: string + type: object + handlers.TransactionsCancelForm: + properties: + service_credits: + minimum: 1 + type: integer + required: + - service_credits + type: object + handlers.TransactionsCreateForm: + properties: + owner_id: + type: integer + receipt_id: + type: integer + service_credits: + minimum: 1 + type: integer + service_id: + maxLength: 255 + type: string + service_type: + type: string + title: + maxLength: 255 + type: string + workspace_id: + type: string + required: + - owner_id + - service_credits + - service_id + - service_type + - workspace_id + type: object + handlers.TransactionsCreateFormV2: + properties: + amount: + minimum: 1 + type: integer + global_limit_key: + type: string + owner_id: + type: integer + product_limit: + $ref: '#/definitions/handlers.TxProductLimit' + receipt_id: + type: integer + service_id: + maxLength: 255 + type: string + service_type: + type: string + title: + maxLength: 255 + type: string + workspace_id: + type: string + required: + - amount + - service_id + - service_type + - workspace_id + type: object + handlers.TransactionsListForm: + properties: + end: + description: Must have YYYY-MM-DD format + example: "2023-10-24" + type: string + operations: + description: Must be debit or credit + example: + - debit + - credit + items: + type: string + type: array + owners: + example: + - 123 + - 456 + items: + type: integer + type: array + receipts: + example: + - 123 + - 456 + items: + type: integer + type: array + service_types: + description: Must be seo_workflow, job_hourly, job_fixed or service_fee + example: + - seo_workflow + - job_hourly + - job_fixed + - service_fee + items: + type: string + type: array + start: + description: Must have YYYY-MM-DD format + example: "2023-10-24" + type: string + title: + example: some title + maxLength: 255 + type: string + workspaces: + example: + - eab40b25-ec97-4efb-91ea-dbcc6153a721 + - eab40b25-ec97-4efb-91ea-dbcc6153a722 + items: + type: string + type: array + type: object + handlers.TransactionsRefundForm: + properties: + amount: + minimum: 1 + type: integer + required: + - amount + type: object + handlers.TxProductLimit: + properties: + enterprise_limit_key: + example: pages + type: string + product_id: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + example: si + type: object + handlers.UsedLimit: + properties: + total: + type: integer + used: + type: integer + type: object + handlers.UsedLimitWithDrafted: + properties: + drafted: + type: integer + total: + type: integer + used: + type: integer + type: object + handlers.UserJob: + properties: + description: + maxLength: 1000 + type: string + end: + type: string + id: + type: string + name: + maxLength: 255 + type: string + start: + type: string + type: object + handlers.UserProfile: + properties: + availability: + type: string + categories: + items: + type: string + type: array + company: + type: string + country: + $ref: '#/definitions/handlers.Country' + description: + type: string + email: + type: string + es_type: + type: string + id: + type: integer + jobs: + items: + $ref: '#/definitions/handlers.UserJob' + type: array + languages: + items: + type: string + type: array + linked_in: + type: string + locale: + type: string + name: + type: string + phone: + type: string + profession: + type: string + profile_pic: + type: string + projects: + items: + $ref: '#/definitions/handlers.UserProject' + type: array + skills: + items: + type: string + type: array + time_zone: + type: string + workspaces: + items: + $ref: '#/definitions/handlers.UserWorkspace' + type: array + type: object + handlers.UserProject: + properties: + id: + type: string + title: + type: string + user_role: + type: string + type: object + handlers.UserWorkspace: + properties: + id: + type: string + title: + type: string + user_role: + type: string + type: object + handlers.WorkCategory: + properties: + name: + type: string + skills: + items: + type: string + type: array + type: object + handlers.WorkspaceCheckResponse: + properties: + status: + type: string + type: object + handlers.WorkspaceConnection: + description: A connection for a particular workspace + properties: + data_source: + type: string + id: + type: integer + owner: + $ref: '#/definitions/handlers.WorkspaceConnectionOwner' + projects: + items: + $ref: '#/definitions/handlers.WorkspaceConnectionProject' + type: array + settings: + $ref: '#/definitions/handlers.WorkspaceConnectionSettings' + status: + $ref: '#/definitions/handlers.WorkspaceConnectionStatus' + updated_at: + type: string + type: object + handlers.WorkspaceConnectionDetails: + description: A connection for a particular workspace + properties: + data_source: + type: string + id: + type: integer + owner: + $ref: '#/definitions/handlers.WorkspaceConnectionOwner' + project_ids: + items: + type: string + type: array + settings: + $ref: '#/definitions/handlers.WorkspaceConnectionSettings' + status: + $ref: '#/definitions/handlers.WorkspaceConnectionStatus' + updated_at: + type: string + type: object + handlers.WorkspaceConnectionItem: + description: A connection for a particular workspace item in the connection list + properties: + data_source: + type: string + id: + type: integer + owner: + $ref: '#/definitions/handlers.WorkspaceConnectionOwner' + projects: + items: + $ref: '#/definitions/handlers.WorkspaceConnectionProject' + type: array + settings: + $ref: '#/definitions/handlers.WorkspaceConnectionSettings' + status: + $ref: '#/definitions/handlers.WorkspaceConnectionStatus' + updated_at: + type: string + type: object + handlers.WorkspaceConnectionOwner: + description: Workspace connection owner information + properties: + email: + type: string + id: + type: integer + name: + type: string + profile_pic: + type: string + type: object + handlers.WorkspaceConnectionProject: + properties: + id: + type: string + name: + type: string + type: object + handlers.WorkspaceConnectionSettings: + properties: + adobe_analytics: + $ref: '#/definitions/handlers.AdobeAnalyticsConnectionSettings' + google_ads: + $ref: '#/definitions/handlers.GoogleAdsConnectionSettings' + google_analytics: + $ref: '#/definitions/handlers.GoogleAnalyticsConnectionSettings' + google_console: + $ref: '#/definitions/handlers.GoogleSearchConsoleConnectionSettings' + log_file_analysis: + $ref: '#/definitions/handlers.LogFileAnalysisConnectionSettings' + type: object + handlers.WorkspaceConnectionStatus: + properties: + message: + type: string + type: + type: string + type: object + handlers.WorkspaceConnectionsAttachItem: + properties: + connection_ids: + items: + type: integer + type: array + project_id: + type: string + type: object + handlers.WorkspaceConnectionsDeleteRequest: + description: Request body for workspace connections delete endpoint + properties: + ids: + items: + type: integer + type: array + type: object + handlers.WorkspaceConnectionsResponse: + description: Response for workspace connections + properties: + items: + items: + $ref: '#/definitions/handlers.WorkspaceConnectionItem' + type: array + page_number: + type: integer + total_items: + type: integer + type: object + handlers.WorkspaceCreateChildForm: + properties: + icon: + type: string + owner: + type: string + resources: + $ref: '#/definitions/handlers.WorkspaceResources' + title: + type: string + required: + - resources + - title + type: object + handlers.WorkspaceListItem: + properties: + created_at: + type: string + expires_at: + type: string + icon: + type: string + id: + type: string + is_admin: + type: boolean + is_master: + type: boolean + keywords_count: + type: integer + last_updated_at: + type: string + owner: + type: string + pagespeed_urls_count: + type: integer + parent: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent' + parent_id: + type: string + partnership_enabled: + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier' + type: array + products: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + type: array + published_projects_count: + type: integer + resources: + additionalProperties: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.EntityLimit' + type: object + type: object + role: + type: string + settings: + $ref: '#/definitions/handlers.workspaceSettings' + shared_with: + type: integer + status: + type: string + subscription_tier: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + title: + type: string + users: + type: integer + type: object + handlers.WorkspaceMember: + properties: + email: + type: string + id: + type: integer + is_all_projects_access: + type: boolean + is_home_workspace: + type: boolean + membership_status: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.MembershipStatus' + profile_pic: + type: string + projects: + items: + $ref: '#/definitions/handlers.WorkspaceMemberProject' + type: array + role: + type: string + type: object + handlers.WorkspaceMemberProject: + properties: + id: + type: string + title: + type: string + type: object + handlers.WorkspaceMemberUpsertResponse: + properties: + consumed_units: + $ref: '#/definitions/handlers.ConsumedUnits' + type: object + handlers.WorkspaceResources: + properties: + api_units: + minimum: 0 + type: integer + keywords: + minimum: 0 + type: integer + pagespeed_urls: + minimum: 0 + type: integer + projects: + minimum: 0 + type: integer + service_credits: + minimum: 0 + type: integer + users: + minimum: 0 + type: integer + type: object + handlers.WorkspaceResourcesTransferV2Form: + properties: + resources: + $ref: '#/definitions/handlers.createWorkspaceV2Resources' + type: object + handlers.activationPanelAIOPromptSettingsForm: + properties: + prompt_type: + enum: + - daily + - weekly + type: string + weekly_prompts_day_of_week: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.DayOfWeek' + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + required: + - prompt_type + type: object + handlers.activationPanelAIOPromptSettingsGetForm: + properties: + prompt_type: + type: string + weekly_prompts_day_of_week: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.DayOfWeek' + type: object + handlers.activationPanelPermission: + enum: + - workspace.edit + - workspace.delete + - workspace.view + - workspace.add + type: string + x-enum-varnames: + - editWorkspaces + - deleteWorkspaces + - viewWorkspaces + - addWorkspaces + handlers.activationPanelSubscriptionForm: + properties: + workspace_id: + type: string + required: + - workspace_id + type: object + handlers.activationPanelWorkspaceCreateForm: + properties: + email: + type: string + icon: + type: string + partnership_enabled: + default: false + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs' + type: array + title: + type: string + required: + - email + - title + type: object + handlers.adminProjectTransferForm: + properties: + projects: + items: + $ref: '#/definitions/handlers.transferProductProject' + minItems: 1 + type: array + target_workspace_id: + type: string + target_workspace_owner_id: + type: integer + required: + - projects + - target_workspace_id + - target_workspace_owner_id + type: object + handlers.adminSmbProjectMigrationForm: + properties: + account_ids: + items: + type: integer + type: array + required: + - account_ids + type: object + handlers.adminWorkspaceCreateForm: + properties: + icon: + type: string + owner_email: + type: string + parent_id: + type: string + resources: + $ref: '#/definitions/handlers.WorkspaceResources' + title: + type: string + required: + - parent_id + - resources + - title + type: object + handlers.adminWorkspaceUpsertForm: + properties: + icon: + type: string + partnership_enabled: + default: false + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs' + type: array + title: + type: string + user_id: + type: integer + required: + - title + - user_id + type: object + handlers.ai: + properties: + prompts_count: + type: integer + published_projects_count: + type: integer + type: object + handlers.aiProductResources: + properties: + projects: + type: integer + prompts: + type: integer + type: object + handlers.basicWorkspacesMembersResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.BasicWorkspaceMember' + type: array + type: object + handlers.batchWorkspaceMembersRequest: + properties: + include_parental_admins: + type: boolean + workspace_ids: + items: + type: string + minItems: 1 + type: array + required: + - workspace_ids + type: object + handlers.benchmark: + properties: + color: + type: string + id: + type: string + sync_enabled: + type: boolean + tags: + $ref: '#/definitions/handlers.benchmarkTags' + url: + type: string + type: object + handlers.benchmarkBulkUpdateForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + sync_enabled: + type: boolean + tags: + items: + type: string + type: array + required: + - ids + type: object + handlers.benchmarkCloneForm: + properties: + dst_target_id: + type: string + src_target_id: + type: string + required: + - dst_target_id + - src_target_id + type: object + handlers.benchmarkCreateForm: + properties: + color: + type: string + sync_enabled: + type: boolean + tags: + items: + type: string + type: array + url: + type: string + required: + - url + type: object + handlers.benchmarkRemoveTagsForm: + properties: + benchmark_ids: + items: + type: string + minItems: 1 + type: array + tag_ids: + items: + type: string + minItems: 1 + type: array + required: + - benchmark_ids + - tag_ids + type: object + handlers.benchmarkTags: + additionalProperties: + items: + type: string + type: array + type: object + handlers.benchmarkUpdateForm: + properties: + color: + type: string + sync_enabled: + type: boolean + tags: + items: + type: string + type: array + url: + type: string + type: object + handlers.benchmarksDeleteForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + required: + - ids + type: object + handlers.benchmarksListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.benchmark' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.billingStatusResponse: + properties: + expire_date: + type: string + has_product: + type: boolean + is_paid: + type: boolean + subscription_id: + type: integer + user_id: + type: integer + type: object + handlers.ci: + properties: + pages: + type: integer + published_projects_count: + type: integer + type: object + handlers.createWorkspaceV2Form: + properties: + icon: + type: string + owner: + type: string + parentID: + type: string + resources: + $ref: '#/definitions/handlers.createWorkspaceV2Resources' + title: + type: string + userID: + type: integer + required: + - resources + - title + type: object + handlers.createWorkspaceV2Resources: + properties: + ai: + $ref: '#/definitions/handlers.aiProductResources' + general: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal' + product_resources: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources' + type: array + seo: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO' + type: object + handlers.getServiceUnitsResponse: + properties: + available: + type: integer + total: + type: integer + units: + description: 'Deprecated: This is left here to ensure backward compatibility. + Use Available field instead.' + type: integer + type: object + handlers.goalImportForm: + properties: + source_project_id: + type: string + required: + - source_project_id + type: object + handlers.goalImportReponse: + properties: + total_imported_goals: + type: integer + type: object + handlers.goalMetricsResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.goalsMetric' + type: array + total: + type: integer + type: object + handlers.goalUpsertReponse: + properties: + date_from: + description: Is set when the goal is objective + example: "2024-01-01" + format: date + type: string + date_to: + description: Is set when the goal is objective + example: "2024-02-01" + format: date + type: string + date_type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalDateType' + description: We can have monthly goals now + id: + description: ID is the goal ID in the system + type: string + lower_value: + description: May be null if we have only upper value in the threshold + type: number + metric_id: + type: string + name: + type: string + objective_value_type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType' + description: |- + ### Single objective value + `value` is used for `single` `objective_value_type` + ### Multiple objective values + `values` is used for `multiple` `objective_value_type` + type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalType' + description: |- + ### Threshold goal + `upper_value` and `lower_value` are used for threshold goals + ### Objective goal + `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + upper_value: + description: Is set when the goal is threshold + type: number + value: + description: Set when the goal is single objective + type: number + values: + description: Set when the goal is multiple objective + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalValue' + type: array + required: + - id + - metric_id + - name + - type + type: object + handlers.goalsDeleteForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + type: object + handlers.goalsListResponse: + properties: + items: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Goal' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.goalsMetric: + properties: + id: + type: string + name: + type: string + type: object + handlers.goalsUpsertForm: + properties: + date_from: + description: Is set when the goal is objective + example: "2024-01-01" + format: date + type: string + date_to: + description: Is set when the goal is objective + example: "2024-02-01" + format: date + type: string + date_type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalDateType' + description: We can have monthly goals now + lower_value: + description: May be null if we have only upper value in the threshold + type: number + metric_id: + type: string + name: + type: string + objective_value_type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType' + description: |- + ### Single objective value + `value` is used for `single` `objective_value_type` + ### Multiple objective values + `values` is used for `multiple` `objective_value_type` + type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalType' + description: |- + ### Threshold goal + `upper_value` and `lower_value` are used for threshold goals + ### Objective goal + `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + upper_value: + description: Is set when the goal is threshold + type: number + value: + description: Set when the goal is single objective + type: number + values: + description: Set when the goal is multiple objective + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalValue' + type: array + required: + - metric_id + - name + - type + type: object + handlers.internalGoal: + properties: + date: + description: Set when the goal is objective, will contain dates between date_from + and date_to + example: "2024-01-01" + format: date + type: string + date_from: + description: Set when the goal is objective, may be set when the goal is threshold + example: "2024-01-01" + format: date + type: string + date_to: + description: Set when the goal is objective, may be set when the goal is threshold + example: "2024-02-01" + format: date + type: string + date_type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalDateType' + description: We can have monthly goals now + id: + type: string + metric_id: + type: string + metric_name: + type: string + name: + type: string + project_domain: + type: string + type: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalType' + value: + description: Is set to upper value when type is threshold and objective value + when type is objective + type: number + required: + - id + - metric_id + - metric_name + - name + - project_domain + - type + type: object + handlers.internalGoalsListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.internalGoal' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.internalWorkspace: + properties: + created_at: + type: string + icon: + type: string + id: + type: string + is_master: + type: boolean + last_updated_at: + type: string + parent: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent' + parent_id: + type: string + partnership_enabled: + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier' + type: array + products: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + type: array + status: + type: string + subscription_tier: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + title: + type: string + type: object + handlers.keyword: + properties: + id: + type: string + name: + type: string + position: + type: integer + preferred_url: + type: string + volume: + type: integer + type: object + handlers.keywordListAddMembersForm: + properties: + members: + items: + type: string + type: array + role: + type: string + required: + - members + - role + type: object + handlers.keywordWithTargetID: + properties: + id: + type: string + name: + type: string + position: + type: integer + preferred_url: + type: string + target_id: + type: string + volume: + type: integer + type: object + handlers.keywordsCloneForm: + properties: + dst_target_id: + type: string + src_target_id: + type: string + required: + - dst_target_id + - src_target_id + type: object + handlers.keywordsCreateForm: + properties: + keywords: + items: + type: string + minItems: 1 + type: array + tag_ids: + items: + type: string + type: array + required: + - keywords + type: object + handlers.keywordsCreateResponse: + properties: + duplicate_count: + type: integer + items: + items: + $ref: '#/definitions/handlers.keyword' + type: array + type: object + handlers.keywordsDeleteForm: + properties: + all: + type: boolean + ids: + items: + type: string + minItems: 1 + type: array + type: object + handlers.keywordsListDeleteMembersForm: + properties: + members: + items: + type: string + type: array + required: + - members + type: object + handlers.keywordsListMemberUpdateRoleForm: + properties: + member: + type: string + role: + type: string + required: + - member + - role + type: object + handlers.keywordsListMembersResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.member' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.keywordsListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.keyword' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.keywordsRelatedTagsForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + required: + - ids + type: object + handlers.keywordsUpdateForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + url: + type: string + required: + - ids + type: object + handlers.keywordsUpdateResponse: + properties: + ids: + items: + type: string + minItems: 1 + type: array + url: + type: string + required: + - ids + type: object + handlers.member: + properties: + email: + type: string + id: + type: integer + profile_pic: + type: string + role: + type: string + type: object + handlers.pagespeedAddNamedKeywordsForm: + properties: + keywords: + items: + type: string + type: array + target_id: + type: string + type: object + handlers.pagespeedAddNamedKeywordsResponse: + properties: + keywords: + items: + $ref: '#/definitions/handlers.keyword' + type: array + not_found: + items: + type: string + type: array + type: object + handlers.pagespeedCrawler: + properties: + crawler_type: + type: string + device: + type: string + id: + type: string + interval: + type: string + name: + type: string + status: + type: string + total_keywords: + type: integer + total_urls: + type: integer + type: object + handlers.pagespeedCrawlerAddKeywordsForm: + properties: + keywords: + items: + $ref: '#/definitions/handlers.pagespeedKeywordsForm' + type: array + required: + - keywords + type: object + handlers.pagespeedCrawlerAddURLsForm: + properties: + urls: + items: + type: string + minItems: 1 + type: array + required: + - urls + type: object + handlers.pagespeedCrawlerCreateForm: + properties: + crawler_type: + enum: + - keywords + - urls + type: string + device: + type: string + interval: + enum: + - once + - daily + - weekly + - week-days + - bi-weekly + - monthly + type: string + invisible: + type: boolean + keyword_names: + items: + type: string + type: array + keywords: + items: + $ref: '#/definitions/handlers.pagespeedKeywordsForm' + type: array + name: + type: string + target_id: + type: string + urls: + items: + type: string + type: array + required: + - device + - name + type: object + handlers.pagespeedCrawlerCreateResponse: + properties: + crawler_type: + type: string + device: + type: string + id: + type: string + interval: + type: string + keywords: + items: + $ref: '#/definitions/handlers.keyword' + type: array + name: + type: string + not_found_keywords: + items: + type: string + type: array + status: + type: string + total_keywords: + type: integer + total_urls: + type: integer + urls: + items: + $ref: '#/definitions/handlers.pagespeedURL' + type: array + type: object + handlers.pagespeedCrawlerUpdateForm: + properties: + interval: + enum: + - once + - daily + - weekly + - week-days + - bi-weekly + - monthly + type: string + name: + type: string + required: + - name + type: object + handlers.pagespeedCrawlerVisibleForm: + properties: + device: + type: string + interval: + enum: + - once + - daily + - weekly + - week-days + - bi-weekly + - monthly + type: string + name: + type: string + required: + - device + - name + type: object + handlers.pagespeedCrawlersInternalListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.pagespeedInternalCrawler' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.pagespeedCrawlersListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.pagespeedCrawler' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.pagespeedDeleteForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + required: + - ids + type: object + handlers.pagespeedInternalCrawler: + properties: + crawler_type: + type: string + device: + type: string + id: + type: string + interval: + type: string + name: + type: string + project_id: + type: string + status: + type: string + total_keywords: + type: integer + total_urls: + type: integer + type: object + handlers.pagespeedInternalKeywordsListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.keywordWithTargetID' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.pagespeedKeywordsDeleteForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + required: + - ids + type: object + handlers.pagespeedKeywordsForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + target_id: + type: string + required: + - ids + - target_id + type: object + handlers.pagespeedKeywordsListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.keyword' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.pagespeedURL: + properties: + id: + type: string + url: + type: string + type: object + handlers.pagespeedURLsDeleteForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + required: + - ids + type: object + handlers.pagespeedURLsListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.pagespeedURL' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.productTiersGroup: + properties: + product: + type: string + tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + type: array + type: object + handlers.profileUpdate: + properties: + availability: + type: string + company: + maxLength: 255 + type: string + country: + $ref: '#/definitions/handlers.Country' + description: + maxLength: 255 + type: string + jobs: + items: + $ref: '#/definitions/handlers.UserJob' + type: array + languages: + items: + type: string + type: array + linked_in: + type: string + name: + maxLength: 255 + type: string + phone: + maxLength: 20 + type: string + profession: + maxLength: 255 + type: string + profile_pic: + type: string + skills: + items: + type: string + type: array + time_zone: + type: string + type: object + handlers.projectAddMembersForm: + properties: + members: + items: + type: string + type: array + product_id: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + description: for backward compatibility no validate is required and assign + SEO in case its empty + role: + type: string + required: + - members + - role + type: object + handlers.projectCreateForm: + properties: + color: + type: string + domain: + type: string + title: + type: string + required: + - domain + - title + type: object + handlers.projectDeleteMembersForm: + properties: + members: + items: + type: string + type: array + product_id: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + description: for backward compatibility no validate is required and assign + SEO in case its empty + required: + - members + type: object + handlers.projectDeleteResponse: + properties: + id: + type: string + type: object + handlers.projectFavouriteSetForm: + properties: + favourite: + type: boolean + type: object + handlers.projectItem: + properties: + color: + type: string + core_conflicts: + type: boolean + domain: + type: string + draft_keywords_count: + type: integer + draft_pagespeed_urls_count: + type: integer + draft_project: + $ref: '#/definitions/handlers.BaseProject' + draft_segments_count: + type: integer + draft_updated: + type: boolean + favourite: + type: boolean + goals_count: + type: integer + id: + type: string + is_draft: + type: boolean + is_out_of_sync: + type: boolean + keywords_count: + type: integer + pagespeed_urls_count: + type: integer + publish_status: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus' + published_at: + type: string + publishing_failed_reason: + type: string + role: + $ref: '#/definitions/rbac.RoleName' + segments_count: + type: integer + shared_with: + type: integer + targets_stats: + $ref: '#/definitions/handlers.TargetsStats' + title: + type: string + total_invited_members: + type: integer + type: object + handlers.projectItemBaseProject: + properties: + color: + type: string + domain: + type: string + is_draft: + type: boolean + title: + type: string + type: object + handlers.projectItemLanguage: + properties: + id: + type: integer + name: + type: string + type: object + handlers.projectItemLocation: + properties: + id: + type: integer + name: + type: string + type: object + handlers.projectItemTargetMetadata: + properties: + database: + type: string + device: + type: string + id: + type: string + language: + $ref: '#/definitions/handlers.projectItemLanguage' + location: + $ref: '#/definitions/handlers.projectItemLocation' + name: + type: string + type: object + handlers.projectItemTargetsStats: + properties: + target: + $ref: '#/definitions/handlers.projectItemTargetMetadata' + targets_count: + type: integer + type: object + handlers.projectListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.projectItem' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.projectListV2Response: + properties: + items: + items: + $ref: '#/definitions/handlers.ProjectItemResponse' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.projectMembersResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.member' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.projectUpdateForm: + properties: + color: + type: string + title: + type: string + type: object + handlers.projectUpsertResponse: + properties: + color: + type: string + domain: + type: string + id: + type: string + is_draft: + type: boolean + publish_status: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus' + title: + type: string + type: object + handlers.projectV2CreateForm: + properties: + color: + type: string + domain: + type: string + title: + type: string + required: + - title + type: object + handlers.projectV2UpdateForm: + properties: + color: + type: string + domain: + type: string + title: + type: string + type: object + handlers.projectsGetResponse: + properties: + benchmarks_count: + type: integer + color: + type: string + core_id: + type: integer + crawlers_count: + type: integer + created_at: + type: string + domain: + type: string + draft_updated: + type: boolean + favourite: + type: boolean + goals_count: + type: integer + id: + type: string + is_draft: + type: boolean + is_out_of_sync: + type: boolean + keywords_count: + type: integer + pagespeed_urls_count: + type: integer + preferred_urls_count: + type: integer + publish_status: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus' + published_at: + type: string + publishing_failed_reason: + type: string + role: + $ref: '#/definitions/rbac.RoleName' + segments_count: + type: integer + shared_with: + type: integer + targets_count: + type: integer + targets_stats: + $ref: '#/definitions/handlers.TargetsStats' + title: + type: string + type: object + handlers.seo: + properties: + keywords_count: + type: integer + pagespeed_urls_count: + type: integer + published_projects_count: + type: integer + type: object + handlers.setServiceUnitsForm: + properties: + units: + minimum: 0 + type: integer + type: object + handlers.si: + properties: + logfile: + type: integer + pages: + type: integer + projects: + type: integer + type: object + handlers.tag: + properties: + id: + type: string + name: + type: string + type: object + handlers.tagItem: + properties: + children_count: + type: integer + id: + type: string + keywords_count: + type: integer + name: + type: string + type: object + handlers.tagTreeItem: + properties: + children: + items: + $ref: '#/definitions/handlers.tagTreeItem' + type: array + children_count: + type: integer + id: + type: string + keywords_count: + type: integer + name: + type: string + parent_id: + type: string + type: object + handlers.tagTreeItemV2: + properties: + children: + items: + $ref: '#/definitions/handlers.tagTreeItemV2' + type: array + id: + type: string + name: + type: string + parent_id: + type: string + type: object + handlers.tagWithSearchResponse: + properties: + id: + type: string + keywords_count: + type: integer + name: + type: string + parent_id: + type: string + type: object + handlers.taggedKeywordsCreateForm: + properties: + keywords: + additionalProperties: + items: + type: string + type: array + type: object + required: + - keywords + type: object + handlers.tagsCreateForm: + properties: + names: + items: + type: string + minItems: 1 + type: array + uniqueItems: true + parent_id: + type: string + required: + - names + type: object + handlers.tagsDeleteForm: + properties: + delete_keywords: + type: boolean + ids: + items: + type: string + type: array + required: + - ids + type: object + handlers.tagsList: + additionalProperties: + $ref: '#/definitions/handlers.tagItem' + type: object + handlers.tagsListResponse: + properties: + items: + $ref: '#/definitions/handlers.tagsList' + page: + type: integer + total: + type: integer + type: object + handlers.tagsListWithSearchResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.tagWithSearchResponse' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.tagsUpdateForm: + properties: + name: + type: string + parent_id: + type: string + required: + - name + type: object + handlers.targetCreateForm: + properties: + targets: + items: + $ref: '#/definitions/handlers.targetForm' + minItems: 1 + type: array + required: + - targets + type: object + handlers.targetForm: + properties: + device: + type: string + language_id: + type: integer + location_id: + type: integer + name: + type: string + volume_type: + enum: + - national + - regional + - local + type: string + required: + - device + - language_id + - location_id + - name + type: object + handlers.targetListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.Target' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.tiersResponse: + properties: + products: + items: + $ref: '#/definitions/handlers.productTiersGroup' + type: array + tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + type: array + type: object + handlers.transactionsListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.Transaction' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.transferProductProject: + properties: + product_id: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + project_ids: + items: + type: string + minItems: 1 + type: array + required: + - product_id + - project_ids + type: object + handlers.urlGroup: + properties: + id: + type: string + name: + type: string + url: + type: string + type: object + handlers.urlGroupsDeleteForm: + properties: + ids: + items: + type: string + minItems: 1 + type: array + required: + - ids + type: object + handlers.urlGroupsListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.urlGroup' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.urlGroupsUpsertForm: + properties: + name: + type: string + url: + type: string + required: + - name + - url + type: object + handlers.userIDsRequest: + properties: + user_ids: + items: + type: integer + minItems: 1 + type: array + required: + - user_ids + type: object + handlers.usersCreateForm: + properties: + email: + type: string + es_type: + type: string + workspace: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert' + required: + - email + - es_type + type: object + handlers.workspaceAddMembersForm: + properties: + members: + items: + type: string + minItems: 1 + type: array + role: + type: string + required: + - members + - role + type: object + handlers.workspaceAddMembersResponse: + properties: + emails: + items: + type: string + type: array + errors: + additionalProperties: true + type: object + limit_exceeded: + type: boolean + message: + type: string + type: object + handlers.workspaceCheckMembershipInAncestryResponse: + properties: + page: + type: integer + total: + type: integer + user_has_membership: + type: boolean + type: object + handlers.workspaceCheckRolesInAncestryResponse: + properties: + page: + type: integer + total: + type: integer + user_has_role: + type: boolean + type: object + handlers.workspaceDeleteMembersForm: + properties: + members: + items: + type: string + minItems: 1 + type: array + required: + - members + type: object + handlers.workspaceDeleteResponse: + properties: + id: + type: string + type: object + handlers.workspaceIDsResponse: + properties: + workspace_ids: + items: + type: string + type: array + type: object + handlers.workspaceLightResponse: + properties: + icon: + type: string + id: + type: string + is_admin: + type: boolean + is_master: + type: boolean + parent: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent' + parent_id: + type: string + partnership_enabled: + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier' + type: array + products: + items: + type: string + type: array + role: + type: string + shared_with: + type: integer + status: + type: string + title: + type: string + users: + type: integer + type: object + handlers.workspaceMemberUpdateRoleForm: + properties: + member: + type: string + role: + type: string + required: + - member + - role + type: object + handlers.workspaceOwnershipEligibilityResponse: + properties: + user: + $ref: '#/definitions/handlers.workspaceOwnershipUser' + valid: + type: boolean + type: object + handlers.workspaceOwnershipUser: + properties: + email: + type: string + name: + type: string + profile_pic: + type: string + type: object + handlers.workspaceProduct: + properties: + id: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + is_transferable: + type: boolean + name: + type: string + type: object + handlers.workspaceResponse: + properties: + created_at: + type: string + expires_at: + type: string + icon: + type: string + id: + type: string + is_admin: + type: boolean + is_master: + type: boolean + keywords_count: + type: integer + last_updated_at: + type: string + owner: + type: string + pagespeed_urls_count: + type: integer + parent: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent' + parent_id: + type: string + partnership_enabled: + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier' + type: array + products: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + type: array + published_projects_count: + type: integer + role: + type: string + status: + type: string + subscription_tier: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + title: + type: string + users: + type: integer + type: object + handlers.workspaceSettings: + properties: + ai: + $ref: '#/definitions/handlers.ai' + ci: + $ref: '#/definitions/handlers.ci' + seo: + $ref: '#/definitions/handlers.seo' + si: + $ref: '#/definitions/handlers.si' + type: object + handlers.workspaceUpdateIconForm: + properties: + url: + type: string + type: object + handlers.workspaceUpsertForm: + properties: + icon: + type: string + title: + type: string + required: + - title + type: object + handlers.workspaceUserAPIKey: + properties: + api_key: + type: string + type: object + handlers.workspaceUserRole: + properties: + role: + $ref: '#/definitions/rbac.RoleName' + type: object + handlers.workspaceV2Response: + properties: + created_at: + type: string + expires_at: + type: string + icon: + type: string + id: + type: string + is_admin: + type: boolean + is_master: + type: boolean + keywords_count: + type: integer + last_updated_at: + type: string + owner: + type: string + pagespeed_urls_count: + type: integer + parent: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceParent' + parent_id: + type: string + partnership_enabled: + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTier' + type: array + products: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + type: array + published_projects_count: + type: integer + resources: + additionalProperties: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.EntityLimit' + type: object + type: object + role: + type: string + settings: + $ref: '#/definitions/handlers.workspaceSettings' + shared_with: + type: integer + status: + type: string + subscription_tier: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + title: + type: string + users: + type: integer + type: object + handlers.workspacesListResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.WorkspaceListItem' + type: array + page: + type: integer + total: + type: integer + type: object + handlers.workspacesMembersResponse: + properties: + items: + items: + $ref: '#/definitions/handlers.WorkspaceMember' + type: array + page: + type: integer + total: + type: integer + type: object + http_server.BasicResponse: + properties: + errors: + additionalProperties: true + type: object + message: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.AdminProject: + properties: + created_at: + type: string + domain: + type: string + id: + type: string + is_transferable: + type: boolean + keywords: + type: integer + last_updated_at: + type: string + max_pages_per_crawler: + type: integer + owner: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectOwner' + pages: + type: integer + pagespeed_urls: + type: integer + product_type: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + prompts: + type: integer + status: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProjectStatus' + title: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.DayOfWeek: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + x-enum-varnames: + - DayOfWeekMonday + - DayOfWeekTuesday + - DayOfWeekWednesday + - DayOfWeekThursday + - DayOfWeekFriday + - DayOfWeekSaturday + - DayOfWeekSunday + page-engine-backend_internal_usermanager_core_domain.EntityLimit: + properties: + drafted: + type: integer + live: + type: integer + remaining: + type: integer + total: + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.EsType: + enum: + - client + - freelancer + - pro-serve + - csm + - sales + type: string + x-enum-varnames: + - Client + - Freelancer + - ProServe + - CSM + - Sales + page-engine-backend_internal_usermanager_core_domain.Filter: + properties: + col: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.SegmentColumn' + filters: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Filter' + type: array + op: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.FilterOperator' + value: {} + type: object + page-engine-backend_internal_usermanager_core_domain.FilterOperator: + enum: + - and + - or + - eq + - neq + - begins_with + - not_begins_with + - ends_with + - not_ends_with + - contains + - not_contains + - gt + - lt + - gte + - lte + - in + type: string + x-enum-varnames: + - FilterLogicalOpAnd + - FilterLogicalOpOr + - FilterOpEqual + - FilterOpNotEqual + - FilterOpBegin + - FilterOpNotBegin + - FilterOpEnd + - FilterOpNotEnd + - FilterOpContain + - FilterOpNotContain + - FilterOpGreater + - FilterOpLess + - FilterOpGreaterEqual + - FilterOpLessEqual + - FilterOPInList + page-engine-backend_internal_usermanager_core_domain.General: + properties: + resources: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GeneralResources' + type: object + page-engine-backend_internal_usermanager_core_domain.GeneralResources: + properties: + api_units: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit' + service_credits: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit' + service_units: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit' + users: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit' + type: object + page-engine-backend_internal_usermanager_core_domain.GlobalLimitType: + enum: + - service_units + type: string + x-enum-varnames: + - GlobalLimitTypeServiceUnits + page-engine-backend_internal_usermanager_core_domain.Goal: + properties: + date_from: + description: Is set when the goal is objective + example: "2024-01-01" + format: date + type: string + date_to: + description: Is set when the goal is objective + example: "2024-02-01" + format: date + type: string + date_type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalDateType' + description: We can have monthly goals now + id: + description: ID is the goal ID in the system + type: string + lower_value: + description: May be null if we have only upper value in the threshold + type: number + metric_id: + type: string + name: + type: string + objective_value_type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType' + description: |- + ### Single objective value + `value` is used for `single` `objective_value_type` + ### Multiple objective values + `values` is used for `multiple` `objective_value_type` + type: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalType' + description: |- + ### Threshold goal + `upper_value` and `lower_value` are used for threshold goals + ### Objective goal + `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + upper_value: + description: Is set when the goal is threshold + type: number + value: + description: Set when the goal is single objective + type: number + values: + description: Set when the goal is multiple objective + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GoalValue' + type: array + required: + - id + - metric_id + - name + - type + type: object + page-engine-backend_internal_usermanager_core_domain.GoalDateType: + enum: + - month + - quarter + type: string + x-enum-varnames: + - MonthGoalDateType + - QuarterGoalDdateType + page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType: + enum: + - single + - multiple + type: string + x-enum-varnames: + - SingleGoalObjectiveValueType + - MultipleGoalObjectiveValueType + page-engine-backend_internal_usermanager_core_domain.GoalType: + enum: + - threshold + - objective + type: string + x-enum-varnames: + - ThresholdGoalType + - ObjectiveGoalType + page-engine-backend_internal_usermanager_core_domain.GoalValue: + properties: + date: + example: "2024-01-01" + format: date + type: string + value: + type: number + required: + - date + - value + type: object + page-engine-backend_internal_usermanager_core_domain.InternalProject: + properties: + benchmarks: + type: integer + core_id: + type: integer + crawlers: + type: integer + domain: + type: string + id: + type: string + keywords: + type: integer + preferred_urls: + type: integer + published_at: + type: string + publishing_failed_reason: + type: string + segments: + type: integer + tags: + type: integer + targets: + type: integer + title: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.InternalProjectV2: + properties: + core_id: + type: integer + domain: + type: string + id: + type: string + published_at: + type: string + role: + $ref: '#/definitions/rbac.RoleName' + title: + type: string + workspace_id: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List: + properties: + projects: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2' + type: array + total: + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.KeywordMetrics: + properties: + position: + type: integer + search_volume: + type: integer + traffic: + type: number + type: object + page-engine-backend_internal_usermanager_core_domain.KeywordTags: + properties: + items: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.TagWithSearch' + type: array + total: + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics: + properties: + id: + type: string + name: + type: string + position: + type: integer + search_volume: + type: integer + tags: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordTags' + traffic: + type: number + url: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse: + properties: + all_total: + type: integer + items: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics' + type: array + page: + type: integer + total: + type: integer + unassigned: + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID: + properties: + draft: + type: boolean + filters: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter' + type: array + limit: + type: integer + page: + type: integer + search: + type: string + sort: + type: string + sort_dir: + type: string + tag_id: + type: string + unassigned_only: + type: boolean + with_hierarchy: + type: boolean + type: object + page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs: + properties: + draft: + type: boolean + filters: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter' + type: array + limit: + type: integer + page: + type: integer + search: + type: string + sort: + type: string + sort_dir: + type: string + tag_ids: + items: + type: string + type: array + unassigned_only: + type: boolean + with_hierarchy: + type: boolean + type: object + page-engine-backend_internal_usermanager_core_domain.MembershipStatus: + enum: + - member + - guest + - basic + type: string + x-enum-varnames: + - MembershipStatusMember + - MembershipStatusGuest + - MembershipStatusBasic + page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter: + properties: + field: + type: string + from: + type: number + to: + type: number + type: object + page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources: + properties: + general: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.General' + product_resources: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductResources' + type: object + type: object + page-engine-backend_internal_usermanager_core_domain.Product: + properties: + id: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + limits_enabled: + type: boolean + name: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.ProductID: + enum: + - seo + - ai + - si + - ci + type: string + x-enum-varnames: + - ProductIDSEO + - ProductIDAI + - ProductIDSI + - ProductIDCI + page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata: + properties: + id: + type: string + role: + $ref: '#/definitions/rbac.RoleName' + shared_with: + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.ProductResources: + properties: + resources: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.UsedLimit' + type: object + tier: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + type: object + page-engine-backend_internal_usermanager_core_domain.ProductTier: + properties: + product: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Product' + tier: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Tier' + type: object + page-engine-backend_internal_usermanager_core_domain.ProductTierIDs: + properties: + product_id: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + tier_id: + type: string + required: + - product_id + - tier_id + type: object + page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps: + properties: + created_at: + type: string + last_updated_at: + type: string + product_id: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + tier_id: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.ProjectOwner: + properties: + email: + type: string + id: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.ProjectStatus: + enum: + - draft + - live + - publishing + - initial_publish_failed + - live_with_unpublished_updates + - subsequent_publish_failed + type: string + x-enum-varnames: + - ProjectStatusDraft + - ProjectStatusLive + - ProjectStatusPublishing + - ProjectStatusInitialPublishFailed + - ProjectStatusLiveWithUnpublishedUpdates + - ProjectStatusSubsequentPublishFailed + page-engine-backend_internal_usermanager_core_domain.SOXProductActivation: + properties: + product_activation_date: + type: string + product_name: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.SOXWorkspace: + properties: + ownerID: + type: integer + products: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.SOXProductActivation' + type: array + status: + type: string + subscription_activation_date: + type: string + subscription_expiration_date: + type: string + subscription_id: + type: integer + workspace_name: + type: string + workspace_owner: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.SegmentColumn: + enum: + - url + - url_list + - keyword + - keyword_list + - traffic + - position + - search_volume + - keyword_intent + - country + - device + - clicks + - impressions + - ctr + - gsc_position + type: string + x-enum-varnames: + - ColUrl + - ColUrlList + - ColKeyword + - ColKeywordList + - ColTraffic + - ColPosition + - ColSearchVolume + - ColKeywordIntent + - ColCountry + - ColDevice + - ColClicks + - ColImpressions + - ColCtr + - ColGscPosition + page-engine-backend_internal_usermanager_core_domain.TagWithSearch: + properties: + id: + type: string + name: + type: string + parent_id: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.Tier: + properties: + id: + type: string + name: + type: string + rank: + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.Transaction: + properties: + amount: + type: integer + balance_after: + type: integer + balance_before: + type: integer + date: + type: string + global_limit_key: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.GlobalLimitType' + id: + type: string + iid: + type: integer + operation: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionOperation' + owner_id: + type: integer + owner_name: + type: string + product_limit: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.TxProductLimit' + receipt_id: + type: integer + receipt_name: + type: string + reference_transaction_id: + type: string + service_id: + type: string + service_type: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.TransactionServiceType' + title: + type: string + workspace_id: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.TransactionOperation: + enum: + - debit + - credit + type: string + x-enum-varnames: + - TransactionOperationDebit + - TransactionOperationCredit + page-engine-backend_internal_usermanager_core_domain.TransactionServiceType: + enum: + - job_hourly + - job_fixed + - seo_workflow + - service_fee + - si_crawler + - ai_insights + type: string + x-enum-varnames: + - TransactionServiceTypeJobHourly + - TransactionServiceTypeJobFixed + - TransactionServiceTypeSEOWorkflow + - TransactionServiceTypeServiceFee + - TransactionServiceTypeSICrawler + - TransactionServiceTypeAIInsights + page-engine-backend_internal_usermanager_core_domain.TxProductLimit: + properties: + enterprise_limit_key: + example: pages + type: string + product_id: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + example: si + type: object + page-engine-backend_internal_usermanager_core_domain.UsedLimit: + properties: + drafted: + type: integer + total: + type: integer + used: + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.User: + properties: + e_mail: + type: string + es_type: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.EsType' + id: + type: integer + invite_accepted: + type: boolean + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceExpiration: + properties: + expires_at: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceParent: + properties: + id: + type: string + title: + type: string + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspacePartnership: + properties: + is_partnered: + type: boolean + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources: + properties: + product_id: + allOf: + - $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductID' + example: si + resources: + additionalProperties: + type: integer + type: object + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal: + properties: + api_units: + minimum: 0 + type: integer + logfile_analysis_mb_used: + minimum: 0 + type: integer + service_credits: + minimum: 0 + type: integer + service_units: + minimum: 0 + type: integer + users: + minimum: 0 + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO: + properties: + keywords: + minimum: 0 + type: integer + pagespeed_urls: + minimum: 0 + type: integer + projects: + minimum: 0 + type: integer + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2: + properties: + general: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal' + product_resources: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources' + type: array + seo: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO' + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceTotalLimits: + properties: + general: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal' + seo: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO' + type: object + page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert: + properties: + icon: + type: string + partnership_enabled: + default: false + type: boolean + product_tiers: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs' + type: array + title: + type: string + required: + - title + type: object + rbac.RoleName: + enum: + - role/workspace/owner + - role/workspace/admin + - role/workspace/editor + - role/workspace/viewer + - role/workspace/collaborator + - role/workspace/content-writer + - role/project/editor + - role/project/viewer + - role/keywords_list/editor + - role/keywords_list/viewer + type: string + x-enum-varnames: + - RoleWorkspaceOwner + - RoleWorkspaceAdmin + - RoleWorkspaceEditor + - RoleWorkspaceViewer + - RoleWorkspaceCollaborator + - RoleWorkspaceContentWriter + - RoleProjectEditor + - RoleProjectViewer + - RoleKeywordListEditor + - RoleKeywordListViewer +info: + contact: {} + description: This is the Semrush Enterprise Solutions (ES) User Manager API. The + User Manager handles everything around + title: User Manager API + version: "1.0" +paths: + /v1/admin/core-users: + get: + consumes: + - application/json + description: gets core users with ids + operationId: admin-core-users-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - collectionFormat: csv + description: user id + format: multi + in: query + items: + type: string + name: user_id + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.CoreUserWithAPIKey' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets core users by ids + tags: + - Admin + /v1/admin/users: + post: + consumes: + - application/json + description: |- + Creates a new enterprise user based on an existing Semrush user and workspace if provided. + Leave workspace as null to create user w/o workspace. + operationId: users-create + parameters: + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.usersCreateForm' + produces: + - application/json + responses: + "201": + description: Created + "403": + description: Forbidden + "422": + description: Unprocessable Entity + "500": + description: Internal Server Error + summary: Create a new user and master workspace + tags: + - Admin + /v1/admin/users/billing-status: + post: + consumes: + - application/json + description: Returns billing status for multiple users by user IDs + operationId: admin-get-user-billing-statuses + parameters: + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: List of user IDs + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.userIDsRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.billingStatusResponse' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Get billing status for users + tags: + - Admin + /v1/admin/users/expired: + get: + consumes: + - application/json + operationId: expired-subscription-users + parameters: + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.CoreUser' + type: array + "403": + description: Forbidden + "422": + description: Unprocessable Entity + "500": + description: Internal Server Error + summary: Gets a list of users which have expired subscriptions + tags: + - Admin + /v1/admin/workspaces: + post: + consumes: + - application/json + description: creates a child workspace + operationId: admin-workspace-child-create + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.adminWorkspaceCreateForm' + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a child workspace + tags: + - Admin + /v1/admin/workspaces/{id}/partnership: + patch: + description: This API updates the partnership flag for a workspace. + operationId: admin-workspace-update-partnership + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Request body containing partnership flag + in: body + name: request + required: true + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspacePartnership' + responses: + "204": + description: No Content + "400": + description: Bad request, invalid input parameters + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized, invalid or missing API key + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden, insufficient permissions + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Update partnership for master workspace and its children + tags: + - Admin + /v1/admin/workspaces/{id}/products: + patch: + description: |- + This API updates a product and its tier in a workspace. If the product already exists, the API updates the tier. + Changes to the product and tier are automatically propagated to the child workspaces. + If the update is for a root workspace, the product and its tier will only be updated for the root workspace and will not propagate to all workspaces in the system. + This API only applies to master workspaces and cannot be used for non-master workspaces. + operationId: admin-workspace-product-update + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Request body containing product and tier details + in: body + name: request + required: true + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad request, invalid input parameters + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized, invalid or missing API key + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden, insufficient permissions + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Update a product and its tier in a master workspace and propagate changes + to child workspaces + tags: + - Admin + post: + description: |- + This API allows adding a product and its tier to the master workspace. + If the product already exists, the tier will be updated for the workspace. + For root workspaces, the product is added or updated only in the root workspace. + Note: This API cannot be used to add products and tiers to non-master workspaces. + operationId: admin-workspace-product-create + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Request body containing product and tier details + in: body + name: request + required: true + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductTierIDs' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad request, invalid input parameters + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized, invalid or missing API key + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden, insufficient permissions + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Add a product and its tier to master workspace and propagate changes + to its child workspaces + tags: + - Admin + /v1/admin/workspaces/{id}/products/{product_id}: + delete: + description: |- + This API deletes a product and its tier from a master workspace. If the product is removed from the root workspace, it will only be deleted from the root workspace and not from all workspaces in the system. + For non-root workspaces, the product and its tier are automatically deleted from the workspace and its child workspaces. + Note: This API can only be used to delete products from master workspaces. Non-master workspaces' products cannot be deleted using this API. + operationId: admin-workspace-product-delete + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Product ID (UUID) + in: path + name: product_id + required: true + type: string + responses: + "204": + description: No Content + "400": + description: Bad request, invalid input parameters + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized, invalid or missing API key + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden, insufficient permissions + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Delete a product and its tier from a master workspace and propagate + changes to child workspaces + tags: + - Admin + /v1/admin/workspaces/{id}/projects/{project_id}: + delete: + consumes: + - application/json + description: deletes an ES project which is already deleted from core + operationId: admin-es-project-delete + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectDeleteResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes an ES project which is already deleted from core + tags: + - Admin + /v1/admin/workspaces/activation-panel/app: + get: + description: Gets you index.html of an spa that is hosted for Admin + operationId: activation-panel-spa + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - text/html + responses: + "200": + description: OK + schema: {} + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Are you 100% sure you really want to get the whole html page via swagger? + tags: + - ActivationPanel + /v1/admin/workspaces/api/{id}/expire-subscription: + patch: + description: This API updates the expiration date for a partnership workspace. + operationId: admin-workspace-update-expiration + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Request body containing expiration date + in: body + name: request + required: true + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceExpiration' + responses: + "204": + description: No Content + "400": + description: Bad request, invalid input parameters + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized, invalid or missing API key + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Workspace not found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable entity, not a master or partnership workspace + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Update expiration date for master workspace + tags: + - ActivationPanel + /v1/admin/workspaces/api/create: + post: + consumes: + - application/json + description: creates a master workspace (made for Activation Panel) + operationId: activation-panel-workspace-create-master + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.activationPanelWorkspaceCreateForm' + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "201": + description: Created + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a master workspace (made for Activation Panel) + tags: + - ActivationPanel + /v1/admin/workspaces/api/list: + get: + description: returns all first-level workspaces (children of the root) including + their limits as well as the full hierarchy of their descendant workspaces + with limits + operationId: activation-panel-get-all-workspaces + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.ActivationPanelWorkspace' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: lists all workspaces with limits and hierarchy for Activation Panel + tags: + - ActivationPanel + /v1/admin/workspaces/api/logs: + get: + description: lists all admin activity logs for Activation Panel + operationId: activation-panel-get-all-admin-activities + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: filter by admin user ID + in: query + name: admin_id + type: string + - description: filter by workspace ID (UUID format) + in: query + name: workspace_id + type: string + - description: filter by action name + in: query + name: action + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.ActivationPanelAdminActivityResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: lists all admin activity logs for Activation Panel + tags: + - ActivationPanel + /v1/admin/workspaces/api/organization/{id}: + get: + description: Returns a single workspace (by id) with all the data necessary + for Activation Panel, including limits and child workspaces. + operationId: activation-panel-get-workspace + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.ActivationPanelWorkspaceWithLimits' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get a single workspace with all the data necessary for Activation Panel + tags: + - ActivationPanel + /v1/admin/workspaces/api/organization/{id}/users-report: + get: + description: This API lists all users associated with a specific workspace and + its child workspaces and returns a CSV file. + operationId: activation-panel-users-report + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: Workspace ID (UUID) + in: path + name: id + required: true + type: string + produces: + - text/csv + responses: + "200": + description: CSV file containing workspace users report + schema: + type: string + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: lists workspace and its children report of users + tags: + - Admin + /v1/admin/workspaces/api/organizations: + get: + description: lists all organizations workspaces required for Activation Panel. + Only first-level workspaces are returned without their limits and children + – kept for backward compatibility with organization route. + operationId: activation-panel-get-all-organizations + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.ActivationPanelWorkspaceListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: lists all organizations workspaces (only first-level, without limits) + tags: + - ActivationPanel + /v1/admin/workspaces/api/permissions: + get: + consumes: + - application/json + description: creates a master workspace (made for Activation Panel) + operationId: activation-panel-workspace-permissions + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.ActivationPanelPermissionsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a master workspace (made for Activation Panel) + tags: + - ActivationPanel + /v1/admin/workspaces/api/subscriptions/update: + put: + consumes: + - application/json + description: updates subscription details for a workspace and its children + operationId: activation-panel-subscription-update + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.activationPanelSubscriptionForm' + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates subscription details for a workspace and its children + tags: + - ActivationPanel + /v1/admin/workspaces/api/update/{id}: + put: + consumes: + - application/json + description: updates a workspace matching with id (made for Activation Panel). + Title and icon can be updated for any workspace (including child workspaces). + Icon can be set to empty string. Product tiers can only be updated for master + workspaces (direct children of root workspace). + operationId: activation-panel-workspace-update + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert' + produces: + - application/json + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a workspace (made for Activation Panel) + tags: + - ActivationPanel + /v1/admin/workspaces/api/users/{email}: + get: + consumes: + - application/json + description: checks if customer can be activated + operationId: activation-panel-check-owner-email + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: customer's email + in: path + name: email + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.ActivationPanelBillingStatusCoreAccountId' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: checks if customer can be activated + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces: + get: + consumes: + - application/json + description: 'retrieves all workspaces with basic metadata fields: ID, Title, + Icon, and ParentID (made for Activation Panel)' + operationId: activation-panel-all-workspaces-find + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.ActivationPanelWorkspaceMetadata' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: retrieves all workspaces metadata (made for Activation Panel) + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings: + get: + consumes: + - application/json + description: Endpoint to get daily or weekly (with day of week) prompt settings + for AIO product. + operationId: activation-panel-aio-settings-get + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.activationPanelAIOPromptSettingsForm' + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.activationPanelAIOPromptSettingsGetForm' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get daily or weekly (with day of week) prompt settings + tags: + - ActivationPanel + put: + consumes: + - application/json + description: Endpoint to create or update daily or weekly (with day of week) + prompt settings for AIO product. + operationId: activation-panel-aio-settings-upsert + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.activationPanelAIOPromptSettingsForm' + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: create or update daily or weekly (with day of week) prompt settings + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces/{id}/products: + get: + description: Returns a list of products (with ID and name) that are enabled + for a specific workspace + operationId: activation-panel-workspace-products-get + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceProduct' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace products for Activation Panel + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces/{id}/projects: + get: + description: Returns a paginated list of projects for a specific workspace with + support for search, sorting, and status filtering using cursor-based pagination. + If next_cursor is not provided, results are returned from the start. Use the + next_cursor value from the response to fetch subsequent pages. + operationId: activation-panel-projects-find + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Search term for filtering projects + in: query + name: search + type: string + - description: 'Sort direction (ASC/DESC, default: DESC)' + enum: + - ASC + - DESC + in: query + name: sort_direction + type: string + - description: Field to sort by (created_at/last_updated_at) + enum: + - created_at + - last_updated_at + in: query + name: sort_field + type: string + - description: Filter by project status + enum: + - draft + - live + - publishing + - initial_publish_failed + - live_with_unpublished_updates + - subsequent_publish_failed + in: query + name: status + type: string + - description: Filter by product + enum: + - seo + - ai + - si + - ci + in: query + name: product + type: string + - description: Cursor for pagination (obtain from previous response's next_cursor + field). If omitted, starts from the beginning. Cursors are signed and validated + to ensure query consistency. + in: query + name: next_cursor + type: string + - description: Page size (max 50) + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.AdminProjectsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: lists projects for a workspace with filtering and pagination + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces/{id}/projects/transfer: + post: + consumes: + - application/json + description: Transfers a list of projects from a source workspace to a target + workspace. Only AI projects with transferable status can be moved. SEO and + SI projects will be marked as failed. The endpoint validates target workspace + product enablement, available resource limits (projects, keywords, pages, + prompts, pagespeed URLs), and RBAC roles. Users with explicit project roles + or workspace roles in the source workspace will be granted appropriate roles + in the target workspace. Returns a map of failed project IDs with failure + reasons (empty map indicates all projects transferred successfully). + operationId: activation-panel-projects-transfer + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: Source Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Transfer request containing project IDs and target workspace + ID + in: body + name: body + required: true + schema: + $ref: '#/definitions/handlers.adminProjectTransferForm' + produces: + - application/json + responses: + "200": + description: "Map of failed project IDs to error reasons. Empty map means + all projects transferred successfully. Example: {\\\"proj-uuid-1\\\": + \\\"project\tis\tnot\ttransferable\\\", \\\"proj-uuid-2\\\": \\\"project\tnot\tfound\\\"}" + schema: + additionalProperties: + type: string + type: object + "401": + description: Unauthorized - Invalid or missing authentication + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden - Missing editWorkspaces permission + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity - Invalid workspace ID, project IDs, or + request body validation errors + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: 'Internal Server Error - Possible errors: workspace not found, + workspace product not enabled, insufficient SEO projects, insufficient + AI projects, insufficient AI prompts, insufficient SI crawl budget, insufficient + keywords, insufficient pagespeed URLs' + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: transfers projects from one workspace to another + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces/{id}/resources: + get: + description: Returns workspace resources including general resources (users, + service credits, API units) and product-specific resources (SEO, AI, SI) for + a specific workspace + operationId: activation-panel-workspace-resources + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace resources for Activation Panel + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces/{id}/smb-migration: + post: + consumes: + - application/json + description: Migrate SMB projects from list of corporate owners to target workspace + operationId: activation-panel-projects-migration + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: Target Workspace ID (UUID) + in: path + name: id + required: true + type: string + - description: Transfer request containing account IDs + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.adminSmbProjectMigrationForm' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized - Invalid or missing authentication + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden - Missing editWorkspaces permission + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Migrate SMB projects + tags: + - ActivationPanel + /v1/admin/workspaces/api/workspaces/{id}/smb-migration-report: + get: + consumes: + - application/json + description: Get report for SMB projects migration for given workspaceID as + comma separated csv + operationId: activation-panel-projects-migration-report + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + - description: Target Workspace ID (UUID) + in: path + name: id + required: true + type: string + produces: + - text/csv + responses: + "200": + description: OK + "400": + description: Bad request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized - Invalid or missing authentication + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden - Missing editWorkspaces permission + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: SMB projects migration report + tags: + - ActivationPanel + /v1/admin/workspaces/managers: + post: + consumes: + - multipart/form-data + description: imports workspace managers from CSV data where each row contains + a workspace ID and its manager user IDs + operationId: workspace-manager-import + parameters: + - description: CSV file containing workspace IDs and user IDs + in: formData + name: file + required: true + type: file + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: imports workspace managers from CSV + tags: + - Admin + /v1/admin/workspaces/master: + post: + consumes: + - application/json + description: creates a master workspace + operationId: admin-workspace-create-master + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.adminWorkspaceUpsertForm' + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a master workspace + tags: + - Admin + /v1/admin/workspaces/tiers: + get: + consumes: + - application/json + description: this API returns list of available tiers + operationId: activation-panel-tiers-list + parameters: + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tiersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: return list of tiers + tags: + - ActivationPanel + /v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions: + get: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use GET /v2/adobe-analytics/dimensions with credential_id, + global_company_id, rsid in query instead.' + operationId: adobe-analytics-get-dimensions + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: adobe_proxy_auth_id identifier + in: path + name: adobe_proxy_auth_id + required: true + type: string + - description: Adobe global company ID + in: path + name: global_company_id + required: true + type: string + - description: Report Suite ID + in: query + name: rsid + required: true + type: string + produces: + - application/json + responses: + "200": + description: dimensions retrieved successfully + schema: + items: + $ref: '#/definitions/handlers.Dimension' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: '[DEPRECATED] Gets Adobe dimensions' + tags: + - Adobe Analytics + /v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics: + get: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use GET /v2/adobe-analytics/metrics with credential_id, + global_company_id, rsid in query instead.' + operationId: adobe-analytics-get-metrics + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: adobe_proxy_auth_id identifier + in: path + name: adobe_proxy_auth_id + required: true + type: string + - description: Adobe global company ID + in: path + name: global_company_id + required: true + type: string + - description: Report Suite ID + in: query + name: rsid + required: true + type: string + produces: + - application/json + responses: + "200": + description: metrics retrieved successfully + schema: + items: + $ref: '#/definitions/handlers.Metric' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: '[DEPRECATED] Gets Adobe metrics' + tags: + - Adobe Analytics + /v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation: + post: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use POST /v2/adobe-analytics/credentials/metrics-dimensions/validation + with credential_id in body instead.' + operationId: adobe-analytics-validate + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Adobe Proxy Auth ID + in: path + name: adobe_proxy_auth_id + required: true + type: string + - description: Global Company ID + in: path + name: global_company_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsValidateRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsValidateResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + "500": + description: Internal Server Error + summary: '[DEPRECATED] Validate Adobe Analytics metrics and dimensions' + tags: + - Adobe Analytics + /v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites: + get: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use GET /v2/adobe-analytics/reportsuites with credential_id + and global_company_id in query instead.' + operationId: adobe-analytics-get-report-suites + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: adobe_proxy_auth_id identifier + in: path + name: adobe_proxy_auth_id + required: true + type: string + - description: Adobe global company ID + in: path + name: global_company_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: report suites retrieved successfully + schema: + items: + $ref: '#/definitions/handlers.ReportSuite' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: '[DEPRECATED] Gets Adobe report suites' + tags: + - Adobe Analytics + /v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated: + get: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use GET /v2/adobe-analytics/reportsuites/paginated + with credential_id and global_company_id in query instead.' + operationId: adobe-analytics-get-report-suites-paginated + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: adobe_proxy_auth_id identifier + in: path + name: adobe_proxy_auth_id + required: true + type: string + - description: Adobe global company ID + in: path + name: global_company_id + required: true + type: string + - default: 10 + description: Number of items per page + in: query + name: size + type: integer + - default: 1 + description: Page number (1-indexed) + in: query + name: page + type: integer + produces: + - application/json + responses: + "200": + description: report suites with pagination retrieved successfully + schema: + $ref: '#/definitions/handlers.AdobeReportSuitesResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: '[DEPRECATED] Gets Adobe report suites with pagination' + tags: + - Adobe Analytics + /v1/adobe-analytics/{adobe_proxy_auth_id}/status: + get: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use GET /v2/adobe-analytics/status with credential_id + in query instead. Gets Adobe credentials status by adobe_proxy_auth_id.' + operationId: adobe-analytics-get-status + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: adobe_proxy_auth_id identifier + in: path + name: adobe_proxy_auth_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: status retrieved successfully + schema: + $ref: '#/definitions/handlers.AdobeCredentialStatusInfo' + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: '[DEPRECATED] Gets Adobe credentials status' + tags: + - Adobe Analytics + /v1/adobe-analytics/credentials: + post: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use POST /v2/adobe-analytics/credentials instead (returns + credential_id, not adobe_proxy_auth_id).' + operationId: adobe-analytics-create-credentials + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Credentials creation request + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeCredentialsCreateRequest' + produces: + - application/json + responses: + "201": + description: credentials created successfully + schema: + $ref: '#/definitions/handlers.AdobeCredentialsInfo' + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: '[DEPRECATED] Creates Adobe Analytics credentials' + tags: + - Adobe Analytics + /v1/adobe-analytics/status/bulk: + post: + consumes: + - application/json + deprecated: true + description: 'Deprecated: will be removed without replacement. Use GET /v2/adobe-analytics/status + per credential_id instead.' + operationId: adobe-analytics-get-bulk-status + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Bulk status request with list of adobe_proxy_auth_ids + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeBulkStatusRequest' + produces: + - application/json + responses: + "200": + description: statuses retrieved successfully + schema: + $ref: '#/definitions/handlers.AdobeBulkStatusResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: '[DEPRECATED] Gets multiple Adobe credentials statuses' + tags: + - Adobe Analytics + /v1/countries: + get: + consumes: + - application/json + description: gets a list of countries + operationId: countries + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.Country' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of countries + tags: + - Geo + /v1/goals/metrics: + get: + consumes: + - application/json + description: this API returns list of goals metrics + operationId: goals-metrics-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.goalMetricsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: returns goals metrics + tags: + - Goals + /v1/internal/core-users: + get: + consumes: + - application/json + description: gets core users with ids + operationId: internal-core-users-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - collectionFormat: csv + description: user id + format: multi + in: query + items: + type: string + name: user_id + type: array + - collectionFormat: csv + description: comma separated user ids + format: multi + in: query + items: + type: string + name: user_ids + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.CoreUser' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets core users by ids + tags: + - Internal + /v1/internal/projects/all: + get: + description: gets a list of live & published projects from all workspaces + operationId: internal-project-all-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - default: 1 + description: page number + in: query + name: page + type: integer + - default: 25 + description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.InternalProjectsList' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of live & published projects from all workspaces + tags: + - Internal + /v1/internal/projects/restore: + post: + description: restore deleted project on enterprise + operationId: internal-restore-project + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Restore project + tags: + - Internal + /v1/internal/targets/all: + get: + description: gets all live targets + operationId: internal-all-live-targets + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: {} + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets all live targets + tags: + - Internal + /v1/internal/transactions: + post: + consumes: + - application/json + description: Creates a service credits transaction, + operationId: transaction-create + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.TransactionsCreateForm' + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.Transaction' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Creates a service credits transaction, + tags: + - Internal + /v1/internal/transactions/{transaction_id}: + get: + consumes: + - application/json + description: Gets a service credits transaction + operationId: service-credits-internal-transaction-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: transaction id + in: path + name: transaction_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.Transaction' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets a service credits transaction + tags: + - Internal + /v1/internal/transactions/{transaction_id}/cancel: + post: + consumes: + - application/json + description: Cancel a service credits transaction + operationId: transaction-cancel + parameters: + - description: transaction id + in: path + name: transaction_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.TransactionsCancelForm' + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.Transaction' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Cancel a service credits transaction + tags: + - Internal + /v1/internal/transactions/list: + post: + consumes: + - application/json + description: Gets a list of service credits transactions + operationId: service-credits-internal-transactions-list + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.TransactionsListForm' + - description: API key + in: header + name: API-Key + required: true + type: string + - description: sorting direction + in: query + name: direction + type: string + - description: sorting field + in: query + name: field + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.transactionsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets a list of service credits transactions + tags: + - Internal + /v1/internal/users: + get: + consumes: + - application/json + description: |- + gets profiles of users by ids filtered by es_type + profiles include all workspaces where users have access + operationId: profiles-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - collectionFormat: csv + description: user id + format: multi + in: query + items: + type: string + name: user_id + type: array + - description: user id + format: string + in: query + name: es_type + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.UserProfile' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets complete profiles of users by ids + tags: + - Internal + /v1/internal/users/{user_id}: + put: + consumes: + - application/json + description: This is an internal API to update a user's profile which is intended + to be used by other ES services. + operationId: user-profile-update-internal + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: user id + in: path + name: user_id + required: true + type: integer + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.InternalProfileUpdate' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.UserProfile' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: An internal API to update a user's profile + tags: + - Internal + /v1/internal/users/all: + get: + operationId: internal-all-es-users + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - default: 1 + description: page number + in: query + name: page + type: integer + - default: 25 + description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.InternalESUsersList' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: An internal API to find all ES users + tags: + - Internal + /v1/internal/users/api-key/{api_key}: + get: + consumes: + - application/json + description: This is an internal API to fetch user data of the owner of the + API key. + operationId: user-by-api-key-get-internal + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.BasicUserProfile' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Internal API to retrieve user data using an API key + tags: + - Internal + /v1/internal/users/basic: + get: + consumes: + - application/json + description: |- + gets profiles of users by ids + basic profile data + operationId: basic-profiles-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - collectionFormat: csv + description: user id + format: multi + in: query + items: + type: string + name: user_id + type: array + - description: user ES type + format: string + in: query + name: es_type + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.BasicUserProfile' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets basic profiles of users by ids + tags: + - Internal + /v1/internal/workspaces/{id}: + get: + description: internal API to get workspace by id. + operationId: internal-workspace-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.internalWorkspace' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: internal API to get workspace by id + tags: + - Internal + /v1/internal/workspaces/{id}/ancestors: + get: + description: |- + an internal API to get ancestor(parents/grandparents) of a workspace. + Ancestors list does not include current workspace. + operationId: internal-workspaces-ancestor + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: an internal API to get ancestor(parents/grandparents) of a workspace + tags: + - Internal + /v1/internal/workspaces/{id}/api-key: + get: + consumes: + - application/json + description: |- + This API gets workspace's owner API key, this API can be used by admin/owner of workspace + other users can't get admin's API + 400 is returned if user email is not passed in query + operationId: internal-workspace-owner-api-key-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceUserAPIKey' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace owner's API key + tags: + - Internal + /v1/internal/workspaces/{id}/family: + get: + description: an admin API to get a list of all children, grand children workspaces + operationId: internal-workspaces-family + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: an internal API to get a list of workspace children + tags: + - Internal + /v1/internal/workspaces/{id}/managers: + get: + description: gets a list of all managers for a specific workspace + operationId: workspace-managers-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.basicWorkspacesMembersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace managers + tags: + - Internal + /v1/internal/workspaces/{id}/members: + get: + description: gets a workspace's members + operationId: internal-workspaces-members + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: asc/desc + in: query + name: direction + type: string + - description: search by email + in: query + name: search + type: string + - description: search by role name + in: query + name: role + type: string + - description: search by membership status + in: query + name: membership_status + type: string + - description: include parental admins + in: query + name: include_parental_admins + type: boolean + - description: include parent workspace + in: query + name: include_parent_workspace + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspacesMembersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get workspace members + tags: + - Internal + post: + consumes: + - application/json + description: |- + internal API to add members to a workspace and assigns them a specific role + in response it returns number of user units consumed + -ve value means workspace user units are consumed and users are invited to corporate account. + 0 values mean user units are not changed and corporate account remains unaffected. + **Note**: External users (without @semrsuh.com email) cannot be invited to Semrush workspaces. + operationId: internal-workspace-add-members + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.workspaceAddMembersForm' + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceMemberUpsertResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + summary: internal API to add members to a workspace + tags: + - Internal + /v1/internal/workspaces/{id}/members/{user_id}/roles/status: + get: + description: checks whether user has one of the provided workspace roles in + the current workspace or ancestors + operationId: workspaces-check-roles-in-ancestry + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: user id + in: path + name: user_id + required: true + type: integer + - collectionFormat: csv + description: roles + in: query + items: + type: string + name: roles + required: true + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceCheckRolesInAncestryResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: check role status in hierarchy + tags: + - Workspaces + /v1/internal/workspaces/{id}/members/{user_id}/status: + get: + description: |- + Checks whether the user has membership in the workspace hierarchy (current workspace + descendants). + If the optional `membership` query parameter is provided, only those statuses are treated as valid. + Valid values: `member`, `guest`, `basic`. + If `membership` is omitted, the default behavior is backward compatible: membership is checked by subscription match + (`user.SubscriptionID == desc.SubscriptionID`), not by membership status. + operationId: workspaces-check-membership-in-ancestry + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: userId + required: true + type: integer + - collectionFormat: csv + description: 'Filter by membership status. If provided, only these statuses + are considered valid. Allowed: member, guest, basic.' + in: query + items: + type: string + name: membership + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceCheckMembershipInAncestryResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: check membership status + tags: + - Workspaces + /v1/internal/workspaces/{id}/pagespeed-crawlers: + get: + consumes: + - application/json + description: gets a list pagespeed crawlers that belong to a workspace + operationId: pagespeed-internal-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: results offset + in: query + name: offset + type: integer + - description: page size + in: query + name: limit + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedCrawlersInternalListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list pagespeed crawlers of a workspace + tags: + - Internal + /v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords: + get: + consumes: + - application/json + description: gets a list of keywords of pagespeed crawler by its id. + operationId: pagespeed-internal-keywords-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: results offset + in: query + name: offset + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedInternalKeywordsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of keywords of pagespeed crawlers + tags: + - Internal + /v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls: + get: + consumes: + - application/json + description: gets a list of urls of pagespeed crawler by its id. + operationId: pagespeed-internal-urls-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: results offset + in: query + name: offset + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedURLsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of urls of pagespeed crawlers + tags: + - Internal + /v1/internal/workspaces/{id}/projects: + get: + description: gets a list of all projects that belong to a workspace. + operationId: project-list-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of projects belongs to a workspace + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/goals: + get: + consumes: + - application/json + description: this API returns a list of normalized goals for a live project + operationId: internal-goals-list + parameters: + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: limit number + in: query + name: limit + type: integer + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.internalGoalsListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: list of normalised goals + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/public/segments: + get: + consumes: + - application/json + description: |- + This is a proxy internal API to public API **Segment** */workspaces/{id}/projects/{project_id}/segments [get]* + which gets a list of segments that belong to a project. + For description of response fields like conditions and filters, + see segment create under **Segment** */workspaces/{id}/projects/{project_id}/segments [post]* + operationId: internal-public-project-segment-list-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: search by segment name + in: query + name: search + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.SegmentListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: This is a proxy internal API which gets a list of public segments of + a project. + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/segments: + get: + consumes: + - application/json + description: |- + gets a list of segments that belong to a project. + *filters* here is the exact representation of the filters in the pagemanager. + **filters representations:** + `col` is one of *url, keyword*. Note: *url_list* is represented as *url* in pagemanager. + `op` is one of *and, or, eq, neq, begins_with, not_begins_with, ends_with, not_ends_with, contains, + not_contains, gt, lt, gte, lte, in*. + `value` is string type. It becomes array of string in case of *in* operator as an exceptional case. + *Notes*: + * *url_list* always has *in* operator. Only zero or one url_list contains in the whole filters object. + * *filters* logical operators *and, or* will not have *col, value* and will have nested *filters*. + * *filters* logical operators *and, or* will have maximum depth up to 5 levels from the root. + * *filters* non-logical operators will have *col, value* and will not have nested *filters*. + * *filters* non-logical operators will have maximum 20 leaves in a single filter object. + operationId: internal-project-segment-list-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.SegmentListInternalResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of segments of a project with pagemanager representation + of filters + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}: + get: + consumes: + - application/json + description: |- + For description of response fields like conditions and filters, + see segment create under **Segment** */workspaces/{id}/projects/{project_id}/segments [post]* + operationId: internal-project-segments-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: segment id + in: path + name: segment_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.SegmentListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: This is a proxy internal API which gets a segment of a project. + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/targets: + get: + consumes: + - application/json + description: gets a list of targets that belong to a project + operationId: project-target-list-get-internal + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.targetListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of targets of a project + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}: + get: + consumes: + - application/json + description: gets target details + operationId: internal-project-target-details + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.Target' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets target details + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input: + get: + consumes: + - application/json + description: this API lists internal benchmarks of a project + operationId: internal-benchmarks-input + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: benchmark ids + in: query + name: ids + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.InternalBenchmark' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: finds a list of internal benchmarks of a project + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input: + get: + consumes: + - application/json + description: gets internal target details + operationId: internal-project-target-input-details + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.InternalTarget' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets internal target details + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged: + get: + consumes: + - application/json + description: this API gets tagged keywords with the underscore (__) syntax. + operationId: project-get-tagged-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.taggedKeywordsCreateForm' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets tagged keywords + tags: + - Keywords + /v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search: + get: + operationId: project-internal-search-list-tags + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: search + in: query + name: search + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tagsListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: internal API to search tags list by name + tags: + - Internal + /v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree: + get: + consumes: + - application/json + description: |- + this API returns all ancestors of tag upto root level, this API does not return children of tags. + API does not return full tree. + operationId: project-internal-tags-tree + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: tag id + in: query + name: tag_id + required: true + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.TagsTreeResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: internal API to find tags parents upto top level + tags: + - Internal + /v1/internal/workspaces/{id}/projects/targets: + get: + consumes: + - application/json + description: gets a list of targets of all live projects by workspace id + operationId: internal-live-projects-target-list-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - default: 19193849-51bf-413d-9ed9-45a63e649887 + description: workspace id + in: path + name: id + required: true + type: string + - description: user id + in: query + name: user_id + required: true + type: integer + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.targetListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of targets of all live projects by workspace id + tags: + - Internal + /v1/internal/workspaces/{id}/resources: + get: + description: Returns workspace resources including general resources (users, + service credits, API units) and product-specific resources (SEO, AI, SI) for + a specific workspace + operationId: internal-workspace-resources + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + security: + - ApiKeyAuth: [] + summary: gets workspace resources + tags: + - Internal + /v1/internal/workspaces/{id}/service-units: + get: + description: gets service units + operationId: service-units-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.getServiceUnitsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets service units + tags: + - Internal + put: + description: sets service units + operationId: service-units-set + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.setServiceUnitsForm' + produces: + - application/json + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: sets service units + tags: + - Internal + /v1/internal/workspaces/{id}/service-units/used: + put: + description: sets used service units + operationId: service-units-used-set + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.setServiceUnitsForm' + produces: + - application/json + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: sets used service units + tags: + - Internal + /v1/internal/workspaces/{workspace_id}/connections: + get: + consumes: + - application/json + description: Returns a paginated list of workspace connections for service-to-service + use (e.g. LFA connector status updater). Same query parameters as the user-facing + list endpoint. + operationId: internal-workspace-connections-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: Number of page + in: query + name: page + type: integer + - description: 'Number of items per page (default: 10)' + in: query + name: limit + type: integer + - description: 'Connection type filter: google-ads, google-analytics, google-console, + adobe-analytics, log-file-connector' + in: query + name: type + type: string + - description: Owner filter + in: query + name: owner_id + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceConnectionsResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "404": + description: Not Found + "500": + description: Internal Server Error + summary: List workspace connections (internal) + tags: + - Internal + /v1/internal/workspaces/{workspace_id}/connections/{connection_id}: + get: + consumes: + - application/json + description: Retrieves the details of workspace connection. Returns adobe_proxy_auth_id + instead of credential_id for adobe analytics connections. + operationId: internal-workspace-connection-byid + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.InternalWorkspaceConnectionDetails' + "400": + description: Bad Request + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Get workspace connection by connection ID (internal) + tags: + - Internal + /v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}: + put: + consumes: + - application/json + description: Updates an existing Log File Analysis connection using internal + API key authentication (e.g. LFA connector status updater). The connection + must belong to the workspace and be of type log-file-connector. + operationId: internal-log-file-analysis-connection-update + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceConnection' + "400": + description: Bad Request + "401": + description: Unauthorized + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Update Log File Analysis connection (internal) + tags: + - Internal + /v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status: + patch: + consumes: + - application/json + description: Persists connector-reported success or error status. Returned on + all workspace connection GET endpoints for this connection. + operationId: internal-log-file-analysis-connection-status-patch + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.LogFileAnalysisConnectorStatusPayload' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad Request + "401": + description: Unauthorized + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Update Log File Analysis connector status (internal) + tags: + - Internal + /v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections: + get: + consumes: + - application/json + description: Retrieves a list of connection IDs attached to a specific project. + operationId: internal-workspace-project-connections + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: Array of connection IDs + schema: + items: + $ref: '#/definitions/handlers.ProjectConnectionResponse' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Get connections for a specific project + tags: + - Internal + /v1/internal/workspaces/all: + get: + description: gets a list of all workspaces + operationId: internal-workspaces-all-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: workspaces list + tags: + - Internal + /v1/internal/workspaces/limits: + get: + description: gets limits for all workspaces + operationId: internal-workspaces-limits + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + additionalProperties: + $ref: '#/definitions/handlers.OptionsLimits' + type: object + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get limits for all workspaces + tags: + - Internal + /v1/internal/workspaces/members/batch: + post: + description: gets batch workspace members + operationId: internal-batch-workspaces-members + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.batchWorkspaceMembersRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.basicWorkspacesMembersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get batch workspace members + tags: + - Internal + /v1/internal/workspaces/root: + get: + description: gets a root workspace + operationId: internal-workspace-get-root + parameters: + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a root workspace + tags: + - Internal + /v1/internal/workspaces/sox: + get: + description: gets the list of all workspaces for SOX compliance + operationId: internal-workspaces-sox-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.SOXWorkspace' + type: array + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: workspaces list (SOX compliance) + tags: + - Internal + /v1/internal/workspaces/tiers: + get: + consumes: + - application/json + description: this API returns list of available tiers + operationId: internal-tiers-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tiersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: return list of tiers + tags: + - Internal + /v1/languages: + get: + consumes: + - application/json + description: gets a list of languages + operationId: languages + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.Language' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of languages + tags: + - Geo + /v1/locations: + get: + consumes: + - application/json + description: |- + this API gets locations from core /get_locations api and pass them in response + get_locations api docs can be here(https://kb.semrush.net/display/BlueTeam/locations+get_ + operationId: locations + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: location name(deprecated use q) + in: query + name: location + type: string + - description: filter by location, alias for location + in: query + name: q + type: string + - description: location id + in: query + name: id + type: integer + - description: filter by search engine(bing) + in: query + name: filter_engine + type: string + produces: + - application/json + responses: + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: proxy request for getting locations + tags: + - Core APIs + /v1/profile: + get: + consumes: + - application/json + description: gets user's own profile + operationId: user-profile + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.UserProfile' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets user's own profile + tags: + - Users + post: + consumes: + - application/json + description: updates user's own profile + operationId: user-profile-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.profileUpdate' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.UserProfile' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates user's own profile + tags: + - Users + /v1/users/required-units: + post: + operationId: users-required-units + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.RequiredUserUnitsForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.RequiredUserUnitsResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: An API that returns number of users required to invite them on workspace + tags: + - Users + /v1/users/workspace-ownership-eligibility: + get: + consumes: + - application/json + description: |- + API validates if user can become owner of children workspace + by validating user exists on core and does not have subscription. + 404 is returned if user does not exist on core + 422 is returned if user already has core subscription + 400 is returned if user email is not passed in query + operationId: user-ownership-eligibility + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: user id + format: string + in: query + name: email + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceOwnershipEligibilityResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: validates if user can become owner of a children workspace + tags: + - Users + /v1/work-categories: + get: + consumes: + - application/json + description: gets a list of work categories + operationId: work-categories + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.WorkCategory' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of work categories + tags: + - Work Categories + /v1/workspaces: + get: + description: gets a list of workspaces owned by the user + operationId: workspaces-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspacesListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: workspaces list + tags: + - Workspaces + /v1/workspaces/{id}: + delete: + description: |- + deletes workspace matching with id. + In order to delete a workspace make sure workspace does not have any children otherwise + API will fail to process + operationId: workspace-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceDeleteResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes a workspace + tags: + - Workspaces + get: + description: gets workspace details matching with id + operationId: workspace-details + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace details + tags: + - Workspaces + put: + consumes: + - application/json + description: updates a workspace matching with id + operationId: workspace-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.workspaceUpsertForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a workspace + tags: + - Workspaces + /v1/workspaces/{id}/api_units: + get: + operationId: workspace-api-units-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.APIUnitsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets API units of a workspace + tags: + - Workspaces + /v1/workspaces/{id}/campaigns/{campaign_id}/keywords: + get: + description: gets keywords that belong to a campaign. + operationId: workspaces-campaign-keywords-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: campaign id + in: path + name: campaign_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.keywordsListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets keywords + tags: + - Keywords + /v1/workspaces/{id}/child: + post: + consumes: + - application/json + description: |- + Creates a child workspace. If field owner is provided, + then the existing user will be the owner of the child workspace, + otherwise the virtual owner of this workspace will be created. + operationId: workspace-child-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Signed upload receipt token + in: header + name: X-Upload-Receipt + required: true + type: string + - description: parent workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.WorkspaceCreateChildForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a child workspace + tags: + - Workspaces + /v1/workspaces/{id}/family: + get: + description: an API to get a list of all children, grand children workspaces + which belong to a workspace + operationId: workspaces-family + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: an API to get a list of workspaces family + tags: + - Workspaces + /v1/workspaces/{id}/has_children: + get: + operationId: workspaces-has-children + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.HasChildrenResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: API to returns true/false if workspace has or does not have children + tags: + - Workspaces + /v1/workspaces/{id}/icon: + put: + consumes: + - application/json + description: Validates the Ed25519-signed receipt from the upload service, then + stores the icon URL. + operationId: workspace-update-icon + parameters: + - description: Workspace UUID + in: path + name: id + required: true + type: string + - description: Signed upload receipt token + in: header + name: X-Upload-Receipt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.workspaceUpdateIconForm' + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Updates workspace icon using a signed upload receipt + tags: + - Workspaces + /v1/workspaces/{id}/keywordslists: + delete: + consumes: + - application/json + description: delete keywords-lists of a workspace by basket ids + operationId: keywordslists-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordsListDeleteRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/http_server.BasicResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete keywords-lists of a workspace by basket ids + tags: + - KeywordsLists + get: + consumes: + - application/json + description: Gets list of keywords-lists for the workspace. Pagination is not + supported for now. + operationId: keywordslists-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: 'field default: name' + enum: + - name + - updated_at + in: query + name: field + type: string + - description: sort direction, default:asc + enum: + - asc + - desc + in: query + name: direction + type: string + - description: search by keyword list name + in: query + name: search + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets list of keywords-lists for the workspace + tags: + - KeywordsLists + post: + consumes: + - application/json + description: Create a keywords-list for the workspace + operationId: keywordslists-post + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordsListCreateRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsListCreateResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Create a keywords-list for the workspace + tags: + - KeywordsLists + /v1/workspaces/{id}/keywordslists/{basket_id}: + put: + consumes: + - application/json + description: Rename the name of a keywords-list of the workspace + operationId: keywordslists-rename + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordsListRenameRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsListRenameResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Rename the name of a keywords-list of the workspace + tags: + - KeywordsLists + /v1/workspaces/{id}/keywordslists/{basket_id}/keywords: + delete: + consumes: + - application/json + description: Delete a list of keywords in a keywords-list from a workspace. + operationId: keywordslists-keywords-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordDeleteRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordDeleteResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Delete a list of keywords in a keywords-list + tags: + - KeywordsLists + get: + consumes: + - application/json + description: |- + Gets list of keywords from the keywords-list in a workspace. + Pagination is supported. Default page is 1 and default limit is 25 when any of page or limit params provided. + Even wrong values are set as defaults. If page and limit are not provided, all keywords are returned. + operationId: keywordslists-keywords-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: page number + in: query + name: page + type: integer + - description: page limit + in: query + name: limit + type: integer + - description: sort direction, default:asc + enum: + - asc + - desc + in: query + name: direction + type: string + - description: search by keyword name + in: query + name: search + type: string + - description: sort direction, default:containing + enum: + - eq + - containing + - begins_with + - ends_with + - word_matching_separator + - exact_matching + - phrase_matching + - broad_matching + in: query + name: operation + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets list of keywords from the keywords-list + tags: + - KeywordsLists + post: + consumes: + - application/json + description: |- + Create a list of keywords in a keywords-list of a workspace + Each keyword phrase can have upto 90 characters. A keyword can have upto 5 tags. + operationId: keywordslists-keywords-post + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordAddRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordCountResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Create a list of keywords in a keywords-list + tags: + - KeywordsLists + /v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags: + delete: + consumes: + - application/json + description: Deletes a list of tags to a list of keywords in a keywords-list + of the workspace. + operationId: keywordslists-keywords-tags-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordsTagsRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsTagsResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Deletes a list of tags to a list of keywords in a keywords-list + tags: + - KeywordsLists + patch: + consumes: + - application/json + description: Add and delete list of tags to a list of keywords in a keywords-list + of the workspace. + operationId: keywordslists-keywords-tags-patch + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordsTagsUpdateRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsTagsResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Add and delete list of tags to a list of keywords in a keywords-list + tags: + - KeywordsLists + post: + consumes: + - application/json + description: Add a list of tags to a list of keywords in a keywords-list of + the workspace. + operationId: keywordslists-keywords-tags-add + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordsTagsRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsTagsResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Add a list of tags to a list of keywords in a keywords-list + tags: + - KeywordsLists + /v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload: + post: + consumes: + - multipart/form-data + description: |- + Create a list of keywords in a keywords-list by uploading a csv/xlsx file in a workspace + 1st element is supposed to be keyword name. 2nd element is supposed to be database. + Whereas 3rd element is supposed to be list of tags, other elements are ignored. + Tagged are expected to be separated by __ notion. + Example of a csv row (Similarly for xlsx): + *keyword name, database, tag1, tag2__tag3, tag4__tag5* + Total keywords allowed is 100. A keyword can have up to 5 tags.Total tags allowed is 50. + operationId: keywordslists-keywords-post-upload + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: id of the keywords-list + in: path + name: basket_id + required: true + type: integer + - description: The file to upload + in: formData + name: file + required: true + type: file + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordCountResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Create a list of keywords in a keywords-list by uploading a csv/xlsx + file + tags: + - KeywordsLists + /v1/workspaces/{id}/keywordslists/{basket_id}/members: + delete: + consumes: + - application/json + description: |- + deletes members of a keywords-list + Note: External users on Semrush workspace keywords lists are not allowed to be invited + operationId: keywords-list-delete-members + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: basket id + in: path + name: basket_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordsListDeleteMembersForm' + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete members of a keywords-list + tags: + - KeywordsLists + get: + description: gets a keywords list members + operationId: keywords-list-members + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: basket id + in: path + name: basket_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.keywordsListMembersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get keywords list members + tags: + - KeywordsLists + patch: + consumes: + - application/json + description: |- + update keywords-list members role + Note: External users on Semrush workspace keywords lists are not allowed to be invited + operationId: keywords-list-update-members-role + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: basket id + in: path + name: basket_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordsListMemberUpdateRoleForm' + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: update keywords-list members role + tags: + - KeywordsLists + post: + consumes: + - application/json + description: |- + adds members to a keywords list and assigns them a specific role + **Note**: External users (without @semrsuh.com email) cannot be invited to keywords lists of Semrush workspaces. + operationId: keywords-list-add-members + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: basket id + in: path + name: basket_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordListAddMembersForm' + responses: + "201": + description: Created + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: adds members to a keywords list + tags: + - KeywordsLists + /v1/workspaces/{id}/keywordslists/databases: + get: + consumes: + - application/json + description: Gets list of databases of keywords + operationId: keywordslists-databases-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.KeywordsListDatabasesResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets list of databases of keywords + tags: + - KeywordsLists + /v1/workspaces/{id}/light: + get: + description: gets lightweight workspace details matching with id + operationId: workspace-light-details + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceLightResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets lightweight workspace details + tags: + - Workspaces + /v1/workspaces/{id}/limits: + get: + deprecated: true + description: '[DEPRECATED] use /v1/workspaces/{id}/resources instead' + operationId: limits-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: set true if you want the master workspace's limits + in: query + name: master + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.GetLimitsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: '[DEPRECATED] use /v1/workspaces/{id}/resources instead' + tags: + - Workspaces + /v1/workspaces/{id}/members: + delete: + consumes: + - application/json + description: |- + deletes members of a workspace + in response it returns number of user units freed, + +ve value means workspace user units are credited back and users are removed from corporate account. + 0 values mean user units are not changed and corporate account remains unaffected. + operationId: workspace-delete-members + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.workspaceDeleteMembersForm' + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceMemberUpsertResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete members of a workspace + tags: + - Workspaces + get: + description: |- + gets a workspace's members + **Note:** Users with roles *Collaborator* or *Content Writer* will receive **no members** in the response (an empty list), regardless of workspace membership. + operationId: workspaces-members + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: asc/desc + in: query + name: direction + type: string + - description: search by email + in: query + name: search + type: string + - description: search by role name + in: query + name: role + type: string + - description: search by membership status + in: query + name: membership_status + type: string + - description: include parental admins + in: query + name: include_parental_admins + type: boolean + - description: include parent workspace + in: query + name: include_parent_workspace + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspacesMembersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get workspace members + tags: + - Workspaces + patch: + consumes: + - application/json + description: |- + Updates a member's role in workspaces by promoting/demoting user in the workspace. + in response it returns number of user units consumed/freed, + +ve value means workspace user units are credited back and user is removed from corporate account. + -ve value means workspace user units are consumed and user is invited to corporate account. + 0 values mean user units are not changed and corporate account remains unaffected. + operationId: workspaces-members-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.workspaceMemberUpdateRoleForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceMemberUpsertResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a member's role in workspace + tags: + - Workspaces + post: + consumes: + - application/json + description: |- + adds members to a workspace and assigns them a specific role + in response it returns number of user units consumed + -ve value means workspace user units are consumed and users are invited to corporate account. + 0 values mean user units are not changed and corporate account remains unaffected. + **Note**: External users (without @semrsuh.com email) cannot be invited to Semrush workspaces. + operationId: workspace-add-members + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.workspaceAddMembersForm' + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceMemberUpsertResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/handlers.workspaceAddMembersResponse' + summary: adds members to a workspace + tags: + - Workspaces + /v1/workspaces/{id}/parent: + get: + description: gets workspace's parent details matching with id + operationId: workspace-details-parent + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace's parent details + tags: + - Workspaces + /v1/workspaces/{id}/parent/resources: + get: + description: gets workspace's master workspace resources resources matching + with id + operationId: workspace-resources-master + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace's master workspace resources + tags: + - Limits + /v1/workspaces/{id}/projects: + get: + description: gets a list of all projects that belong to a workspace. + operationId: project-list-get-for-user + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of projects belongs to a workspace + tags: + - Projects + post: + consumes: + - application/json + description: creates a drafted project in a workspace with name and domain + operationId: project-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectCreateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectUpsertResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a project as drafted + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}: + delete: + consumes: + - application/json + description: deletes a project and attached entities + operationId: project-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectDeleteResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes a project + tags: + - Projects + get: + description: gets details of a specific project. + operationId: project-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectsGetResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a project + tags: + - Projects + put: + consumes: + - application/json + description: updates a project's color and title + operationId: project-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectUpdateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectUpsertResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a project + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}/benchmarks/clone: + post: + description: clone benchmarks / tags from target to another + operationId: workspaces-clone-benchmarks-tags + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.benchmarkCloneForm' + produces: + - application/json + responses: + "200": + description: OK + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: clone benchmarks / tags from target to another + tags: + - Benchmarks + /v1/workspaces/{id}/projects/{project_id}/discard_draft: + post: + consumes: + - application/json + description: discards draft projects and copies back live version + operationId: discard-draft-project + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: discards a draft version of a project + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}/favourite: + post: + consumes: + - application/json + description: API to set project as favourite + operationId: set-project-favourite + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectFavouriteSetForm' + produces: + - application/json + responses: + "200": + description: OK + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: sets a project as favourite + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}/goals: + delete: + consumes: + - application/json + description: this API deletes multiple goals for a project + operationId: goals-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.goalsDeleteForm' + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete multiple goals + tags: + - Goals + get: + consumes: + - application/json + description: this API returns list of goals for a project + operationId: goals-list + parameters: + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + - description: page number + in: query + name: page + type: integer + - description: limit number + in: query + name: limit + type: integer + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.goalsListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: list goals + tags: + - Goals + post: + consumes: + - application/json + description: this API creates a goal for a project + operationId: goal-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.goalsUpsertForm' + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.goalUpsertReponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: create a goal + tags: + - Goals + /v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}: + put: + consumes: + - application/json + description: this API creates a goal for a project + operationId: goal-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.goalsUpsertForm' + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: goal id + in: path + name: goal_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.goalUpsertReponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: update a goal + tags: + - Goals + /v1/workspaces/{id}/projects/{project_id}/goals/import: + post: + consumes: + - application/json + description: this API imports goals from a project to another + operationId: goal-simport + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.goalImportForm' + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.goalImportReponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: import goals from a project to another + tags: + - Goals + /v1/workspaces/{id}/projects/{project_id}/limits: + get: + description: gets resource limits by project + operationId: project-limits-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.GetLimitsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets resource limits by project + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}/members: + delete: + consumes: + - application/json + description: deletes members of a project + operationId: project-delete-members + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectDeleteMembersForm' + produces: + - application/json + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete members of a project + tags: + - Projects + get: + description: gets a project's members + operationId: project-members + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectMembersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get project members + tags: + - Projects + patch: + consumes: + - application/json + description: update project members role + operationId: project-update-members-role + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectAddMembersForm' + produces: + - application/json + responses: + "204": + description: No Content + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: update project members role + tags: + - Projects + post: + consumes: + - application/json + description: |- + adds members to a projects and assigns them a specific role + **Note**: External users (without @semrsuh.com email) cannot be invited to projects of Semrush workspaces. + operationId: project-add-members + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectAddMembersForm' + produces: + - application/json + responses: + "201": + description: Created + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: adds members to a project + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers: + delete: + consumes: + - application/json + description: deletes pagespeed crawlers that belong to a project + operationId: pagespeed-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedDeleteForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes pagespeed crawlers of a project + tags: + - Pagespeed Crawlers + get: + consumes: + - application/json + description: gets a list pagespeed crawlers that belong to a project + operationId: pagespeed-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: results offset + in: query + name: offset + type: integer + - description: page size + in: query + name: limit + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedCrawlersListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list pagespeed crawlers of a project + tags: + - Pagespeed Crawlers + post: + consumes: + - application/json + description: creates a pagespeed crawler that belong to a project + operationId: pagespeed-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedCrawlerCreateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedCrawlerCreateResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a pagespeed crawler of a project + tags: + - Pagespeed Crawlers + /v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}: + patch: + consumes: + - application/json + description: updates a pagespeed crawler that belong to a project + operationId: pagespeed-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedCrawlerUpdateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedCrawler' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a pagespeed crawler of a project + tags: + - Pagespeed Crawlers + /v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords: + delete: + consumes: + - application/json + description: deletes a list of keywords from pagespeed crawlers + operationId: pagespeed-delete-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedKeywordsDeleteForm' + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes a list of keywords from pagespeed crawlers + tags: + - Pagespeed Crawlers Keywords + get: + consumes: + - application/json + description: gets a list of keywords of pagespeed crawler that belong to a project + operationId: pagespeed-keywords-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: results offset + in: query + name: offset + type: integer + - description: page size + in: query + name: limit + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedKeywordsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of keywords of pagespeed crawlers + tags: + - Pagespeed Crawlers Keywords + post: + consumes: + - application/json + description: adds keywords to pagespeed crawlers + operationId: pagespeed-add-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedCrawlerAddKeywordsForm' + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.keyword' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: adds keywords to pagespeed crawlers + tags: + - Pagespeed Crawlers Keywords + /v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom: + post: + consumes: + - application/json + description: |- + adds keywords by name to pagespeed crawler. + A project should have these keywords otherwise keywords are not added to a pagespeed crawler. + operationId: pagespeed-add-named-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedAddNamedKeywordsForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedAddNamedKeywordsResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: adds keywords by name to a pagespeed crawler. + tags: + - Pagespeed Crawlers Keywords + /v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits: + get: + description: gets resource limits by pagespeed crawler + operationId: crawler-limits-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.GetLimitsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets resource limits by pagespeed crawler + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls: + delete: + consumes: + - application/json + description: deletes a list of urls from pagespeed crawlers that belong to a + project + operationId: pagespeed-delete-urls + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedURLsDeleteForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes a list of urls from pagespeed crawlers of a project + tags: + - Pagespeed Crawlers URLs + get: + consumes: + - application/json + description: gets a list of urls of pagespeed crawler that belong to a project + operationId: pagespeed-urls-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: results offset + in: query + name: offset + type: integer + - description: page size + in: query + name: limit + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.pagespeedURLsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of urls of pagespeed crawlers + tags: + - Pagespeed Crawlers URLs + post: + consumes: + - application/json + description: adds a list of urls to pagespeed crawlers that belong to a project + operationId: pagespeed-add-urls + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedCrawlerAddURLsForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.pagespeedURL' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: adds a list of urls in pagespeed crawlers of a project + tags: + - Pagespeed Crawlers URLs + /v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible: + patch: + consumes: + - application/json + description: makes a pagespeed crawler of a project is visible + operationId: pagespeed-visible + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: pagespeed crawler id + in: path + name: crawler_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.pagespeedCrawlerVisibleForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: makes a pagespeed crawler of a project is visible + tags: + - Pagespeed Crawlers + /v1/workspaces/{id}/projects/{project_id}/publish/async: + post: + consumes: + - application/json + description: asynchronously publishes a project + operationId: project-publish-async + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: publishes a project + tags: + - Projects + /v1/workspaces/{id}/projects/{project_id}/segments: + delete: + consumes: + - application/json + description: delete a segment for a project by id + operationId: project-segment-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: segments ids + in: body + name: segment_ids + required: true + schema: + $ref: '#/definitions/handlers.IDsForm' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete a segment for a project by id + tags: + - Segments + get: + consumes: + - application/json + description: |- + Gets a list of segments that belong to a project. + For description of response fields like conditions and filters, + see segment create under **Segment** */workspaces/{id}/projects/{project_id}/segments [post]* + operationId: project-segment-list-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: sort by segment field + enum: + - name + - created_at + - updated_at + in: query + name: sort + type: string + - description: sort direction + enum: + - asc + - desc + in: query + name: direction + type: string + - description: search by segment name + in: query + name: search + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.SegmentListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets a list of segments of a project + tags: + - Segments + /v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}: + get: + consumes: + - application/json + description: |- + Gets a segment of a project by id. For description of response fields like conditions and filters, + see segment create under **Segment** */workspaces/{id}/projects/{project_id}/segments [post]* + operationId: project-segments-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: segment id + in: path + name: segment_id + required: true + type: string + - description: whether to show only for live projects + enum: + - "true" + - "false" + in: query + name: live + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.SegmentResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets a segment of a project by id (public) + tags: + - Segments + put: + consumes: + - application/json + description: |- + update segment for a project BY id, see segment create for valid conditions and filters fields + column_name, operator and value validations. + operationId: project-segment-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: segment id + in: path + name: segment_id + required: true + type: string + - description: segment details + in: body + name: SegmentUpsertForm + required: true + schema: + $ref: '#/definitions/handlers.SegmentUpsertForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.SegmentResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: update segment for a project BY id + tags: + - Segments + /v1/workspaces/{id}/projects/{project_id}/targets: + delete: + consumes: + - application/json + description: deletes a target + operationId: project-target-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: {} + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete a target + tags: + - Targets + get: + consumes: + - application/json + description: gets a list of targets that belong to a project + operationId: project-target-list-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - default: 19193849-51bf-413d-9ed9-45a63e649887 + description: workspace id + in: path + name: id + required: true + type: string + - default: 95cb3f7d-d932-4d8d-ba81-639731d39c08 + description: project id + in: path + name: project_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.targetListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of targets of a project + tags: + - Targets + post: + consumes: + - application/json + description: creates target of the project + operationId: project-add-target + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - default: 19193849-51bf-413d-9ed9-45a63e649887 + description: workspace id + in: path + name: id + required: true + type: string + - default: 95cb3f7d-d932-4d8d-ba81-639731d39c08 + description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.targetCreateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.Target' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: adds target to a project + tags: + - Targets + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}: + get: + consumes: + - application/json + description: gets target details + operationId: project-target-details + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.Target' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets target details + tags: + - Targets + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks: + delete: + consumes: + - application/json + description: this API lets client delete benchmarks of a project + operationId: project-delete-benchmarks + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.benchmarksDeleteForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: delete benchmarks of a project + tags: + - Benchmarks + get: + consumes: + - application/json + description: this API lists benchmarks of a project + operationId: benchmarks-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.benchmarksListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: finds a list of benchmarks of a project + tags: + - Benchmarks + post: + consumes: + - application/json + description: this API lets client create benchmark of a project, max 20 benchmarks + are allowed + operationId: project-add-benchmarks + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.benchmarkCreateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.benchmark' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a benchmark of a project + tags: + - Benchmarks + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}: + put: + consumes: + - application/json + description: this API lets client updates a benchmark of a project + operationId: project-update-benchmarks + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: benchmark id + in: path + name: benchmark_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.benchmarkUpdateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.benchmark' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a benchmark of a project + tags: + - Benchmarks + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk: + put: + consumes: + - application/json + description: this API lets client bulk update benchmarks of a project + operationId: project-bulk-update-benchmarks + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.benchmarkBulkUpdateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.benchmark' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: bulk update benchmarks of a project + tags: + - Benchmarks + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download: + get: + description: |- + This API download benchmarks. + First element is supposed to be URL + whereas second element is supposed to be color. + operationId: project-download-benchmarks + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - text/csv + responses: + "200": + description: OK + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: downloads benchmarks + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags: + delete: + consumes: + - application/json + description: remove tags from benchmarks + operationId: project-remove-tags-benchmarks + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.benchmarkRemoveTagsForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.benchmark' + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: remove tags from benchmarks + tags: + - Benchmarks + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload: + post: + consumes: + - multipart/form-data + description: |- + this API uploads benchmarks of a project from csv/xlsx file. + First element is supposed to be URL + whereas second element is supposed to be color, other elements are ignored. + operationId: project-upload-benchmarks + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: The file to upload + in: formData + name: up_file + required: true + type: file + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: uploads benchmarks + tags: + - Benchmarks + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords: + delete: + consumes: + - application/json + description: deletes keywords that belong to a target + operationId: project-delete-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordsDeleteForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes keywords + tags: + - Keywords + get: + description: gets list of keywords that belong to a target. + operationId: project-get-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: tag id(to get keywords of a tag) + in: query + name: tag_id + type: string + - description: live + in: query + name: live + type: boolean + - description: with_hierarchy + in: query + name: with_hierarchy + type: boolean + - description: keyword name(to filter keywords by name) + in: query + name: name + type: string + - description: preferred url(to filter keywords by preferred_url) + in: query + name: preferred_url + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.keywordsListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: list of keywords + tags: + - Keywords + post: + consumes: + - application/json + description: creates keywords that belong to a target + operationId: project-add-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordsCreateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.keywordsCreateResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates keywords + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names: + post: + consumes: + - application/json + description: finds a taregt's keywords by names. + operationId: targets-keywords-by-names + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.NamedKeywordsFindForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.NamedKeywordsFindResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: finds a taregt's keywords by names. + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url: + patch: + description: this API can be used to update keywords' preferred url. + operationId: project-update-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordsUpdateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.keywordsUpdateResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates keyword's preferred url + tags: + - Keywords + post: + consumes: + - multipart/form-data + description: |- + an API to update keywords preferred urls via csv/xlsx file, file content must be of text/csv. + each row represents 1 keywords and its preferred url and values are expected to be comma + separated for csv file. first element is supposed to be keyword name + whereas second element is supposed to be preferred urls, other elements are ignored + operationId: keywords-preferred-urls-upload + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: The file to upload + in: formData + name: up_file + required: true + type: file + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.PreferredURLsUploadResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: an API to update keywords preferred urls in bulk + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download: + get: + description: |- + This API download keywords along with preferred urls associated with keywords. + each row represents one keyword and its preferred url and values are expected to be comma + separated for csv file. first element is supposed to be keyword name + whereas second element is supposed to be preferred urls. + operationId: keywords-preferred-urls-download + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - text/csv + responses: + "200": + description: OK + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: downloads keywords with preferred-urls + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids: + post: + description: |- + This API fetches related tag IDs for the provided keywords. + Response has keyword_id mapped to tag ids {"id1":["tag1", "tag2"]} + operationId: keywords-related-tag-ids-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordsRelatedTagsForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + additionalProperties: + items: + type: string + type: array + type: object + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets related tag IDs for keywords + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations: + delete: + consumes: + - application/json + description: |- + API deletes relantionships of keywords with tags, + it can also delete relations of keywords with children and grandchildren of tags if parent id passed + expected format of request {"relations": [["keyword_id", "tag_id"]]} + operationId: keywords-tags-relations-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.KeywordsTagsRelationsDeleteForm' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: an API to delete relationships of keywords with tags + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats: + get: + description: gets metrics of keywords, data is fetched from elements data source + operationId: keywords-metrics + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordMetrics' + type: object + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets metrics of keywords + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged: + post: + consumes: + - application/json + description: |- + this API creates tagged keywords by building tags hierarchy and + assigning tags to keywords. tagged are expected to be separated by __ notion + operationId: project-add-tagged-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.taggedKeywordsCreateForm' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates tagged keywords + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download: + get: + description: |- + This API download keywords along with preferred URLs and tags associated with keywords. + First element is supposed to be keyword name + Second element is supposed to be preferred URL + Third and subsequent elements are supposed to be list of tags. + Tags are expected to be separated by __ notion. + All tags are packaged in a quoted-field. + Example of a csv row: keyword name, preferred_url, "tag1__tag2__tag3,tag4__tag5__tag6" + operationId: project-download-tagged-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - text/csv + responses: + "200": + description: OK + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: downloads tagged keywords + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload: + post: + consumes: + - multipart/form-data + description: |- + this API uploads tagged keywords by building tags hierarchy and + assigning tags to keywords through csv/xlsx file. + First element is supposed to be keyword name + Second element is supposed to be preferred URL (optional) + Third and subsequent elements are supposed to be list of tags. + Tagged are expected to be separated by __ notion. + All tags must be packaged in a quoted-field for csv file, this is not necessary for xlsx. + Example of a csv row: keyword name,preferred_url,"tag1__tag2__tag3" + operationId: project-upload-tagged-keywords + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: The file to upload + in: formData + name: up_file + required: true + type: file + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: uploads tagged keywords + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags: + delete: + consumes: + - application/json + description: |- + deletes tags that belong to a target, this API also deletes keywords associated to tags + use `delete_keywords` flag to delete keywords along with tags + operationId: project-delete-tags + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.tagsDeleteForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes tags of a target + tags: + - Tags + get: + description: |- + API to return list of tags that belong to a target + parent_id param can be used to get immediate children of a tag + live flag can be used get live/draft target's tags + use limit, page for paginated result + operationId: project-get-tags + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: parent id + in: query + name: parent_id + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tagsListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of tags of a target + tags: + - Tags + post: + consumes: + - application/json + description: this API creates tags and parent_id in request body can be used + to build parent children relantions + operationId: project-add-tags + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.tagsCreateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tagsList' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: adds tags to a target + tags: + - Tags + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}: + put: + consumes: + - application/json + description: this API can be used to change a tag's name and its parent + operationId: project-update-tag + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: tag id + in: path + name: tag_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.tagsUpdateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tag' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a tag's name and parent + tags: + - Tags + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all: + get: + consumes: + - application/json + description: |- + This API returns all tags as a flat list without building tree structure for performance optimization. + Frontend can build the tree structure if needed using parent_id relationships. + operationId: project-tags-all + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.TagsTreeResponseV2' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: get all tags as flat list + tags: + - Tags + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search: + get: + deprecated: true + operationId: project-search-list-tags + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: search + in: query + name: search + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tagsListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: searches tags by name and returns matching tags' without their children + or parents + tags: + - Tags + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree: + get: + consumes: + - application/json + description: |- + this API returns all ancestors of tag upto root level, this API does not return children of tags. + API does not return full tree. + operationId: project-tags-tree + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: tag id + in: query + name: tag_id + required: true + type: integer + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.TagsTreeResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: find tags parents upto top level + tags: + - Tags + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path: + get: + description: |- + This API searches tags and returns ancestors tree structure of matched tags. + Consider a tree `foo -> bar -> baz -> quack` and searched for `foo__bar__baz` + then the returned result would be `foo -> bar -> baz` and the neighbors of children tags, if they exist. + To find children of baz use list tags API. + operationId: project-find-tags-path + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: path + in: query + name: path + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.TagsTreeResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: searches tags by path and returns ancestors tree of matched tags + tags: + - Tags + /v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search: + get: + description: |- + This API searches tags and returns ancestors tree structure of matched tags. + Consider a tree `foo -> bar -> baz -> quack` and searched for `az` + then return result would be `foo -> bar -> baz`, to find children of baz use list tags API. + operationId: project-search-tree-tags + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: search + in: query + name: search + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.TagsTreeResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: searches tags by name and returns ancestors tree of matched tags + tags: + - Tags + /v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone: + post: + description: clone keywords / tags from target to another + operationId: workspaces-clone-keywords-tags + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.keywordsCloneForm' + produces: + - application/json + responses: + "200": + description: OK + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: clone keywords / tags from target to another + tags: + - Keywords + /v1/workspaces/{id}/projects/{project_id}/url-groups: + delete: + consumes: + - application/json + description: deletes an url groups that belong to a project + operationId: url-groups-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.urlGroupsDeleteForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + type: string + type: array + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes an url group of project + tags: + - URL Groups + get: + consumes: + - application/json + description: gets a list of url groups that belong to a project + operationId: url-groups-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.urlGroupsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of url groups of project + tags: + - URL Groups + post: + consumes: + - application/json + description: creates url groups that belong to a project + operationId: url-groups-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.urlGroupsUpsertForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.urlGroup' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates url groups of a project + tags: + - URL Groups + /v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}: + put: + consumes: + - application/json + description: updates an url groups that belong to a project + operationId: url-groups-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: url group id + in: path + name: url_group_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.urlGroupsUpsertForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.urlGroup' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates an url group of project + tags: + - URL Groups + /v1/workspaces/{id}/projects/targets: + get: + consumes: + - application/json + description: gets a list of targets of all live projects by workspace id + operationId: live-projects-target-list-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - default: 19193849-51bf-413d-9ed9-45a63e649887 + description: workspace id + in: path + name: id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.targetListResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of targets of all live projects by workspace id + tags: + - Targets + /v1/workspaces/{id}/resources: + get: + description: gets workspace resources matching with id + operationId: workspace-resources + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace resources + tags: + - Limits + /v1/workspaces/{id}/resources/transfer: + post: + consumes: + - application/json + description: transfer resources between a child workspace and its parent. + operationId: workspace-transfer-resources + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.WorkspaceResources' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: transfer resources between a child workspace and its parent + tags: + - Workspaces + /v1/workspaces/{id}/role: + get: + description: |- + gets user's role in workspace, also if user is admin/owner in parent it will return parent's role + user_id is extracted from jwt token + operationId: user-workspace-role + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceUserRole' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets user's role in workspace + tags: + - Workspaces + /v1/workspaces/{id}/segments: + get: + consumes: + - application/json + description: |- + Gets a list of segments that belong to any project of given workspace. + For description of response fields like conditions and filters, + see segment create under **Segment** */workspaces/{id}/projects/{project_id}/segments [post]* + operationId: workspace-segment-list-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: whether to show only for live projects + enum: + - "true" + - "false" + in: query + name: live + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.SegmentListByWorkspaceResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets a list of segments of a workspace + tags: + - Segments + /v1/workspaces/{id}/service-units/balance: + get: + description: gets service units balance + operationId: service-units-balance-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.getServiceUnitsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets service units balance + tags: + - Service Units + /v1/workspaces/{id}/service-units/transactions: + post: + consumes: + - application/json + description: Gets a list of service credits transactions + operationId: service-credits-transactions-list + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.TransactionsListForm' + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: sorting direction + in: query + name: direction + type: string + - description: sorting field + in: query + name: field + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.transactionsListResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets a list of service credits transactions + tags: + - Service Units + /v1/workspaces/{id}/service-units/transactions/{transaction_id}: + get: + consumes: + - application/json + description: Gets a service credits transaction + operationId: service-credits-transaction-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: transaction id + in: path + name: transaction_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.Transaction' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Gets a service credits transaction + tags: + - Service Units + /v1/workspaces/{id}/status: + get: + description: THe status must be "not ready", "created" or "error" + operationId: workspaces-status-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.WorkspaceCheckResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a workspace status + tags: + - Workspaces + /v1/workspaces/{workspace_id}/connections: + delete: + consumes: + - application/json + description: Deletes multiple workspace connections by their IDs. + operationId: workspace-connections-delete + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.WorkspaceConnectionsDeleteRequest' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Delete workspace connections + tags: + - Workspace Connections + get: + consumes: + - application/json + description: Retrieves a paginated list of workspace connections. + operationId: workspace-connections + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: Number of page + in: query + name: page + type: integer + - description: 'Number of items per page (default: 10)' + in: query + name: limit + type: integer + - description: 'Connection type filter: google-ads, google-analytics, google-console, + adobe-analytics' + in: query + name: type + type: string + - description: Owner type filter + in: query + name: owner_id + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceConnectionsResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Get workpsace connections + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/{connection_id}: + get: + consumes: + - application/json + description: Retrieves the details of workspace connection. + operationId: workspace-connections-byid + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.WorkspaceConnectionDetails' + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Get workpsace connection by connection ID + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}: + delete: + consumes: + - application/json + description: Detaches a specific project from a specific connection. + operationId: workspace-connection-detach-project + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Detach a project from a connection + tags: + - Workspace Connections + post: + consumes: + - application/json + description: Attaches a specific project to a specific connection. + operationId: workspace-connection-attach-project + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Attach a project to a connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/adobe-analytics: + post: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use POST /v2/workspaces/{workspace_id}/connections/adobe-analytics + with credential_id in body instead.' + operationId: adobe-analytics-connection-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreate' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: '[DEPRECATED] Create Adobe Analytics connection' + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}: + put: + consumes: + - application/json + deprecated: true + description: 'Deprecated: use PUT /v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id} + with credential_id in body instead.' + operationId: adobe-analytics-connection-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdate' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: '[DEPRECATED] Update Adobe Analytics connection' + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/attach-projects: + post: + consumes: + - application/json + description: Attaches multiple connections to multiple projects in a single + transaction. + operationId: workspace-connections-merge + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + items: + $ref: '#/definitions/handlers.WorkspaceConnectionsAttachItem' + type: array + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Merge connections with projects + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/google-ads: + post: + consumes: + - application/json + description: Creates a new Google Ads connection. + operationId: ads-connection-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.GoogleAdsWorkspaceConnectionCreate' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Create Google Ads connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}: + put: + consumes: + - application/json + description: Updates an existing Google Ads connection. + operationId: ads-connection-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.GoogleAdsWorkspaceConnectionCreate' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Update Google Ads connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/google-analytics: + post: + consumes: + - application/json + description: Creates a new Google Analytics connection. + operationId: analytics-connection-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.GoogleAnalyticsWorkspaceConnectionCreate' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Create Google Analytics connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}: + put: + consumes: + - application/json + description: Updates an existing Google Analytics connection. + operationId: analytics-connection-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.GoogleAnalyticsWorkspaceConnectionCreate' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Update Google Analytics connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/google-console: + post: + consumes: + - application/json + description: Creates a new Google Console connection. + operationId: console-connection-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.GoogleConsoleWorkspaceConnectionCreate' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Create Google Console connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/google-console/{connection_id}: + put: + consumes: + - application/json + description: Updates an existing Google Console connection. + operationId: console-connection-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.GoogleConsoleWorkspaceConnectionCreate' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Update Google Console connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/log-file-analysis: + post: + consumes: + - application/json + description: Creates a new Log File Analysis connection. + operationId: log-file-analysis-connection-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Create Log File Analysis connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}: + put: + consumes: + - application/json + description: Updates an existing Log File Analysis connection. + operationId: log-file-analysis-connection-update + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.LogFileAnalysisWorkspaceConnectionPayload' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Update Log File Analysis connection + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/connections/owners: + get: + consumes: + - application/json + description: Retrieves a list of all users who own workspace connections. + operationId: workspace-connection-owners + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.WorkspaceConnectionOwner' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "500": + description: Internal Server Error + summary: Get workspace connection owners + tags: + - Workspace Connections + /v1/workspaces/{workspace_id}/projects/{project_id}/connections: + get: + consumes: + - application/json + description: Retrieves a list of connection IDs attached to a specific project. + operationId: workspace-project-connections + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: Array of connection IDs + schema: + items: + $ref: '#/definitions/handlers.ProjectConnectionResponse' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Get connections for a specific project + tags: + - Workspace Connections + /v1/workspaces/light: + get: + description: gets a lightweight list of workspaces owned by the user + operationId: workspaces-light-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceLightResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: lightweight workspaces list + tags: + - Workspaces + /v1/workspaces/limits: + get: + deprecated: true + description: '[DEPRECATED] use /v1/workspaces/resources instead' + operationId: total-limits-find + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + additionalProperties: + $ref: '#/definitions/handlers.OptionsLimits' + type: object + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: '[DEPRECATED] use /v1/workspaces/resources instead' + tags: + - Workspaces + /v1/workspaces/resources: + get: + description: gets workspace total resources in a cool new way + operationId: workspace-resources-find-all + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceTotalLimits' + type: object + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace total resources + tags: + - Limits + /v1/workspaces/tiers: + get: + consumes: + - application/json + description: this API returns list of available tiers + operationId: tiers-list + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tiersResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: return list of tiers + tags: + - Workspaces + /v2/admin/workspaces/api/create: + post: + consumes: + - application/json + description: creates a master workspace along with products and tiers (made + for Activation Panel) + operationId: activation-panel-workspace-create-master-v2 + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.activationPanelWorkspaceCreateForm' + - description: Semrush-admin Remote-User (UserId) + in: header + name: Remote-User + required: true + type: string + - description: Admin API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "201": + description: Created + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a master workspace along with products and tiers (made for + Activation Panel) + tags: + - ActivationPanel V2 + /v2/adobe-analytics/credentials: + post: + consumes: + - application/json + description: Creates new Adobe Analytics credentials and returns an internal + credential_id. The adobe_proxy_auth_id is never exposed to the client. + operationId: adobe-analytics-create-credentials-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Credentials creation request + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeCredentialsCreateRequest' + produces: + - application/json + responses: + "201": + description: credentials created successfully + schema: + $ref: '#/definitions/handlers.AdobeCredentialCreatedResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "500": + description: Internal Server Error + summary: Creates Adobe Analytics credentials (v2) + tags: + - Adobe Analytics V2 + /v2/adobe-analytics/credentials/dimensions: + get: + consumes: + - application/json + description: Gets Adobe dimensions by internal credential_id with ownership + check. + operationId: adobe-analytics-get-dimensions-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Internal credential ID + in: query + name: credential_id + required: true + type: integer + - description: Adobe global company ID + in: query + name: global_company_id + required: true + type: string + - description: Report Suite ID + in: query + name: rsid + required: true + type: string + produces: + - application/json + responses: + "200": + description: dimensions retrieved successfully + schema: + items: + $ref: '#/definitions/handlers.Dimension' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Gets Adobe dimensions (v2) + tags: + - Adobe Analytics V2 + /v2/adobe-analytics/credentials/metrics: + get: + consumes: + - application/json + description: Gets Adobe metrics by internal credential_id with ownership check. + operationId: adobe-analytics-get-metrics-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Internal credential ID + in: query + name: credential_id + required: true + type: integer + - description: Adobe global company ID + in: query + name: global_company_id + required: true + type: string + - description: Report Suite ID + in: query + name: rsid + required: true + type: string + produces: + - application/json + responses: + "200": + description: metrics retrieved successfully + schema: + items: + $ref: '#/definitions/handlers.Metric' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Gets Adobe metrics (v2) + tags: + - Adobe Analytics V2 + /v2/adobe-analytics/credentials/metrics-dimensions/validation: + post: + consumes: + - application/json + description: Validates metric and dimension by internal credential_id with ownership + check. + operationId: adobe-analytics-validate-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsValidateV2Request' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsValidateResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "429": + description: Too Many Requests + "500": + description: Internal Server Error + summary: Validate Adobe Analytics metrics and dimensions (v2) + tags: + - Adobe Analytics V2 + /v2/adobe-analytics/credentials/reportsuites: + get: + consumes: + - application/json + description: Gets Adobe report suites by internal credential_id with ownership + check. + operationId: adobe-analytics-get-report-suites-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Internal credential ID + in: query + name: credential_id + required: true + type: integer + - description: Adobe global company ID + in: query + name: global_company_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: report suites retrieved successfully + schema: + items: + $ref: '#/definitions/handlers.ReportSuite' + type: array + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Gets Adobe report suites (v2) + tags: + - Adobe Analytics V2 + /v2/adobe-analytics/credentials/reportsuites/paginated: + get: + consumes: + - application/json + description: Gets Adobe report suites by internal credential_id with ownership + check and pagination. + operationId: adobe-analytics-get-report-suites-paginated-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Internal credential ID + in: query + name: credential_id + required: true + type: integer + - description: Adobe global company ID + in: query + name: global_company_id + required: true + type: string + - default: 10 + description: Number of items per page + in: query + name: size + type: integer + - default: 1 + description: Page number (1-indexed) + in: query + name: page + type: integer + produces: + - application/json + responses: + "200": + description: report suites with pagination retrieved successfully + schema: + $ref: '#/definitions/handlers.AdobeReportSuitesResponse' + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Gets Adobe report suites with pagination (v2) + tags: + - Adobe Analytics V2 + /v2/adobe-analytics/credentials/status: + get: + consumes: + - application/json + description: Gets Adobe credentials status by internal credential_id with ownership + check. + operationId: adobe-analytics-get-status-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Internal credential ID + in: query + name: credential_id + required: true + type: integer + produces: + - application/json + responses: + "200": + description: status retrieved successfully + schema: + $ref: '#/definitions/handlers.AdobeCredentialStatusInfo' + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Gets Adobe credentials status (v2) + tags: + - Adobe Analytics V2 + /v2/internal/products/{product_id}/workspaces: + get: + description: internal API to get workspace IDs that have the specified product. + operationId: internal-product-workspaces-get + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: product id (ai, si, ci, seo) + in: path + name: product_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceIDsResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: internal API to get workspace IDs by product + tags: + - Internal + /v2/internal/transactions: + post: + consumes: + - application/json + description: |- + Creates a transaction for service credits and other transacting product limits such as pages of + SI product. In order to create service credits transactions set `global_limit_key` to `service_units`, + and leave `product_limit` empty. + In oder to create pages and other limits' transaction set `product_limit` and leave `global_limit_key` empty + otherwise it will not accept the inputs. + `owner_id` is required when `global_limit_key` is set to `service_units`. + `receipt_id` is also not required when `product_limit` is set. + operationId: transaction-create-v2 + parameters: + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.TransactionsCreateFormV2' + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Transaction' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Creates a transaction for service credits and other transacting product + limits + tags: + - Internal V2 + /v2/internal/transactions/{transaction_id}/refund: + post: + consumes: + - application/json + description: Cancel a transaction and refund the amount + operationId: transaction-refund-v2 + parameters: + - description: transaction id + in: path + name: transaction_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.TransactionsRefundForm' + - description: API key + in: header + name: API-Key + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.Transaction' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Cancels a transaction and refund the amount + tags: + - Internal V2 + /v2/internal/workspaces/{id}/ancestors: + get: + description: |- + an internal API to get ancestor(parents/grandparents) of a workspace. + Ancestors list does not include current workspace. + operationId: internal-workspaces-ancestor-v2 + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + security: + - ApiKeyAuth: [] + summary: an internal API to get ancestor(parents/grandparents) of a workspace + tags: + - Internal + /v2/internal/workspaces/{id}/family: + get: + description: an admin API to get a list of all children, grand children workspaces + of a given workspace + operationId: internal-workspaces-family-v2 + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + security: + - ApiKeyAuth: [] + summary: an internal API to get a list of workspace children + tags: + - Internal + /v2/internal/workspaces/{id}/products/{product_id}/limits: + get: + description: |- + This endpoint retrieves the limits of entities associated with a specific workspace and product. + It fetches the limits based on the product configuration and returns a map of entity limits + defined for the specified workspace and product. + operationId: internal-workspace-product-limits + parameters: + - description: API Key required for authentication + in: header + name: API-Key + required: true + type: string + - description: Unique identifier for the workspace + in: path + name: id + required: true + type: string + - description: 'Unique identifier for the product [enum: seo, aio]' + in: path + name: product_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: Successful operation + schema: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.EntityLimit' + type: object + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Retrieve Workspace Product Limits + tags: + - Internal V2 + /v2/internal/workspaces/{id}/products/{product_id}/projects: + get: + description: |- + Retrieves a list of projects associated with a product and workspace the user has access to. + Requires the `user_id` query parameter to determine the user identity. + If the user is not a valid enterprise user, the project list will be empty. + operationId: internal-product-projects-find + parameters: + - description: API key for authentication + in: header + name: API-Key + required: true + type: string + - description: Unique identifier for the workspace + in: path + name: id + required: true + type: string + - description: 'Unique identifier for the product [possible values: seo, aio]' + in: path + name: product_id + required: true + type: string + - description: Unique identifier for the user + in: query + name: user_id + required: true + type: integer + produces: + - application/json + responses: + "200": + description: OK - List of product projects successfully retrieved + schema: + items: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata' + type: array + "401": + description: Unauthorized - Invalid or missing API key + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden - Access denied for the user + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found - Workspace or Product not found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error - Unexpected system error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Retrieve product projects for a specific workspace accessible by the + user. + tags: + - Internal V2 + /v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits: + get: + description: |- + This endpoint retrieves limits of specific entities in a workspace and product with respect to a project. + It considers project-level constraints, with the draft count for all entities adjusted to align with the project. + This enables assessment of how many entities can be added to the project. + operationId: internal-workspace-product-limits-by-project + parameters: + - description: API Key required for authentication + in: header + name: API-Key + required: true + type: string + - description: Unique identifier for the workspace + in: path + name: id + required: true + type: string + - description: 'Unique identifier for the product [enums: seo, aio]' + in: path + name: product_id + required: true + type: string + - description: Unique identifier for the project + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: Successful operation + schema: + additionalProperties: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.EntityLimit' + type: object + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Retrieve Workspace Product Limits by Project + tags: + - Internal V2 + /v2/internal/workspaces/{id}/projects: + get: + description: |- + This endpoint retrieves a list of projects available in a specific workspace. + It allows filtering of projects based on user access roles or permissions. + Only those projects are returned where the user has access. + User roles and permissions are determined by the following rules: + - Workspace Owners, Admins, and Editors have editor-level access to all projects in the workspace. + - Workspace Viewers are granted view-level access to all projects in the workspace. + - Specific roles, such as collaborators or content writers, control project-level access. + Use query parameters to refine the results, including user ID and pagination options. + operationId: internal-projects-list-v2 + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: user id + in: query + name: user_id + type: integer + - description: search by project name + in: query + name: search + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of projects in workspace, where user has access if provided + in query params + tags: + - Internal V2 + /v2/internal/workspaces/{id}/projects/{project_id}: + get: + description: |- + This endpoint retrieves a project by its ID within the workspace, provided the user has access. + If the user ID is included in the query parameters, the following rules are applied to evaluate access: + - Workspace Owners, Admins, and Editors have editor-level access to all projects in the workspace. + - Workspace Viewers are granted view-level access to all projects in the workspace. + - Specific access roles for collaborators or content writers apply at the project level. + If the user does not have an applicable role in the project or workspace, the project will return as not found. + operationId: internal-project-by-id-v2 + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: user id + in: query + name: user_id + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a project by ID in a workspace where the user has access, if provided + in query params + tags: + - Internal V2 + /v2/internal/workspaces/all: + get: + description: Gets a list of all workspaces based on product filter. + operationId: internal-workspaces-all-list-v2 + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: Comma-separated list of product identifiers (e.g., ci,si) + in: query + name: products + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/handlers.workspaceResponse' + type: array + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + security: + - ApiKeyAuth: [] + summary: Get all workspaces + tags: + - Internal + /v2/internal/workspaces/projects/all: + get: + description: |- + This endpoint retrieves a list of all published projects across all workspaces. + It supports filtering and pagination to refine the results. + operationId: internal-projects-all-v2-list + parameters: + - description: API key + in: header + name: API-Key + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of all published projects across all workspaces + tags: + - Internal V2 + /v2/workspaces/{id}: + get: + description: gets workspace details matching with id including settings and + resource limits + operationId: workspace-details-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceV2Response' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace details with settings and resources (v2) + tags: + - Workspaces + /v2/workspaces/{id}/child: + post: + consumes: + - application/json + description: |- + Creates a child workspace. If field owner is provided, + then the existing user will be the owner of the child workspace, + otherwise the virtual owner of this workspace will be created. + operationId: workspace-child-create-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: parent workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.createWorkspaceV2Form' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: version 2 of creates a child workspace + tags: + - Workspaces + /v2/workspaces/{id}/projects: + get: + description: |- + List published projects for workspace with given ID. This is a lightweight V2 version suitable for selectors. + Returns only published (live) projects. Maximum limit is 100 items per page. + Supports product-specific default sorting and custom sorting via query parameters. + operationId: projects-list-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: publish statuses filter + in: query + name: publish_status + type: array + - description: search by project name or domain + in: query + name: search + type: string + - description: sort field (name, target, keywords, pagespeedurls, favourite) + in: query + name: sort_field + type: string + - description: sort direction (ASC or DESC) + in: query + name: sort_direction + type: string + - description: page number + in: query + name: page + type: integer + - description: page size (max 100) + in: query + name: limit + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectListV2Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: List published projects for workspace (V2 lightweight for selectors) + tags: + - Public V2 + post: + consumes: + - application/json + description: creates a drafted project in a workspace with name and optional + domain + operationId: project-create-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectV2CreateForm' + produces: + - application/json + responses: + "201": + description: Created + schema: + $ref: '#/definitions/handlers.projectUpsertResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a project as drafted + tags: + - Projects + /v2/workspaces/{id}/projects/{product_id}/{project_id}/limits: + get: + description: gets resource limits by project + operationId: project-limits-get-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: product id + in: path + name: product_id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.GetLimitsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets resource limits by project + tags: + - Projects + /v2/workspaces/{id}/projects/{project_id}: + put: + consumes: + - application/json + description: updates color and title for draft/live projects, updates domain + only for draft + operationId: project-update-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.projectV2UpdateForm' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.projectUpsertResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "409": + description: Conflict + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates a project + tags: + - Projects + /v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords: + post: + consumes: + - application/json + description: gets list of keywords that belong to a target with traffic, volume, + position metrics and tags. + operationId: project-get-keywords-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: list of keywords with metrics and tags + tags: + - Keywords + /v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags: + delete: + consumes: + - application/json + description: deletes tags from keywords in workspace, project and target with + given IDs. This endpoint allows batch operations for removing tag associations + from multiple keywords. + operationId: project-delete-keyword-tags-batch-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.BatchReferenceRequest' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes tags from keywords in batch + tags: + - Tags + put: + consumes: + - application/json + description: |- + updates tags in keywords in workspace, project and target with given IDs. This endpoint allows + batch operations for updating tag associations with multiple keywords. + operationId: project-update-keyword-tags-batch-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.BatchReferenceRequest' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: updates tags in keywords in batch + tags: + - Tags + /v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags: + delete: + consumes: + - application/json + description: deletes tags from target in workspace, project with given IDs. + This endpoint allows batch operations for removing tag. + operationId: project-delete-tags-batch-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.BatchDeleteReferenceRequest' + produces: + - application/json + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: deletes tags from target in batch + tags: + - Tags + get: + description: |- + API to return list of all tags that belong to a target + parent_id param can be used to get tags with specific parent + query param can be used to filter tags by name + live flag can be used get live/draft target's tags + use limit, page for paginated result + operationId: project-get-tags-with-search + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: page number + in: query + name: page + type: integer + - description: page size + in: query + name: limit + type: integer + - description: parent id + in: query + name: parent_id + type: string + - description: search query + in: query + name: query + type: string + - description: live + in: query + name: live + type: boolean + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.tagsListWithSearchResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets a list of all tags of a target with search and filter capabilities + tags: + - Tags + /v2/workspaces/{id}/resources/transfer: + post: + consumes: + - application/json + description: version 2 transfer resources between a child workspace and its + parent. + operationId: workspace-transfer-resources-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.WorkspaceResourcesTransferV2Form' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: version 2 transfer resources between a child workspace and its parent + tags: + - Workspaces + /v2/workspaces/{workspace_id}/connections/adobe-analytics: + post: + consumes: + - application/json + description: Creates a new Adobe Analytics connection. Uses credential_id in + body; ownership is checked by backend. + operationId: adobe-analytics-connection-create-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsWorkspaceConnectionCreateV2' + produces: + - application/json + responses: + "201": + description: Created + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Create Adobe Analytics connection (v2) + tags: + - Workspace Connections V2 + /v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}: + put: + consumes: + - application/json + description: Updates an existing Adobe Analytics connection. Uses credential_id + in body; ownership is checked by backend. + operationId: adobe-analytics-connection-update-v2 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: workspace_id + required: true + type: string + - description: connection id + in: path + name: connection_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Update Adobe Analytics connection (v2) + tags: + - Workspace Connections V2 + /v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords: + post: + consumes: + - application/json + description: |- + gets list of keywords that belong to a target with traffic, volume, position metrics and tags, + filter by multiple tags + operationId: project-get-keywords-v3 + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: target id + in: path + name: target_id + required: true + type: string + - description: request body + in: body + name: request + required: true + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: list of keywords with metrics and tags and filter by multiple tags + tags: + - Keywords + /workspaces/{id}/api-key: + get: + consumes: + - application/json + description: |- + This API gets workspace's owner API key, this API can be used by admin/owner of workspace + other users can't get admin's API + 400 is returned if user email is not passed in query + operationId: workspace-owner-api-key-get + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.workspaceUserAPIKey' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "404": + description: Not Found + schema: + $ref: '#/definitions/http_server.BasicResponse' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: gets workspace owner's API key + tags: + - Workspaces + /workspaces/{id}/projects/{project_id}/segments: + post: + consumes: + - application/json + description: |- + creates a new segment in a specified project + **conditions :** + `column_name` is one of *url, url_list, keyword, keyword_list, traffic, position, search_volume, + keyword_intent, country, device, clicks, impressions, ctr, gsc_position* + `operator` is one of *equal, not_equal, begin, not_begin, end, not_end, contain, + not_contain, greater, less, greater_equal, less_equal, between, one_of, in_list* + *url_list* only can be used with *in_list* operator. Only zero or one url_list is allowed in the whole conditions array. + *keyword_list* only can be used with *in_list* operator. + **filters :** + `column_name` is one of *url, url_list, keyword, keyword_list, traffic, position, search_volume, + keyword_intent, country, device, clicks, impressions, ctr, gsc_position*. + `operator` is one of *and, or, equal, not_equal, begin, not_begin, end, not_end, contain, + not_contain, greater, less, greater_equal, less_equal, in_list*. + `value` is string type. It becomes array of string in case of *in_list* operator as an exceptional case. + *Notes*: + * *url_list* only can be used with *in_list* operator. Only zero or one url_list is allowed in the whole filters array. + * *keyword_list* only can be used with *in_list* operator. + * *filters* logical operators *and, or* don't have *column_name, value* and must have nested *filters*. + * *filters* logical operators *and, or* can have maximum depth up to 5 levels from the root. + * *filters* non-logical operators must have *column_name, value* and must not have nested *filters*. + * *filters* non-logical operators can have maximum 20 leaves in a single filter object. + operationId: project-segment-create + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: workspace id + in: path + name: id + required: true + type: string + - description: project id + in: path + name: project_id + required: true + type: string + - description: segment details + in: body + name: SegmentUpsertForm + required: true + schema: + $ref: '#/definitions/handlers.SegmentUpsertForm' + produces: + - application/json + responses: + "201": + description: Created + schema: + $ref: '#/definitions/handlers.SegmentResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: creates a new segment for a project + tags: + - Segments + /workspaces/{id}/projects/{project_id}/segments/copy: + post: + consumes: + - application/json + description: Copy specified segments from current project to other projects + within the same workspace + operationId: segments-copy-to-projects + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Workspace ID + in: path + name: id + required: true + type: string + - description: Source Project ID + in: path + name: project_id + required: true + type: string + - description: Copy segments request + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.CopySegmentsRequest' + produces: + - application/json + responses: + "200": + description: Copy result with copied count + schema: + additionalProperties: true + type: object + "400": + description: Bad request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Copy segments to other projects + tags: + - Segments + /workspaces/{id}/projects/{project_id}/segments/copy-all-from: + post: + consumes: + - application/json + description: Copy all segments from a source project to the current project + within the same workspace + parameters: + - description: Workspace ID + in: path + name: id + required: true + type: string + - description: Target Project ID + in: path + name: project_id + required: true + type: string + - description: Copy all segments request + in: body + name: request + required: true + schema: + $ref: '#/definitions/handlers.CopyAllSegmentsRequest' + produces: + - application/json + responses: + "200": + description: Success response with copied count + schema: + additionalProperties: true + type: object + "400": + description: Bad request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Copy all segments from source project to current project + tags: + - Segments + /workspaces/{id}/projects/{project_id}/segments/export: + get: + description: Export segments to a CSV or XLSX file containing segment names + and logical expressions + operationId: segments-export + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Workspace ID + in: path + name: id + required: true + type: string + - description: Project ID + in: path + name: project_id + required: true + type: string + - default: csv + description: 'Export format: csv or xlsx' + in: query + name: format + type: string + produces: + - text/csv + - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + responses: + "200": + description: CSV or XLSX file with segments data + schema: + type: file + "400": + description: Bad request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Export segments to CSV or XLSX file + tags: + - Segments + /workspaces/{id}/projects/{project_id}/segments/import: + post: + consumes: + - multipart/form-data + description: Import segments from a CSV or XLSX file containing segment names + and logical expressions. Format is automatically detected. + operationId: segments-import + parameters: + - description: JWT Token + in: header + name: Auth-Data-Jwt + required: true + type: string + - description: Workspace ID + in: path + name: id + required: true + type: string + - description: Project ID + in: path + name: project_id + required: true + type: string + - description: CSV or XLSX file with segments data + in: formData + name: file + required: true + type: file + produces: + - application/json + responses: + "200": + description: Import result with imported count + schema: + additionalProperties: true + type: object + "400": + description: Bad request + schema: + $ref: '#/definitions/http_server.BasicResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/http_server.BasicResponse' + "403": + description: Forbidden + schema: + $ref: '#/definitions/http_server.BasicResponse' + "500": + description: Internal server error + schema: + $ref: '#/definitions/http_server.BasicResponse' + summary: Import segments from CSV or XLSX file + tags: + - Segments +swagger: "2.0" \ No newline at end of file diff --git a/packages/spacecat-shared-user-manager-client/src/config.js b/packages/spacecat-shared-user-manager-client/src/config.js new file mode 100644 index 000000000..218f8fcf5 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/src/config.js @@ -0,0 +1,22 @@ +/* + * Copyright 2026 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +/** + * Env var the future User Manager client/transport will read for its base URL, + * mirroring `SEMRUSH_PROJECTS_BASE_URL` (Project Engine). Semantics: required, + * no default, origin-only. For local dev / E2E point it at the mock + * (e.g. `http://localhost:4010`); the transport must allow `http` for localhost + * since the mock is not behind TLS. + * + * Defined here (not only in the README) so LLMO-5615 finds it in review. + */ +export const USER_MANAGER_BASE_URL_ENV = 'SEMRUSH_USERS_BASE_URL'; diff --git a/packages/spacecat-shared-user-manager-client/src/generated/types.ts b/packages/spacecat-shared-user-manager-client/src/generated/types.ts new file mode 100644 index 000000000..33a2b94dd --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/src/generated/types.ts @@ -0,0 +1,25469 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/v1/admin/core-users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets core users by ids + * @description gets core users with ids + */ + get: operations["admin-core-users-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a new user and master workspace + * @description Creates a new enterprise user based on an existing Semrush user and workspace if provided. + * Leave workspace as null to create user w/o workspace. + */ + post: operations["users-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/users/billing-status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Get billing status for users + * @description Returns billing status for multiple users by user IDs + */ + post: operations["admin-get-user-billing-statuses"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/users/expired": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of users which have expired subscriptions */ + get: operations["expired-subscription-users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * creates a child workspace + * @description creates a child workspace + */ + post: operations["admin-workspace-child-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/{id}/partnership": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update partnership for master workspace and its children + * @description This API updates the partnership flag for a workspace. + */ + patch: operations["admin-workspace-update-partnership"]; + trace?: never; + }; + "/v1/admin/workspaces/{id}/products": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add a product and its tier to master workspace and propagate changes to its child workspaces + * @description This API allows adding a product and its tier to the master workspace. + * If the product already exists, the tier will be updated for the workspace. + * For root workspaces, the product is added or updated only in the root workspace. + * Note: This API cannot be used to add products and tiers to non-master workspaces. + */ + post: operations["admin-workspace-product-create"]; + delete?: never; + options?: never; + head?: never; + /** + * Update a product and its tier in a master workspace and propagate changes to child workspaces + * @description This API updates a product and its tier in a workspace. If the product already exists, the API updates the tier. + * Changes to the product and tier are automatically propagated to the child workspaces. + * If the update is for a root workspace, the product and its tier will only be updated for the root workspace and will not propagate to all workspaces in the system. + * This API only applies to master workspaces and cannot be used for non-master workspaces. + */ + patch: operations["admin-workspace-product-update"]; + trace?: never; + }; + "/v1/admin/workspaces/{id}/products/{product_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a product and its tier from a master workspace and propagate changes to child workspaces + * @description This API deletes a product and its tier from a master workspace. If the product is removed from the root workspace, it will only be deleted from the root workspace and not from all workspaces in the system. + * For non-root workspaces, the product and its tier are automatically deleted from the workspace and its child workspaces. + * Note: This API can only be used to delete products from master workspaces. Non-master workspaces' products cannot be deleted using this API. + */ + delete: operations["admin-workspace-product-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/{id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * deletes an ES project which is already deleted from core + * @description deletes an ES project which is already deleted from core + */ + delete: operations["admin-es-project-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/activation-panel/app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Are you 100% sure you really want to get the whole html page via swagger? + * @description Gets you index.html of an spa that is hosted for Admin + */ + get: operations["activation-panel-spa"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/{id}/expire-subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update expiration date for master workspace + * @description This API updates the expiration date for a partnership workspace. + */ + patch: operations["admin-workspace-update-expiration"]; + trace?: never; + }; + "/v1/admin/workspaces/api/create": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * creates a master workspace (made for Activation Panel) + * @description creates a master workspace (made for Activation Panel) + */ + post: operations["activation-panel-workspace-create-master"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * lists all workspaces with limits and hierarchy for Activation Panel + * @description returns all first-level workspaces (children of the root) including their limits as well as the full hierarchy of their descendant workspaces with limits + */ + get: operations["activation-panel-get-all-workspaces"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * lists all admin activity logs for Activation Panel + * @description lists all admin activity logs for Activation Panel + */ + get: operations["activation-panel-get-all-admin-activities"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/organization/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get a single workspace with all the data necessary for Activation Panel + * @description Returns a single workspace (by id) with all the data necessary for Activation Panel, including limits and child workspaces. + */ + get: operations["activation-panel-get-workspace"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/organization/{id}/users-report": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * lists workspace and its children report of users + * @description This API lists all users associated with a specific workspace and its child workspaces and returns a CSV file. + */ + get: operations["activation-panel-users-report"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/organizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * lists all organizations workspaces (only first-level, without limits) + * @description lists all organizations workspaces required for Activation Panel. Only first-level workspaces are returned without their limits and children – kept for backward compatibility with organization route. + */ + get: operations["activation-panel-get-all-organizations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * creates a master workspace (made for Activation Panel) + * @description creates a master workspace (made for Activation Panel) + */ + get: operations["activation-panel-workspace-permissions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/subscriptions/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * updates subscription details for a workspace and its children + * @description updates subscription details for a workspace and its children + */ + put: operations["activation-panel-subscription-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/update/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * updates a workspace (made for Activation Panel) + * @description updates a workspace matching with id (made for Activation Panel). Title and icon can be updated for any workspace (including child workspaces). Icon can be set to empty string. Product tiers can only be updated for master workspaces (direct children of root workspace). + */ + put: operations["activation-panel-workspace-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/users/{email}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * checks if customer can be activated + * @description checks if customer can be activated + */ + get: operations["activation-panel-check-owner-email"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * retrieves all workspaces metadata (made for Activation Panel) + * @description retrieves all workspaces with basic metadata fields: ID, Title, Icon, and ParentID (made for Activation Panel) + */ + get: operations["activation-panel-all-workspaces-find"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces/{id}/aio/prompt-settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get daily or weekly (with day of week) prompt settings + * @description Endpoint to get daily or weekly (with day of week) prompt settings for AIO product. + */ + get: operations["activation-panel-aio-settings-get"]; + /** + * create or update daily or weekly (with day of week) prompt settings + * @description Endpoint to create or update daily or weekly (with day of week) prompt settings for AIO product. + */ + put: operations["activation-panel-aio-settings-upsert"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces/{id}/products": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace products for Activation Panel + * @description Returns a list of products (with ID and name) that are enabled for a specific workspace + */ + get: operations["activation-panel-workspace-products-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces/{id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * lists projects for a workspace with filtering and pagination + * @description Returns a paginated list of projects for a specific workspace with support for search, sorting, and status filtering using cursor-based pagination. If next_cursor is not provided, results are returned from the start. Use the next_cursor value from the response to fetch subsequent pages. + */ + get: operations["activation-panel-projects-find"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces/{id}/projects/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * transfers projects from one workspace to another + * @description Transfers a list of projects from a source workspace to a target workspace. Only AI projects with transferable status can be moved. SEO and SI projects will be marked as failed. The endpoint validates target workspace product enablement, available resource limits (projects, keywords, pages, prompts, pagespeed URLs), and RBAC roles. Users with explicit project roles or workspace roles in the source workspace will be granted appropriate roles in the target workspace. Returns a map of failed project IDs with failure reasons (empty map indicates all projects transferred successfully). + */ + post: operations["activation-panel-projects-transfer"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces/{id}/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace resources for Activation Panel + * @description Returns workspace resources including general resources (users, service credits, API units) and product-specific resources (SEO, AI, SI) for a specific workspace + */ + get: operations["activation-panel-workspace-resources"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces/{id}/smb-migration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Migrate SMB projects + * @description Migrate SMB projects from list of corporate owners to target workspace + */ + post: operations["activation-panel-projects-migration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/api/workspaces/{id}/smb-migration-report": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * SMB projects migration report + * @description Get report for SMB projects migration for given workspaceID as comma separated csv + */ + get: operations["activation-panel-projects-migration-report"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/managers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * imports workspace managers from CSV + * @description imports workspace managers from CSV data where each row contains a workspace ID and its manager user IDs + */ + post: operations["workspace-manager-import"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/master": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * creates a master workspace + * @description creates a master workspace + */ + post: operations["admin-workspace-create-master"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/admin/workspaces/tiers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * return list of tiers + * @description this API returns list of available tiers + */ + get: operations["activation-panel-tiers-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/dimensions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * [DEPRECATED] Gets Adobe dimensions + * @deprecated + * @description Deprecated: use GET /v2/adobe-analytics/dimensions with credential_id, global_company_id, rsid in query instead. + */ + get: operations["adobe-analytics-get-dimensions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * [DEPRECATED] Gets Adobe metrics + * @deprecated + * @description Deprecated: use GET /v2/adobe-analytics/metrics with credential_id, global_company_id, rsid in query instead. + */ + get: operations["adobe-analytics-get-metrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/metrics-dimensions/validation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * [DEPRECATED] Validate Adobe Analytics metrics and dimensions + * @deprecated + * @description Deprecated: use POST /v2/adobe-analytics/credentials/metrics-dimensions/validation with credential_id in body instead. + */ + post: operations["adobe-analytics-validate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * [DEPRECATED] Gets Adobe report suites + * @deprecated + * @description Deprecated: use GET /v2/adobe-analytics/reportsuites with credential_id and global_company_id in query instead. + */ + get: operations["adobe-analytics-get-report-suites"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/{adobe_proxy_auth_id}/{global_company_id}/reportsuites/paginated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * [DEPRECATED] Gets Adobe report suites with pagination + * @deprecated + * @description Deprecated: use GET /v2/adobe-analytics/reportsuites/paginated with credential_id and global_company_id in query instead. + */ + get: operations["adobe-analytics-get-report-suites-paginated"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/{adobe_proxy_auth_id}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * [DEPRECATED] Gets Adobe credentials status + * @deprecated + * @description Deprecated: use GET /v2/adobe-analytics/status with credential_id in query instead. Gets Adobe credentials status by adobe_proxy_auth_id. + */ + get: operations["adobe-analytics-get-status"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/credentials": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * [DEPRECATED] Creates Adobe Analytics credentials + * @deprecated + * @description Deprecated: use POST /v2/adobe-analytics/credentials instead (returns credential_id, not adobe_proxy_auth_id). + */ + post: operations["adobe-analytics-create-credentials"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/adobe-analytics/status/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * [DEPRECATED] Gets multiple Adobe credentials statuses + * @deprecated + * @description Deprecated: will be removed without replacement. Use GET /v2/adobe-analytics/status per credential_id instead. + */ + post: operations["adobe-analytics-get-bulk-status"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/countries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of countries + * @description gets a list of countries + */ + get: operations["countries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/goals/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * returns goals metrics + * @description this API returns list of goals metrics + */ + get: operations["goals-metrics-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/core-users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets core users by ids + * @description gets core users with ids + */ + get: operations["internal-core-users-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/projects/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of live & published projects from all workspaces + * @description gets a list of live & published projects from all workspaces + */ + get: operations["internal-project-all-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/projects/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore project + * @description restore deleted project on enterprise + */ + post: operations["internal-restore-project"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/targets/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets all live targets + * @description gets all live targets + */ + get: operations["internal-all-live-targets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Creates a service credits transaction, + * @description Creates a service credits transaction, + */ + post: operations["transaction-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/transactions/{transaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets a service credits transaction + * @description Gets a service credits transaction + */ + get: operations["service-credits-internal-transaction-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/transactions/{transaction_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancel a service credits transaction + * @description Cancel a service credits transaction + */ + post: operations["transaction-cancel"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/transactions/list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Gets a list of service credits transactions + * @description Gets a list of service credits transactions + */ + post: operations["service-credits-internal-transactions-list"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets complete profiles of users by ids + * @description gets profiles of users by ids filtered by es_type + * profiles include all workspaces where users have access + */ + get: operations["profiles-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/users/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * An internal API to update a user's profile + * @description This is an internal API to update a user's profile which is intended to be used by other ES services. + */ + put: operations["user-profile-update-internal"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/users/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** An internal API to find all ES users */ + get: operations["internal-all-es-users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/users/api-key/{api_key}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Internal API to retrieve user data using an API key + * @description This is an internal API to fetch user data of the owner of the API key. + */ + get: operations["user-by-api-key-get-internal"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/users/basic": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets basic profiles of users by ids + * @description gets profiles of users by ids + * basic profile data + */ + get: operations["basic-profiles-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * internal API to get workspace by id + * @description internal API to get workspace by id. + */ + get: operations["internal-workspace-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/ancestors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * an internal API to get ancestor(parents/grandparents) of a workspace + * @description an internal API to get ancestor(parents/grandparents) of a workspace. + * Ancestors list does not include current workspace. + */ + get: operations["internal-workspaces-ancestor"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/api-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace owner's API key + * @description This API gets workspace's owner API key, this API can be used by admin/owner of workspace + * other users can't get admin's API + * 400 is returned if user email is not passed in query + */ + get: operations["internal-workspace-owner-api-key-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/family": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * an internal API to get a list of workspace children + * @description an admin API to get a list of all children, grand children workspaces + */ + get: operations["internal-workspaces-family"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/managers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace managers + * @description gets a list of all managers for a specific workspace + */ + get: operations["workspace-managers-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get workspace members + * @description gets a workspace's members + */ + get: operations["internal-workspaces-members"]; + put?: never; + /** + * internal API to add members to a workspace + * @description internal API to add members to a workspace and assigns them a specific role + * in response it returns number of user units consumed + * -ve value means workspace user units are consumed and users are invited to corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + * **Note**: External users (without @semrsuh.com email) cannot be invited to Semrush workspaces. + */ + post: operations["internal-workspace-add-members"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/members/{user_id}/roles/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * check role status in hierarchy + * @description checks whether user has one of the provided workspace roles in the current workspace or ancestors + */ + get: operations["workspaces-check-roles-in-ancestry"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/members/{user_id}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * check membership status + * @description Checks whether the user has membership in the workspace hierarchy (current workspace + descendants). + * If the optional `membership` query parameter is provided, only those statuses are treated as valid. + * Valid values: `member`, `guest`, `basic`. + * If `membership` is omitted, the default behavior is backward compatible: membership is checked by subscription match + * (`user.SubscriptionID == desc.SubscriptionID`), not by membership status. + */ + get: operations["workspaces-check-membership-in-ancestry"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/pagespeed-crawlers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list pagespeed crawlers of a workspace + * @description gets a list pagespeed crawlers that belong to a workspace + */ + get: operations["pagespeed-internal-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/keywords": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of keywords of pagespeed crawlers + * @description gets a list of keywords of pagespeed crawler by its id. + */ + get: operations["pagespeed-internal-keywords-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/pagespeed-crawlers/{crawler_id}/urls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of urls of pagespeed crawlers + * @description gets a list of urls of pagespeed crawler by its id. + */ + get: operations["pagespeed-internal-urls-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of projects belongs to a workspace + * @description gets a list of all projects that belong to a workspace. + */ + get: operations["project-list-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/goals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * list of normalised goals + * @description this API returns a list of normalized goals for a live project + */ + get: operations["internal-goals-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/public/segments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * This is a proxy internal API which gets a list of public segments of a project. + * @description This is a proxy internal API to public API **Segment** *\/workspaces/{id}/projects/{project_id}/segments [get]* + * which gets a list of segments that belong to a project. + * For description of response fields like conditions and filters, + * see segment create under **Segment** *\/workspaces/{id}/projects/{project_id}/segments [post]* + */ + get: operations["internal-public-project-segment-list-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/segments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of segments of a project with pagemanager representation of filters + * @description gets a list of segments that belong to a project. + * *filters* here is the exact representation of the filters in the pagemanager. + * **filters representations:** + * `col` is one of *url, keyword*. Note: *url_list* is represented as *url* in pagemanager. + * `op` is one of *and, or, eq, neq, begins_with, not_begins_with, ends_with, not_ends_with, contains, + * not_contains, gt, lt, gte, lte, in*. + * `value` is string type. It becomes array of string in case of *in* operator as an exceptional case. + * *Notes*: + * * *url_list* always has *in* operator. Only zero or one url_list contains in the whole filters object. + * * *filters* logical operators *and, or* will not have *col, value* and will have nested *filters*. + * * *filters* logical operators *and, or* will have maximum depth up to 5 levels from the root. + * * *filters* non-logical operators will have *col, value* and will not have nested *filters*. + * * *filters* non-logical operators will have maximum 20 leaves in a single filter object. + */ + get: operations["internal-project-segment-list-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/segments/{segment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * This is a proxy internal API which gets a segment of a project. + * @description For description of response fields like conditions and filters, + * see segment create under **Segment** *\/workspaces/{id}/projects/{project_id}/segments [post]* + */ + get: operations["internal-project-segments-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/targets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of targets of a project + * @description gets a list of targets that belong to a project + */ + get: operations["project-target-list-get-internal"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets target details + * @description gets target details + */ + get: operations["internal-project-target-details"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/input": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * finds a list of internal benchmarks of a project + * @description this API lists internal benchmarks of a project + */ + get: operations["internal-benchmarks-input"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/input": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets internal target details + * @description gets internal target details + */ + get: operations["internal-project-target-input-details"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets tagged keywords + * @description this API gets tagged keywords with the underscore (__) syntax. + */ + get: operations["project-get-tagged-keywords"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** internal API to search tags list by name */ + get: operations["project-internal-search-list-tags"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * internal API to find tags parents upto top level + * @description this API returns all ancestors of tag upto root level, this API does not return children of tags. + * API does not return full tree. + */ + get: operations["project-internal-tags-tree"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/projects/targets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of targets of all live projects by workspace id + * @description gets a list of targets of all live projects by workspace id + */ + get: operations["internal-live-projects-target-list-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace resources + * @description Returns workspace resources including general resources (users, service credits, API units) and product-specific resources (SEO, AI, SI) for a specific workspace + */ + get: operations["internal-workspace-resources"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/service-units": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets service units + * @description gets service units + */ + get: operations["service-units-get"]; + /** + * sets service units + * @description sets service units + */ + put: operations["service-units-set"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{id}/service-units/used": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * sets used service units + * @description sets used service units + */ + put: operations["service-units-used-set"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{workspace_id}/connections": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workspace connections (internal) + * @description Returns a paginated list of workspace connections for service-to-service use (e.g. LFA connector status updater). Same query parameters as the user-facing list endpoint. + */ + get: operations["internal-workspace-connections-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{workspace_id}/connections/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workspace connection by connection ID (internal) + * @description Retrieves the details of workspace connection. Returns adobe_proxy_auth_id instead of credential_id for adobe analytics connections. + */ + get: operations["internal-workspace-connection-byid"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update Log File Analysis connection (internal) + * @description Updates an existing Log File Analysis connection using internal API key authentication (e.g. LFA connector status updater). The connection must belong to the workspace and be of type log-file-connector. + */ + put: operations["internal-log-file-analysis-connection-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update Log File Analysis connector status (internal) + * @description Persists connector-reported success or error status. Returned on all workspace connection GET endpoints for this connection. + */ + patch: operations["internal-log-file-analysis-connection-status-patch"]; + trace?: never; + }; + "/v1/internal/workspaces/{workspace_id}/projects/{project_id}/connections": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get connections for a specific project + * @description Retrieves a list of connection IDs attached to a specific project. + */ + get: operations["internal-workspace-project-connections"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * workspaces list + * @description gets a list of all workspaces + */ + get: operations["internal-workspaces-all-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get limits for all workspaces + * @description gets limits for all workspaces + */ + get: operations["internal-workspaces-limits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/members/batch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * get batch workspace members + * @description gets batch workspace members + */ + post: operations["internal-batch-workspaces-members"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/root": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a root workspace + * @description gets a root workspace + */ + get: operations["internal-workspace-get-root"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/sox": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * workspaces list (SOX compliance) + * @description gets the list of all workspaces for SOX compliance + */ + get: operations["internal-workspaces-sox-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/internal/workspaces/tiers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * return list of tiers + * @description this API returns list of available tiers + */ + get: operations["internal-tiers-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/languages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of languages + * @description gets a list of languages + */ + get: operations["languages"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/locations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * proxy request for getting locations + * @description this API gets locations from core /get_locations api and pass them in response + * get_locations api docs can be here(https://kb.semrush.net/display/BlueTeam/locations+get_ + */ + get: operations["locations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/profile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets user's own profile + * @description gets user's own profile + */ + get: operations["user-profile"]; + put?: never; + /** + * updates user's own profile + * @description updates user's own profile + */ + post: operations["user-profile-update"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/users/required-units": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** An API that returns number of users required to invite them on workspace */ + post: operations["users-required-units"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/users/workspace-ownership-eligibility": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * validates if user can become owner of a children workspace + * @description API validates if user can become owner of children workspace + * by validating user exists on core and does not have subscription. + * 404 is returned if user does not exist on core + * 422 is returned if user already has core subscription + * 400 is returned if user email is not passed in query + */ + get: operations["user-ownership-eligibility"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/work-categories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of work categories + * @description gets a list of work categories + */ + get: operations["work-categories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * workspaces list + * @description gets a list of workspaces owned by the user + */ + get: operations["workspaces-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace details + * @description gets workspace details matching with id + */ + get: operations["workspace-details"]; + /** + * updates a workspace + * @description updates a workspace matching with id + */ + put: operations["workspace-update"]; + post?: never; + /** + * deletes a workspace + * @description deletes workspace matching with id. + * In order to delete a workspace make sure workspace does not have any children otherwise + * API will fail to process + */ + delete: operations["workspace-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/api_units": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** gets API units of a workspace */ + get: operations["workspace-api-units-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/campaigns/{campaign_id}/keywords": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets keywords + * @description gets keywords that belong to a campaign. + */ + get: operations["workspaces-campaign-keywords-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/child": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * creates a child workspace + * @description Creates a child workspace. If field owner is provided, + * then the existing user will be the owner of the child workspace, + * otherwise the virtual owner of this workspace will be created. + */ + post: operations["workspace-child-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/family": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * an API to get a list of workspaces family + * @description an API to get a list of all children, grand children workspaces which belong to a workspace + */ + get: operations["workspaces-family"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/has_children": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** API to returns true/false if workspace has or does not have children */ + get: operations["workspaces-has-children"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/icon": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Updates workspace icon using a signed upload receipt + * @description Validates the Ed25519-signed receipt from the upload service, then stores the icon URL. + */ + put: operations["workspace-update-icon"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/keywordslists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets list of keywords-lists for the workspace + * @description Gets list of keywords-lists for the workspace. Pagination is not supported for now. + */ + get: operations["keywordslists-get"]; + put?: never; + /** + * Create a keywords-list for the workspace + * @description Create a keywords-list for the workspace + */ + post: operations["keywordslists-post"]; + /** + * delete keywords-lists of a workspace by basket ids + * @description delete keywords-lists of a workspace by basket ids + */ + delete: operations["keywordslists-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/keywordslists/{basket_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Rename the name of a keywords-list of the workspace + * @description Rename the name of a keywords-list of the workspace + */ + put: operations["keywordslists-rename"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/keywordslists/{basket_id}/keywords": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets list of keywords from the keywords-list + * @description Gets list of keywords from the keywords-list in a workspace. + * Pagination is supported. Default page is 1 and default limit is 25 when any of page or limit params provided. + * Even wrong values are set as defaults. If page and limit are not provided, all keywords are returned. + */ + get: operations["keywordslists-keywords-get"]; + put?: never; + /** + * Create a list of keywords in a keywords-list + * @description Create a list of keywords in a keywords-list of a workspace + * Each keyword phrase can have upto 90 characters. A keyword can have upto 5 tags. + */ + post: operations["keywordslists-keywords-post"]; + /** + * Delete a list of keywords in a keywords-list + * @description Delete a list of keywords in a keywords-list from a workspace. + */ + delete: operations["keywordslists-keywords-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add a list of tags to a list of keywords in a keywords-list + * @description Add a list of tags to a list of keywords in a keywords-list of the workspace. + */ + post: operations["keywordslists-keywords-tags-add"]; + /** + * Deletes a list of tags to a list of keywords in a keywords-list + * @description Deletes a list of tags to a list of keywords in a keywords-list of the workspace. + */ + delete: operations["keywordslists-keywords-tags-delete"]; + options?: never; + head?: never; + /** + * Add and delete list of tags to a list of keywords in a keywords-list + * @description Add and delete list of tags to a list of keywords in a keywords-list of the workspace. + */ + patch: operations["keywordslists-keywords-tags-patch"]; + trace?: never; + }; + "/v1/workspaces/{id}/keywordslists/{basket_id}/keywords/upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a list of keywords in a keywords-list by uploading a csv/xlsx file + * @description Create a list of keywords in a keywords-list by uploading a csv/xlsx file in a workspace + * 1st element is supposed to be keyword name. 2nd element is supposed to be database. + * Whereas 3rd element is supposed to be list of tags, other elements are ignored. + * Tagged are expected to be separated by __ notion. + * Example of a csv row (Similarly for xlsx): + * *keyword name, database, tag1, tag2__tag3, tag4__tag5* + * Total keywords allowed is 100. A keyword can have up to 5 tags.Total tags allowed is 50. + */ + post: operations["keywordslists-keywords-post-upload"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/keywordslists/{basket_id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get keywords list members + * @description gets a keywords list members + */ + get: operations["keywords-list-members"]; + put?: never; + /** + * adds members to a keywords list + * @description adds members to a keywords list and assigns them a specific role + * **Note**: External users (without @semrsuh.com email) cannot be invited to keywords lists of Semrush workspaces. + */ + post: operations["keywords-list-add-members"]; + /** + * delete members of a keywords-list + * @description deletes members of a keywords-list + * Note: External users on Semrush workspace keywords lists are not allowed to be invited + */ + delete: operations["keywords-list-delete-members"]; + options?: never; + head?: never; + /** + * update keywords-list members role + * @description update keywords-list members role + * Note: External users on Semrush workspace keywords lists are not allowed to be invited + */ + patch: operations["keywords-list-update-members-role"]; + trace?: never; + }; + "/v1/workspaces/{id}/keywordslists/databases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets list of databases of keywords + * @description Gets list of databases of keywords + */ + get: operations["keywordslists-databases-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/light": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets lightweight workspace details + * @description gets lightweight workspace details matching with id + */ + get: operations["workspace-light-details"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * [DEPRECATED] use /v1/workspaces/{id}/resources instead + * @deprecated + * @description [DEPRECATED] use /v1/workspaces/{id}/resources instead + */ + get: operations["limits-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get workspace members + * @description gets a workspace's members + * **Note:** Users with roles *Collaborator* or *Content Writer* will receive **no members** in the response (an empty list), regardless of workspace membership. + */ + get: operations["workspaces-members"]; + put?: never; + /** + * adds members to a workspace + * @description adds members to a workspace and assigns them a specific role + * in response it returns number of user units consumed + * -ve value means workspace user units are consumed and users are invited to corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + * **Note**: External users (without @semrsuh.com email) cannot be invited to Semrush workspaces. + */ + post: operations["workspace-add-members"]; + /** + * delete members of a workspace + * @description deletes members of a workspace + * in response it returns number of user units freed, + * +ve value means workspace user units are credited back and users are removed from corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + */ + delete: operations["workspace-delete-members"]; + options?: never; + head?: never; + /** + * updates a member's role in workspace + * @description Updates a member's role in workspaces by promoting/demoting user in the workspace. + * in response it returns number of user units consumed/freed, + * +ve value means workspace user units are credited back and user is removed from corporate account. + * -ve value means workspace user units are consumed and user is invited to corporate account. + * 0 values mean user units are not changed and corporate account remains unaffected. + */ + patch: operations["workspaces-members-update"]; + trace?: never; + }; + "/v1/workspaces/{id}/parent": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace's parent details + * @description gets workspace's parent details matching with id + */ + get: operations["workspace-details-parent"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/parent/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace's master workspace resources + * @description gets workspace's master workspace resources resources matching with id + */ + get: operations["workspace-resources-master"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of projects belongs to a workspace + * @description gets a list of all projects that belong to a workspace. + */ + get: operations["project-list-get-for-user"]; + put?: never; + /** + * creates a project as drafted + * @description creates a drafted project in a workspace with name and domain + */ + post: operations["project-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a project + * @description gets details of a specific project. + */ + get: operations["project-get"]; + /** + * updates a project + * @description updates a project's color and title + */ + put: operations["project-update"]; + post?: never; + /** + * deletes a project + * @description deletes a project and attached entities + */ + delete: operations["project-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/benchmarks/clone": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * clone benchmarks / tags from target to another + * @description clone benchmarks / tags from target to another + */ + post: operations["workspaces-clone-benchmarks-tags"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/discard_draft": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * discards a draft version of a project + * @description discards draft projects and copies back live version + */ + post: operations["discard-draft-project"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/favourite": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * sets a project as favourite + * @description API to set project as favourite + */ + post: operations["set-project-favourite"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/goals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * list goals + * @description this API returns list of goals for a project + */ + get: operations["goals-list"]; + put?: never; + /** + * create a goal + * @description this API creates a goal for a project + */ + post: operations["goal-create"]; + /** + * delete multiple goals + * @description this API deletes multiple goals for a project + */ + delete: operations["goals-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/goals/{goal_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * update a goal + * @description this API creates a goal for a project + */ + put: operations["goal-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/goals/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * import goals from a project to another + * @description this API imports goals from a project to another + */ + post: operations["goal-simport"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets resource limits by project + * @description gets resource limits by project + */ + get: operations["project-limits-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get project members + * @description gets a project's members + */ + get: operations["project-members"]; + put?: never; + /** + * adds members to a project + * @description adds members to a projects and assigns them a specific role + * **Note**: External users (without @semrsuh.com email) cannot be invited to projects of Semrush workspaces. + */ + post: operations["project-add-members"]; + /** + * delete members of a project + * @description deletes members of a project + */ + delete: operations["project-delete-members"]; + options?: never; + head?: never; + /** + * update project members role + * @description update project members role + */ + patch: operations["project-update-members-role"]; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list pagespeed crawlers of a project + * @description gets a list pagespeed crawlers that belong to a project + */ + get: operations["pagespeed-list"]; + put?: never; + /** + * creates a pagespeed crawler of a project + * @description creates a pagespeed crawler that belong to a project + */ + post: operations["pagespeed-create"]; + /** + * deletes pagespeed crawlers of a project + * @description deletes pagespeed crawlers that belong to a project + */ + delete: operations["pagespeed-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * updates a pagespeed crawler of a project + * @description updates a pagespeed crawler that belong to a project + */ + patch: operations["pagespeed-update"]; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of keywords of pagespeed crawlers + * @description gets a list of keywords of pagespeed crawler that belong to a project + */ + get: operations["pagespeed-keywords-list"]; + put?: never; + /** + * adds keywords to pagespeed crawlers + * @description adds keywords to pagespeed crawlers + */ + post: operations["pagespeed-add-keywords"]; + /** + * deletes a list of keywords from pagespeed crawlers + * @description deletes a list of keywords from pagespeed crawlers + */ + delete: operations["pagespeed-delete-keywords"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/keywords/custom": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * adds keywords by name to a pagespeed crawler. + * @description adds keywords by name to pagespeed crawler. + * A project should have these keywords otherwise keywords are not added to a pagespeed crawler. + */ + post: operations["pagespeed-add-named-keywords"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets resource limits by pagespeed crawler + * @description gets resource limits by pagespeed crawler + */ + get: operations["crawler-limits-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/urls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of urls of pagespeed crawlers + * @description gets a list of urls of pagespeed crawler that belong to a project + */ + get: operations["pagespeed-urls-list"]; + put?: never; + /** + * adds a list of urls in pagespeed crawlers of a project + * @description adds a list of urls to pagespeed crawlers that belong to a project + */ + post: operations["pagespeed-add-urls"]; + /** + * deletes a list of urls from pagespeed crawlers of a project + * @description deletes a list of urls from pagespeed crawlers that belong to a project + */ + delete: operations["pagespeed-delete-urls"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/pagespeed-crawlers/{crawler_id}/visible": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * makes a pagespeed crawler of a project is visible + * @description makes a pagespeed crawler of a project is visible + */ + patch: operations["pagespeed-visible"]; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/publish/async": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * publishes a project + * @description asynchronously publishes a project + */ + post: operations["project-publish-async"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/segments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets a list of segments of a project + * @description Gets a list of segments that belong to a project. + * For description of response fields like conditions and filters, + * see segment create under **Segment** *\/workspaces/{id}/projects/{project_id}/segments [post]* + */ + get: operations["project-segment-list-get"]; + put?: never; + post?: never; + /** + * delete a segment for a project by id + * @description delete a segment for a project by id + */ + delete: operations["project-segment-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/segments/{segment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets a segment of a project by id (public) + * @description Gets a segment of a project by id. For description of response fields like conditions and filters, + * see segment create under **Segment** *\/workspaces/{id}/projects/{project_id}/segments [post]* + */ + get: operations["project-segments-get"]; + /** + * update segment for a project BY id + * @description update segment for a project BY id, see segment create for valid conditions and filters fields + * column_name, operator and value validations. + */ + put: operations["project-segment-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of targets of a project + * @description gets a list of targets that belong to a project + */ + get: operations["project-target-list-get"]; + put?: never; + /** + * adds target to a project + * @description creates target of the project + */ + post: operations["project-add-target"]; + /** + * delete a target + * @description deletes a target + */ + delete: operations["project-target-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets target details + * @description gets target details + */ + get: operations["project-target-details"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * finds a list of benchmarks of a project + * @description this API lists benchmarks of a project + */ + get: operations["benchmarks-list"]; + put?: never; + /** + * creates a benchmark of a project + * @description this API lets client create benchmark of a project, max 20 benchmarks are allowed + */ + post: operations["project-add-benchmarks"]; + /** + * delete benchmarks of a project + * @description this API lets client delete benchmarks of a project + */ + delete: operations["project-delete-benchmarks"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/{benchmark_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * updates a benchmark of a project + * @description this API lets client updates a benchmark of a project + */ + put: operations["project-update-benchmarks"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * bulk update benchmarks of a project + * @description this API lets client bulk update benchmarks of a project + */ + put: operations["project-bulk-update-benchmarks"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/download": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * downloads benchmarks + * @description This API download benchmarks. + * First element is supposed to be URL + * whereas second element is supposed to be color. + */ + get: operations["project-download-benchmarks"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/remove-tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * remove tags from benchmarks + * @description remove tags from benchmarks + */ + delete: operations["project-remove-tags-benchmarks"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/benchmarks/upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * uploads benchmarks + * @description this API uploads benchmarks of a project from csv/xlsx file. + * First element is supposed to be URL + * whereas second element is supposed to be color, other elements are ignored. + */ + post: operations["project-upload-benchmarks"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * list of keywords + * @description gets list of keywords that belong to a target. + */ + get: operations["project-get-keywords"]; + put?: never; + /** + * creates keywords + * @description creates keywords that belong to a target + */ + post: operations["project-add-keywords"]; + /** + * deletes keywords + * @description deletes keywords that belong to a target + */ + delete: operations["project-delete-keywords"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/names": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * finds a taregt's keywords by names. + * @description finds a taregt's keywords by names. + */ + post: operations["targets-keywords-by-names"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * an API to update keywords preferred urls in bulk + * @description an API to update keywords preferred urls via csv/xlsx file, file content must be of text/csv. + * each row represents 1 keywords and its preferred url and values are expected to be comma + * separated for csv file. first element is supposed to be keyword name + * whereas second element is supposed to be preferred urls, other elements are ignored + */ + post: operations["keywords-preferred-urls-upload"]; + delete?: never; + options?: never; + head?: never; + /** + * updates keyword's preferred url + * @description this API can be used to update keywords' preferred url. + */ + patch: operations["project-update-keywords"]; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/preferred-url/download": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * downloads keywords with preferred-urls + * @description This API download keywords along with preferred urls associated with keywords. + * each row represents one keyword and its preferred url and values are expected to be comma + * separated for csv file. first element is supposed to be keyword name + * whereas second element is supposed to be preferred urls. + */ + get: operations["keywords-preferred-urls-download"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/related-tags-ids": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * gets related tag IDs for keywords + * @description This API fetches related tag IDs for the provided keywords. + * Response has keyword_id mapped to tag ids {"id1":["tag1", "tag2"]} + */ + post: operations["keywords-related-tag-ids-get"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/relations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * an API to delete relationships of keywords with tags + * @description API deletes relantionships of keywords with tags, + * it can also delete relations of keywords with children and grandchildren of tags if parent id passed + * expected format of request {"relations": [["keyword_id", "tag_id"]]} + */ + delete: operations["keywords-tags-relations-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets metrics of keywords + * @description gets metrics of keywords, data is fetched from elements data source + */ + get: operations["keywords-metrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * creates tagged keywords + * @description this API creates tagged keywords by building tags hierarchy and + * assigning tags to keywords. tagged are expected to be separated by __ notion + */ + post: operations["project-add-tagged-keywords"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/download": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * downloads tagged keywords + * @description This API download keywords along with preferred URLs and tags associated with keywords. + * First element is supposed to be keyword name + * Second element is supposed to be preferred URL + * Third and subsequent elements are supposed to be list of tags. + * Tags are expected to be separated by __ notion. + * All tags are packaged in a quoted-field. + * Example of a csv row: keyword name, preferred_url, "tag1__tag2__tag3,tag4__tag5__tag6" + */ + get: operations["project-download-tagged-keywords"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tagged/upload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * uploads tagged keywords + * @description this API uploads tagged keywords by building tags hierarchy and + * assigning tags to keywords through csv/xlsx file. + * First element is supposed to be keyword name + * Second element is supposed to be preferred URL (optional) + * Third and subsequent elements are supposed to be list of tags. + * Tagged are expected to be separated by __ notion. + * All tags must be packaged in a quoted-field for csv file, this is not necessary for xlsx. + * Example of a csv row: keyword name,preferred_url,"tag1__tag2__tag3" + */ + post: operations["project-upload-tagged-keywords"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of tags of a target + * @description API to return list of tags that belong to a target + * parent_id param can be used to get immediate children of a tag + * live flag can be used get live/draft target's tags + * use limit, page for paginated result + */ + get: operations["project-get-tags"]; + put?: never; + /** + * adds tags to a target + * @description this API creates tags and parent_id in request body can be used to build parent children relantions + */ + post: operations["project-add-tags"]; + /** + * deletes tags of a target + * @description deletes tags that belong to a target, this API also deletes keywords associated to tags + * use `delete_keywords` flag to delete keywords along with tags + */ + delete: operations["project-delete-tags"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/{tag_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * updates a tag's name and parent + * @description this API can be used to change a tag's name and its parent + */ + put: operations["project-update-tag"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * get all tags as flat list + * @description This API returns all tags as a flat list without building tree structure for performance optimization. + * Frontend can build the tree structure if needed using parent_id relationships. + */ + get: operations["project-tags-all"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * searches tags by name and returns matching tags' without their children or parents + * @deprecated + */ + get: operations["project-search-list-tags"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * find tags parents upto top level + * @description this API returns all ancestors of tag upto root level, this API does not return children of tags. + * API does not return full tree. + */ + get: operations["project-tags-tree"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/path": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * searches tags by path and returns ancestors tree of matched tags + * @description This API searches tags and returns ancestors tree structure of matched tags. + * Consider a tree `foo -> bar -> baz -> quack` and searched for `foo__bar__baz` + * then the returned result would be `foo -> bar -> baz` and the neighbors of children tags, if they exist. + * To find children of baz use list tags API. + */ + get: operations["project-find-tags-path"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags/tree/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * searches tags by name and returns ancestors tree of matched tags + * @description This API searches tags and returns ancestors tree structure of matched tags. + * Consider a tree `foo -> bar -> baz -> quack` and searched for `az` + * then return result would be `foo -> bar -> baz`, to find children of baz use list tags API. + */ + get: operations["project-search-tree-tags"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/targets/keywords_clone": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * clone keywords / tags from target to another + * @description clone keywords / tags from target to another + */ + post: operations["workspaces-clone-keywords-tags"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/url-groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of url groups of project + * @description gets a list of url groups that belong to a project + */ + get: operations["url-groups-list"]; + put?: never; + /** + * creates url groups of a project + * @description creates url groups that belong to a project + */ + post: operations["url-groups-create"]; + /** + * deletes an url group of project + * @description deletes an url groups that belong to a project + */ + delete: operations["url-groups-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/{project_id}/url-groups/{url_group_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * updates an url group of project + * @description updates an url groups that belong to a project + */ + put: operations["url-groups-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/projects/targets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of targets of all live projects by workspace id + * @description gets a list of targets of all live projects by workspace id + */ + get: operations["live-projects-target-list-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace resources + * @description gets workspace resources matching with id + */ + get: operations["workspace-resources"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/resources/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * transfer resources between a child workspace and its parent + * @description transfer resources between a child workspace and its parent. + */ + post: operations["workspace-transfer-resources"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/role": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets user's role in workspace + * @description gets user's role in workspace, also if user is admin/owner in parent it will return parent's role + * user_id is extracted from jwt token + */ + get: operations["user-workspace-role"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/segments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets a list of segments of a workspace + * @description Gets a list of segments that belong to any project of given workspace. + * For description of response fields like conditions and filters, + * see segment create under **Segment** *\/workspaces/{id}/projects/{project_id}/segments [post]* + */ + get: operations["workspace-segment-list-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/service-units/balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets service units balance + * @description gets service units balance + */ + get: operations["service-units-balance-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/service-units/transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Gets a list of service credits transactions + * @description Gets a list of service credits transactions + */ + post: operations["service-credits-transactions-list"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/service-units/transactions/{transaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets a service credits transaction + * @description Gets a service credits transaction + */ + get: operations["service-credits-transaction-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{id}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a workspace status + * @description THe status must be "not ready", "created" or "error" + */ + get: operations["workspaces-status-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workpsace connections + * @description Retrieves a paginated list of workspace connections. + */ + get: operations["workspace-connections"]; + put?: never; + post?: never; + /** + * Delete workspace connections + * @description Deletes multiple workspace connections by their IDs. + */ + delete: operations["workspace-connections-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workpsace connection by connection ID + * @description Retrieves the details of workspace connection. + */ + get: operations["workspace-connections-byid"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/{connection_id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Attach a project to a connection + * @description Attaches a specific project to a specific connection. + */ + post: operations["workspace-connection-attach-project"]; + /** + * Detach a project from a connection + * @description Detaches a specific project from a specific connection. + */ + delete: operations["workspace-connection-detach-project"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/adobe-analytics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * [DEPRECATED] Create Adobe Analytics connection + * @deprecated + * @description Deprecated: use POST /v2/workspaces/{workspace_id}/connections/adobe-analytics with credential_id in body instead. + */ + post: operations["adobe-analytics-connection-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * [DEPRECATED] Update Adobe Analytics connection + * @deprecated + * @description Deprecated: use PUT /v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id} with credential_id in body instead. + */ + put: operations["adobe-analytics-connection-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/attach-projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Merge connections with projects + * @description Attaches multiple connections to multiple projects in a single transaction. + */ + post: operations["workspace-connections-merge"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/google-ads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Google Ads connection + * @description Creates a new Google Ads connection. + */ + post: operations["ads-connection-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/google-ads/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update Google Ads connection + * @description Updates an existing Google Ads connection. + */ + put: operations["ads-connection-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/google-analytics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Google Analytics connection + * @description Creates a new Google Analytics connection. + */ + post: operations["analytics-connection-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/google-analytics/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update Google Analytics connection + * @description Updates an existing Google Analytics connection. + */ + put: operations["analytics-connection-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/google-console": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Google Console connection + * @description Creates a new Google Console connection. + */ + post: operations["console-connection-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/google-console/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update Google Console connection + * @description Updates an existing Google Console connection. + */ + put: operations["console-connection-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/log-file-analysis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Log File Analysis connection + * @description Creates a new Log File Analysis connection. + */ + post: operations["log-file-analysis-connection-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/log-file-analysis/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update Log File Analysis connection + * @description Updates an existing Log File Analysis connection. + */ + put: operations["log-file-analysis-connection-update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/connections/owners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workspace connection owners + * @description Retrieves a list of all users who own workspace connections. + */ + get: operations["workspace-connection-owners"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/{workspace_id}/projects/{project_id}/connections": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get connections for a specific project + * @description Retrieves a list of connection IDs attached to a specific project. + */ + get: operations["workspace-project-connections"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/light": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * lightweight workspaces list + * @description gets a lightweight list of workspaces owned by the user + */ + get: operations["workspaces-light-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * [DEPRECATED] use /v1/workspaces/resources instead + * @deprecated + * @description [DEPRECATED] use /v1/workspaces/resources instead + */ + get: operations["total-limits-find"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace total resources + * @description gets workspace total resources in a cool new way + */ + get: operations["workspace-resources-find-all"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/workspaces/tiers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * return list of tiers + * @description this API returns list of available tiers + */ + get: operations["tiers-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/admin/workspaces/api/create": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * creates a master workspace along with products and tiers (made for Activation Panel) + * @description creates a master workspace along with products and tiers (made for Activation Panel) + */ + post: operations["activation-panel-workspace-create-master-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/adobe-analytics/credentials": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Creates Adobe Analytics credentials (v2) + * @description Creates new Adobe Analytics credentials and returns an internal credential_id. The adobe_proxy_auth_id is never exposed to the client. + */ + post: operations["adobe-analytics-create-credentials-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/adobe-analytics/credentials/dimensions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets Adobe dimensions (v2) + * @description Gets Adobe dimensions by internal credential_id with ownership check. + */ + get: operations["adobe-analytics-get-dimensions-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/adobe-analytics/credentials/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets Adobe metrics (v2) + * @description Gets Adobe metrics by internal credential_id with ownership check. + */ + get: operations["adobe-analytics-get-metrics-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/adobe-analytics/credentials/metrics-dimensions/validation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Validate Adobe Analytics metrics and dimensions (v2) + * @description Validates metric and dimension by internal credential_id with ownership check. + */ + post: operations["adobe-analytics-validate-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/adobe-analytics/credentials/reportsuites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets Adobe report suites (v2) + * @description Gets Adobe report suites by internal credential_id with ownership check. + */ + get: operations["adobe-analytics-get-report-suites-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/adobe-analytics/credentials/reportsuites/paginated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets Adobe report suites with pagination (v2) + * @description Gets Adobe report suites by internal credential_id with ownership check and pagination. + */ + get: operations["adobe-analytics-get-report-suites-paginated-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/adobe-analytics/credentials/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets Adobe credentials status (v2) + * @description Gets Adobe credentials status by internal credential_id with ownership check. + */ + get: operations["adobe-analytics-get-status-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/products/{product_id}/workspaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * internal API to get workspace IDs by product + * @description internal API to get workspace IDs that have the specified product. + */ + get: operations["internal-product-workspaces-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Creates a transaction for service credits and other transacting product limits + * @description Creates a transaction for service credits and other transacting product limits such as pages of + * SI product. In order to create service credits transactions set `global_limit_key` to `service_units`, + * and leave `product_limit` empty. + * In oder to create pages and other limits' transaction set `product_limit` and leave `global_limit_key` empty + * otherwise it will not accept the inputs. + * `owner_id` is required when `global_limit_key` is set to `service_units`. + * `receipt_id` is also not required when `product_limit` is set. + */ + post: operations["transaction-create-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/transactions/{transaction_id}/refund": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancels a transaction and refund the amount + * @description Cancel a transaction and refund the amount + */ + post: operations["transaction-refund-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/{id}/ancestors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * an internal API to get ancestor(parents/grandparents) of a workspace + * @description an internal API to get ancestor(parents/grandparents) of a workspace. + * Ancestors list does not include current workspace. + */ + get: operations["internal-workspaces-ancestor-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/{id}/family": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * an internal API to get a list of workspace children + * @description an admin API to get a list of all children, grand children workspaces of a given workspace + */ + get: operations["internal-workspaces-family-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/{id}/products/{product_id}/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Workspace Product Limits + * @description This endpoint retrieves the limits of entities associated with a specific workspace and product. + * It fetches the limits based on the product configuration and returns a map of entity limits + * defined for the specified workspace and product. + */ + get: operations["internal-workspace-product-limits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/{id}/products/{product_id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve product projects for a specific workspace accessible by the user. + * @description Retrieves a list of projects associated with a product and workspace the user has access to. + * Requires the `user_id` query parameter to determine the user identity. + * If the user is not a valid enterprise user, the project list will be empty. + */ + get: operations["internal-product-projects-find"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/{id}/products/{product_id}/projects/{project_id}/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Workspace Product Limits by Project + * @description This endpoint retrieves limits of specific entities in a workspace and product with respect to a project. + * It considers project-level constraints, with the draft count for all entities adjusted to align with the project. + * This enables assessment of how many entities can be added to the project. + */ + get: operations["internal-workspace-product-limits-by-project"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/{id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of projects in workspace, where user has access if provided in query params + * @description This endpoint retrieves a list of projects available in a specific workspace. + * It allows filtering of projects based on user access roles or permissions. + * Only those projects are returned where the user has access. + * User roles and permissions are determined by the following rules: + * - Workspace Owners, Admins, and Editors have editor-level access to all projects in the workspace. + * - Workspace Viewers are granted view-level access to all projects in the workspace. + * - Specific roles, such as collaborators or content writers, control project-level access. + * Use query parameters to refine the results, including user ID and pagination options. + */ + get: operations["internal-projects-list-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/{id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a project by ID in a workspace where the user has access, if provided in query params + * @description This endpoint retrieves a project by its ID within the workspace, provided the user has access. + * If the user ID is included in the query parameters, the following rules are applied to evaluate access: + * - Workspace Owners, Admins, and Editors have editor-level access to all projects in the workspace. + * - Workspace Viewers are granted view-level access to all projects in the workspace. + * - Specific access roles for collaborators or content writers apply at the project level. + * If the user does not have an applicable role in the project or workspace, the project will return as not found. + */ + get: operations["internal-project-by-id-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all workspaces + * @description Gets a list of all workspaces based on product filter. + */ + get: operations["internal-workspaces-all-list-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/internal/workspaces/projects/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of all published projects across all workspaces + * @description This endpoint retrieves a list of all published projects across all workspaces. + * It supports filtering and pagination to refine the results. + */ + get: operations["internal-projects-all-v2-list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace details with settings and resources (v2) + * @description gets workspace details matching with id including settings and resource limits + */ + get: operations["workspace-details-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/child": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * version 2 of creates a child workspace + * @description Creates a child workspace. If field owner is provided, + * then the existing user will be the owner of the child workspace, + * otherwise the virtual owner of this workspace will be created. + */ + post: operations["workspace-child-create-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List published projects for workspace (V2 lightweight for selectors) + * @description List published projects for workspace with given ID. This is a lightweight V2 version suitable for selectors. + * Returns only published (live) projects. Maximum limit is 100 items per page. + * Supports product-specific default sorting and custom sorting via query parameters. + */ + get: operations["projects-list-v2"]; + put?: never; + /** + * creates a project as drafted + * @description creates a drafted project in a workspace with name and optional domain + */ + post: operations["project-create-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/projects/{product_id}/{project_id}/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets resource limits by project + * @description gets resource limits by project + */ + get: operations["project-limits-get-v2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * updates a project + * @description updates color and title for draft/live projects, updates domain only for draft + */ + put: operations["project-update-v2"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * list of keywords with metrics and tags + * @description gets list of keywords that belong to a target with traffic, volume, position metrics and tags. + */ + post: operations["project-get-keywords-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * updates tags in keywords in batch + * @description updates tags in keywords in workspace, project and target with given IDs. This endpoint allows + * batch operations for updating tag associations with multiple keywords. + */ + put: operations["project-update-keyword-tags-batch-v2"]; + post?: never; + /** + * deletes tags from keywords in batch + * @description deletes tags from keywords in workspace, project and target with given IDs. This endpoint allows batch operations for removing tag associations from multiple keywords. + */ + delete: operations["project-delete-keyword-tags-batch-v2"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/projects/{project_id}/targets/{target_id}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets a list of all tags of a target with search and filter capabilities + * @description API to return list of all tags that belong to a target + * parent_id param can be used to get tags with specific parent + * query param can be used to filter tags by name + * live flag can be used get live/draft target's tags + * use limit, page for paginated result + */ + get: operations["project-get-tags-with-search"]; + put?: never; + post?: never; + /** + * deletes tags from target in batch + * @description deletes tags from target in workspace, project with given IDs. This endpoint allows batch operations for removing tag. + */ + delete: operations["project-delete-tags-batch-v2"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{id}/resources/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * version 2 transfer resources between a child workspace and its parent + * @description version 2 transfer resources between a child workspace and its parent. + */ + post: operations["workspace-transfer-resources-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{workspace_id}/connections/adobe-analytics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Adobe Analytics connection (v2) + * @description Creates a new Adobe Analytics connection. Uses credential_id in body; ownership is checked by backend. + */ + post: operations["adobe-analytics-connection-create-v2"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/workspaces/{workspace_id}/connections/adobe-analytics/{connection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update Adobe Analytics connection (v2) + * @description Updates an existing Adobe Analytics connection. Uses credential_id in body; ownership is checked by backend. + */ + put: operations["adobe-analytics-connection-update-v2"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v3/workspaces/{id}/projects/{project_id}/targets/{target_id}/keywords": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * list of keywords with metrics and tags and filter by multiple tags + * @description gets list of keywords that belong to a target with traffic, volume, position metrics and tags, + * filter by multiple tags + */ + post: operations["project-get-keywords-v3"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{id}/api-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * gets workspace owner's API key + * @description This API gets workspace's owner API key, this API can be used by admin/owner of workspace + * other users can't get admin's API + * 400 is returned if user email is not passed in query + */ + get: operations["workspace-owner-api-key-get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{id}/projects/{project_id}/segments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * creates a new segment for a project + * @description creates a new segment in a specified project + * **conditions :** + * `column_name` is one of *url, url_list, keyword, keyword_list, traffic, position, search_volume, + * keyword_intent, country, device, clicks, impressions, ctr, gsc_position* + * `operator` is one of *equal, not_equal, begin, not_begin, end, not_end, contain, + * not_contain, greater, less, greater_equal, less_equal, between, one_of, in_list* + * *url_list* only can be used with *in_list* operator. Only zero or one url_list is allowed in the whole conditions array. + * *keyword_list* only can be used with *in_list* operator. + * **filters :** + * `column_name` is one of *url, url_list, keyword, keyword_list, traffic, position, search_volume, + * keyword_intent, country, device, clicks, impressions, ctr, gsc_position*. + * `operator` is one of *and, or, equal, not_equal, begin, not_begin, end, not_end, contain, + * not_contain, greater, less, greater_equal, less_equal, in_list*. + * `value` is string type. It becomes array of string in case of *in_list* operator as an exceptional case. + * *Notes*: + * * *url_list* only can be used with *in_list* operator. Only zero or one url_list is allowed in the whole filters array. + * * *keyword_list* only can be used with *in_list* operator. + * * *filters* logical operators *and, or* don't have *column_name, value* and must have nested *filters*. + * * *filters* logical operators *and, or* can have maximum depth up to 5 levels from the root. + * * *filters* non-logical operators must have *column_name, value* and must not have nested *filters*. + * * *filters* non-logical operators can have maximum 20 leaves in a single filter object. + */ + post: operations["project-segment-create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{id}/projects/{project_id}/segments/copy": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Copy segments to other projects + * @description Copy specified segments from current project to other projects within the same workspace + */ + post: operations["segments-copy-to-projects"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{id}/projects/{project_id}/segments/copy-all-from": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Copy all segments from source project to current project + * @description Copy all segments from a source project to the current project within the same workspace + */ + post: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Workspace ID */ + id: string; + /** @description Target Project ID */ + project_id: string; + }; + cookie?: never; + }; + /** @description Copy all segments request */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.CopyAllSegmentsRequest"]; + }; + }; + responses: { + /** @description Success response with copied count */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{id}/projects/{project_id}/segments/export": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export segments to CSV or XLSX file + * @description Export segments to a CSV or XLSX file containing segment names and logical expressions + */ + get: operations["segments-export"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{id}/projects/{project_id}/segments/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Import segments from CSV or XLSX file + * @description Import segments from a CSV or XLSX file containing segment names and logical expressions. Format is automatically detected. + */ + post: operations["segments-import"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + "handlers.APIUnitsResponse": { + api_units?: number; + }; + "handlers.ActivationPanelAdminActivity": { + action?: string; + admin_email?: string; + admin_id?: number; + corporate_account_id?: number; + created_at?: string; + log_id?: number; + owner_id?: number; + section?: string; + subscription_id?: number; + user_email?: string; + workspace_id?: string; + }; + "handlers.ActivationPanelAdminActivityResponse": { + items?: components["schemas"]["handlers.ActivationPanelAdminActivity"][]; + limit?: number; + page?: number; + total?: number; + }; + "handlers.ActivationPanelBillingStatusCoreAccountId": { + corporate_account_id?: number; + subscription_id?: number; + }; + "handlers.ActivationPanelOwner": { + email?: string; + id?: number; + }; + "handlers.ActivationPanelPermissionsResponse": { + permissions?: components["schemas"]["handlers.activationPanelPermission"][]; + }; + "handlers.ActivationPanelWorkspace": { + corporate_account_id?: number; + created_at?: string; + expiration_date?: string; + icon?: string; + id?: string; + last_updated_at?: string; + owner?: components["schemas"]["handlers.ActivationPanelOwner"]; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps"][]; + status?: string; + subscription_id?: number; + subscription_rank?: number; + title?: string; + }; + "handlers.ActivationPanelWorkspaceListResponse": { + items?: components["schemas"]["handlers.ActivationPanelWorkspace"][]; + page?: number; + total?: number; + }; + "handlers.ActivationPanelWorkspaceMetadata": { + /** @example https://example.com/icon.png */ + icon?: string; + /** @example 550e8400-e29b-41d4-a716-446655440000 */ + id?: string; + /** @example */ + parent_id?: string; + /** @example My Workspace */ + title?: string; + }; + "handlers.ActivationPanelWorkspaceWithLimits": { + api_units?: number; + children?: components["schemas"]["handlers.ActivationPanelWorkspaceWithLimits"][]; + corporate_account_id?: number; + created_at?: string; + expiration_date?: string; + icon?: string; + id?: string; + keywords?: number; + last_updated_at?: string; + owner?: components["schemas"]["handlers.ActivationPanelOwner"]; + pagespeed_urls?: number; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps"][]; + projects?: number; + service_credits?: number; + status?: string; + subscription_id?: number; + subscription_rank?: number; + title?: string; + total_api_units?: number; + total_keywords?: number; + total_pagespeed_urls?: number; + total_projects?: number; + total_service_credits?: number; + total_users?: number; + users?: number; + }; + "handlers.AdminProjectsResponse": { + items?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.AdminProject"][]; + next_cursor?: string; + total?: number; + }; + /** @description Adobe Analytics connection settings */ + "handlers.AdobeAnalyticsConnectionCreateSettings": { + adobe_proxy_auth_id: string; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; + }; + /** @description Adobe Analytics connection settings (v2) with credential_id instead of adobe_proxy_auth_id */ + "handlers.AdobeAnalyticsConnectionCreateSettingsV2": { + credential_id: number; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; + }; + /** @description Adobe Analytics connection settings (public, uses credential_id) */ + "handlers.AdobeAnalyticsConnectionSettings": { + credential_id?: number; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name?: string; + dimension_marketing_channel_detail_name?: string; + dimension_marketing_channel_name?: string; + global_company_id?: string; + metric_bounce_rate_name?: string; + metric_target_conversion_name?: string; + metric_visits_name?: string; + rs_name?: string; + rsid?: string; + }; + /** @description Adobe Analytics connection settings for update request */ + "handlers.AdobeAnalyticsConnectionUpdateSettings": { + adobe_proxy_auth_id: string; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; + }; + /** @description Adobe Analytics connection settings for update (v2) with credential_id */ + "handlers.AdobeAnalyticsConnectionUpdateSettingsV2": { + credential_id: number; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name: string; + dimension_marketing_channel_detail_name: string; + dimension_marketing_channel_name: string; + global_company_id: string; + metric_bounce_rate_name: string; + metric_target_conversion_name: string; + metric_visits_name: string; + rs_name: string; + rsid: string; + }; + /** @description Request body for validating Adobe Analytics metrics and dimensions */ + "handlers.AdobeAnalyticsValidateRequest": { + dimension?: string; + metric: string; + rsid: string; + }; + /** @description Response for Adobe Analytics validation */ + "handlers.AdobeAnalyticsValidateResponse": { + message?: string; + valid?: boolean; + }; + /** @description V2 request body for validating Adobe Analytics metrics and dimensions */ + "handlers.AdobeAnalyticsValidateV2Request": { + credential_id: number; + dimension?: string; + global_company_id: string; + metric: string; + rsid: string; + }; + "handlers.AdobeAnalyticsWorkspaceConnectionCreate": { + project_ids?: string[]; + settings?: components["schemas"]["handlers.AdobeAnalyticsConnectionCreateSettings"]; + }; + /** @description V2 request body for creating Adobe Analytics workspace connection (uses credential_id) */ + "handlers.AdobeAnalyticsWorkspaceConnectionCreateV2": { + project_ids?: string[]; + settings?: components["schemas"]["handlers.AdobeAnalyticsConnectionCreateSettingsV2"]; + }; + "handlers.AdobeAnalyticsWorkspaceConnectionUpdate": { + project_ids?: string[]; + settings?: components["schemas"]["handlers.AdobeAnalyticsConnectionUpdateSettings"]; + }; + /** @description V2 request body for updating Adobe Analytics workspace connection (uses credential_id) */ + "handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2": { + project_ids?: string[]; + settings?: components["schemas"]["handlers.AdobeAnalyticsConnectionUpdateSettingsV2"]; + }; + "handlers.AdobeBulkStatusRequest": { + adobe_proxy_auth_ids: string[]; + }; + "handlers.AdobeBulkStatusResponse": { + statuses?: components["schemas"]["handlers.AdobeCredentialStatusInfo"][]; + }; + "handlers.AdobeCompanyInfo": { + company_name?: string; + global_company_id?: string; + }; + /** @description V2 credential creation response returning internal credential_id */ + "handlers.AdobeCredentialCreatedResponse": { + credential_id?: number; + }; + "handlers.AdobeCredentialStatusInfo": { + adobe_proxy_auth_id?: string; + organizations?: components["schemas"]["handlers.AdobeOrganizationInfo"][]; + status?: string; + }; + "handlers.AdobeCredentialsCreateRequest": { + client_id: string; + client_secret: string; + }; + "handlers.AdobeCredentialsInfo": { + adobe_proxy_auth_id?: string; + }; + "handlers.AdobeOrganizationInfo": { + companies?: components["schemas"]["handlers.AdobeCompanyInfo"][]; + organization_id?: string; + }; + "handlers.AdobeReportSuitesResponse": { + content?: components["schemas"]["handlers.ReportSuite"][]; + page?: number; + size?: number; + totalElements?: number; + totalPages?: number; + }; + "handlers.BaseProject": { + color?: string; + domain?: string; + is_draft?: boolean; + title?: string; + total_invited_members?: number; + }; + "handlers.BasicUserProfile": { + email?: string; + id?: number; + name?: string; + profile_pic?: string; + }; + "handlers.BasicWorkspaceMember": { + email?: string; + id?: number; + name?: string; + profile_pic?: string; + }; + "handlers.BasketResponse": { + /** @description BasketID is the id of the keywords-list */ + basket_id?: number; + /** @description BasketType is the type of the keywords-list */ + basket_type?: string; + /** @description KeywordsCount is the count of keywords in the keywords-list */ + keywords_count?: number; + /** @description Name is the name of the keywords-list */ + name?: string; + /** @description OwnerID is the id of the owner of the keywords-list */ + owner_id?: number; + /** @description Role is the role of the user in the keywords-list. Namely, role/keywords_list/editor, role/keywords_list/viewer */ + role?: components["schemas"]["rbac.RoleName"]; + /** @description SharedWith is the count of users with whom the keywords-list is shared */ + shared_with?: number; + /** @description UpdatedAt is the last update time of the keywords-list */ + updated_at?: string; + /** @description UserID is the id of the user of the keywords-list */ + user_id?: number; + }; + "handlers.BatchDeleteReferenceRequest": { + all?: boolean; + cascade?: boolean; + ids?: string[]; + }; + "handlers.BatchReferenceRequest": { + items: components["schemas"]["handlers.ReferenceRequest"][]; + }; + "handlers.Condition": { + column_name: string; + operator: string; + sub_conditions?: components["schemas"]["handlers.SubCondition"][]; + value: string; + values: string[]; + }; + "handlers.ConsumedUnits": { + users?: number; + }; + "handlers.CopyAllSegmentsRequest": { + source_project_id: string; + }; + "handlers.CopySegmentsRequest": { + segment_ids: string[]; + target_project_ids: string[]; + }; + "handlers.CoreUser": { + activated?: boolean; + company?: string; + email?: string; + id?: number; + locale?: string; + name?: string; + profession?: string; + timezone_new?: string; + }; + "handlers.CoreUserWithAPIKey": { + activated?: boolean; + api_key?: string; + company?: string; + email?: string; + id?: number; + locale?: string; + name?: string; + profession?: string; + timezone_new?: string; + }; + "handlers.Country": { + code?: string; + name?: string; + }; + "handlers.Dimension": { + category?: string; + description?: string; + extra_title_info?: string; + id?: string; + name?: string; + pathable?: boolean; + reportable?: string[]; + segmentable?: boolean; + support?: string[]; + title?: string; + type?: string; + }; + "handlers.Filter": { + column_name?: string; + filters?: components["schemas"]["handlers.Filter"][]; + operator: string; + value: unknown; + }; + "handlers.GetLimitsResponse": { + limits?: components["schemas"]["handlers.Limits"]; + }; + /** @description Google Ads connection settings */ + "handlers.GoogleAdsConnectionSettings": { + customer_id: number; + customer_title: string; + gap_email: string; + gap_user_id: string; + mcc_id: number; + }; + "handlers.GoogleAdsWorkspaceConnectionCreate": { + project_ids?: string[]; + settings?: components["schemas"]["handlers.GoogleAdsConnectionSettings"]; + }; + /** @description Google Analytics connection settings */ + "handlers.GoogleAnalyticsConnectionSettings": { + ga_account: string; + ga_account_title: string; + gap_email: string; + gap_user_id: string; + property: string; + property_title: string; + }; + "handlers.GoogleAnalyticsWorkspaceConnectionCreate": { + project_ids?: string[]; + settings?: components["schemas"]["handlers.GoogleAnalyticsConnectionSettings"]; + }; + "handlers.GoogleConsoleWorkspaceConnectionCreate": { + project_ids?: string[]; + settings?: components["schemas"]["handlers.GoogleSearchConsoleConnectionSettings"]; + }; + /** @description Google Console connection settings */ + "handlers.GoogleSearchConsoleConnectionSettings": { + gap_email: string; + gap_property: string; + gap_user_id: string; + }; + "handlers.HasChildrenResponse": { + has_children?: boolean; + }; + "handlers.IDsForm": { + ids: string[]; + }; + /** @description Adobe Analytics connection settings (internal, uses adobe_proxy_auth_id) */ + "handlers.InternalAdobeAnalyticsConnectionSettings": { + adobe_proxy_auth_id?: string; + dimension_date_range_day_name?: string; + dimension_entry_page_url_name?: string; + dimension_marketing_channel_detail_name?: string; + dimension_marketing_channel_name?: string; + global_company_id?: string; + metric_bounce_rate_name?: string; + metric_target_conversion_name?: string; + metric_visits_name?: string; + rs_name?: string; + rsid?: string; + }; + "handlers.InternalBenchmark": { + benchmark_id?: string; + created_at?: string; + database?: string; + device?: string; + project_id?: string; + target_id?: string; + url?: string; + url_type?: string; + }; + "handlers.InternalESUsersList": { + items?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.User"][]; + page?: number; + total?: number; + }; + "handlers.InternalProfileUpdate": { + availability?: string; + company?: string; + country?: components["schemas"]["handlers.Country"]; + description?: string; + es_type?: string; + jobs?: components["schemas"]["handlers.UserJob"][]; + languages?: string[]; + linked_in?: string; + name?: string; + phone?: string; + profession?: string; + profile_pic?: string; + skills?: string[]; + time_zone?: string; + }; + "handlers.InternalProjectsList": { + items?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.InternalProject"][]; + page?: number; + total?: number; + }; + "handlers.InternalTarget": { + campaign_id?: string; + created_at?: string; + database?: string; + device?: string; + domains?: string[]; + project_domain?: string; + project_id?: string; + target_id?: string; + }; + /** @description A connection for a particular workspace (internal) */ + "handlers.InternalWorkspaceConnectionDetails": { + data_source?: string; + id?: number; + owner?: components["schemas"]["handlers.WorkspaceConnectionOwner"]; + project_ids?: string[]; + settings?: components["schemas"]["handlers.InternalWorkspaceConnectionSettings"]; + status?: components["schemas"]["handlers.WorkspaceConnectionStatus"]; + updated_at?: string; + }; + /** @description Connection settings for internal use (adobe analytics returns adobe_proxy_auth_id) */ + "handlers.InternalWorkspaceConnectionSettings": { + adobe_analytics?: components["schemas"]["handlers.InternalAdobeAnalyticsConnectionSettings"]; + google_ads?: components["schemas"]["handlers.GoogleAdsConnectionSettings"]; + google_analytics?: components["schemas"]["handlers.GoogleAnalyticsConnectionSettings"]; + google_console?: components["schemas"]["handlers.GoogleSearchConsoleConnectionSettings"]; + log_file_analysis?: components["schemas"]["handlers.LogFileAnalysisConnectionSettings"]; + }; + "handlers.Keyword": { + id: components["schemas"]["handlers.KeywordID"]; + /** @description Tags max 5 tags are allowed, each tag can have max 50 characters */ + tags?: string[]; + }; + "handlers.KeywordAddRequest": { + keywords: components["schemas"]["handlers.Keyword"][]; + }; + "handlers.KeywordCountResponse": { + added_keyword_count?: number; + }; + "handlers.KeywordDeleteRequest": { + keyword_ids: components["schemas"]["handlers.KeywordID"][]; + }; + "handlers.KeywordDeleteResponse": { + deleted_keyword_ids?: components["schemas"]["handlers.KeywordID"][]; + }; + "handlers.KeywordID": { + /** @description Database is the database of the keyword. Max 2 characters are allowed */ + database: string; + /** @description Phrase is the keyword name. Max 90 characters are allowed */ + phrase: string; + }; + "handlers.KeywordResponse": { + click_potential?: number; + created_at?: string; + difficulty100?: number; + id: components["schemas"]["handlers.KeywordID"]; + status?: string; + /** @description Tags max 5 tags are allowed, each tag can have max 50 characters */ + tags?: string[]; + updated_at?: string; + volume?: number; + }; + "handlers.KeywordsListCreateRequest": { + /** @description Name of the keywords-list. Max 100 characters are allowed */ + name: string; + }; + "handlers.KeywordsListCreateResponse": { + basket_id?: number; + name?: string; + updated_at?: string; + }; + "handlers.KeywordsListDatabasesResponse": { + databases?: string[]; + }; + "handlers.KeywordsListDeleteRequest": { + basket_ids: number[]; + }; + "handlers.KeywordsListRenameRequest": { + /** @description Name of the keywords-list. Max 100 characters are allowed */ + name: string; + }; + "handlers.KeywordsListRenameResponse": { + basket_id?: number; + name?: string; + updated_at?: string; + }; + "handlers.KeywordsListResponse": { + baskets?: components["schemas"]["handlers.BasketResponse"][]; + page?: number; + total?: number; + }; + "handlers.KeywordsResponse": { + keywords?: components["schemas"]["handlers.KeywordResponse"][]; + page?: number; + total?: number; + }; + "handlers.KeywordsTagsRelationsDeleteForm": { + relations: string[][]; + }; + "handlers.KeywordsTagsRequest": { + keyword_ids: components["schemas"]["handlers.KeywordID"][]; + tags: string[]; + }; + "handlers.KeywordsTagsResponse": { + items?: components["schemas"]["handlers.Keyword"][]; + }; + "handlers.KeywordsTagsUpdateRequest": { + keyword_id: components["schemas"]["handlers.KeywordID"]; + /** @description TagsCreate max 5 tags are allowed, each tag can have max 50 characters */ + tags_create?: string[]; + /** @description TagsDelete max 5 tags are allowed, each tag can have max 50 characters */ + tags_delete?: string[]; + }; + "handlers.Language": { + code?: string; + name?: string; + }; + "handlers.Limits": { + api_units?: components["schemas"]["handlers.UsedLimit"]; + keywords?: components["schemas"]["handlers.UsedLimitWithDrafted"]; + pagespeed_urls?: components["schemas"]["handlers.UsedLimitWithDrafted"]; + projects?: components["schemas"]["handlers.UsedLimitWithDrafted"]; + service_units?: components["schemas"]["handlers.UsedLimit"]; + users?: components["schemas"]["handlers.UsedLimitWithDrafted"]; + }; + "handlers.Location": { + id?: number; + name?: string; + }; + /** @description Log file analysis connection settings */ + "handlers.LogFileAnalysisConnectionSettings": { + connectionName: string; + deliveryType?: string; + fallbackValues?: components["schemas"]["handlers.LogFileAnalysisFallbackValues"]; + ingestSchema?: components["schemas"]["handlers.LogFileAnalysisIngestSchema"]; + }; + /** @description Connector-reported status for a log file analysis connection (internal) */ + "handlers.LogFileAnalysisConnectorStatusPayload": { + message?: string; + /** @enum {string} */ + type: "success" | "error"; + }; + "handlers.LogFileAnalysisFallbackValues": { + hostname?: string; + protocolSchema?: string; + time?: string; + timezone?: string; + }; + "handlers.LogFileAnalysisIngestField": { + extracts?: string[]; + key?: string; + position?: number; + template?: string; + }; + "handlers.LogFileAnalysisIngestParser": { + /** @enum {string} */ + delimiter?: "space" | "pipe" | "tab" | "semicolum" | "comma"; + preProcessing?: components["schemas"]["handlers.LogFileAnalysisPreProcessing"]; + /** @enum {string} */ + type: "json" | "jsonp" | "text"; + }; + "handlers.LogFileAnalysisIngestSchema": { + example?: string; + fields: components["schemas"]["handlers.LogFileAnalysisIngestField"][]; + parser: components["schemas"]["handlers.LogFileAnalysisIngestParser"]; + }; + "handlers.LogFileAnalysisPreProcessing": { + type?: string; + }; + "handlers.LogFileAnalysisWorkspaceConnectionPayload": { + project_ids: string[]; + settings: components["schemas"]["handlers.LogFileAnalysisConnectionSettings"]; + }; + "handlers.Metric": { + allocation?: boolean; + calculated?: boolean; + category?: string; + description?: string; + id?: string; + name?: string; + precision?: number; + segmentable?: boolean; + support?: string[]; + title?: string; + type?: string; + }; + "handlers.NamedKeywordsFindForm": { + keywords: string[]; + }; + "handlers.NamedKeywordsFindResponse": { + keywords?: components["schemas"]["handlers.keyword"][]; + not_found?: string[]; + }; + "handlers.OptionsLimits": { + total_keywords?: number; + total_pagespeed_urls?: number; + total_projects?: number; + total_service_units?: number; + total_users?: number; + used_service_units?: number; + }; + "handlers.PreferredURLsUploadResponse": { + updated_keywords?: number; + }; + "handlers.ProjectConnectionResponse": { + id?: number; + type?: string; + }; + "handlers.ProjectItemResponse": { + color?: string; + core_conflicts?: boolean; + domain?: string; + draft_keywords_count?: number; + draft_project?: components["schemas"]["handlers.projectItemBaseProject"]; + draft_segments_count?: number; + draft_updated?: boolean; + favourite?: boolean; + goals_count?: number; + id?: string; + is_draft?: boolean; + is_out_of_sync?: boolean; + keywords_count?: number; + pagespeed_urls_count?: number; + publish_status?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProjectStatus"]; + published_at?: string; + publishing_failed_reason?: string; + role?: components["schemas"]["rbac.RoleName"]; + segments_count?: number; + shared_with?: number; + targets_stats?: components["schemas"]["handlers.projectItemTargetsStats"]; + title?: string; + }; + "handlers.ReferenceRequest": { + id: string; + references: string[]; + replace?: boolean; + }; + "handlers.ReportSuite": { + calendar_type?: string; + collection_item_type?: string; + currency?: string; + name?: string; + parent_rsid?: string; + rsid?: string; + timezone_zoneinfo?: string; + virtual_report_suite?: boolean; + }; + "handlers.RequiredUserUnitsForm": { + emails: string[]; + }; + "handlers.RequiredUserUnitsResponse": { + required_units?: number; + }; + "handlers.SegmentInternalResponse": { + conditions?: components["schemas"]["handlers.Condition"][]; + created_at?: string; + filters?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Filter"]; + id?: string; + name?: string; + updated_at?: string; + }; + "handlers.SegmentListByWorkspaceResponse": { + items?: components["schemas"]["handlers.SegmentWithProjectResponse"][]; + page?: number; + total?: number; + }; + "handlers.SegmentListInternalResponse": { + items?: components["schemas"]["handlers.SegmentInternalResponse"][]; + page?: number; + total?: number; + }; + "handlers.SegmentListResponse": { + items?: components["schemas"]["handlers.SegmentResponse"][]; + page?: number; + total?: number; + }; + "handlers.SegmentResponse": { + conditions?: components["schemas"]["handlers.Condition"][]; + created_at?: string; + filters?: components["schemas"]["handlers.Filter"]; + id?: string; + name?: string; + updated_at?: string; + }; + "handlers.SegmentUpsertForm": { + conditions?: components["schemas"]["handlers.Condition"][]; + /** @description todo: after conditions removed this field should be required. */ + filters?: components["schemas"]["handlers.Filter"]; + name: string; + }; + "handlers.SegmentWithProjectResponse": { + conditions?: components["schemas"]["handlers.Condition"][]; + created_at?: string; + filters?: components["schemas"]["handlers.Filter"]; + id?: string; + name?: string; + project_id?: string; + project_name?: string; + updated_at?: string; + }; + "handlers.SubCondition": { + condition: components["schemas"]["handlers.Condition"]; + /** @enum {string} */ + logic_operator: "and" | "or"; + }; + "handlers.TagsTreeResponse": { + items?: components["schemas"]["handlers.tagTreeItem"][]; + }; + "handlers.TagsTreeResponseV2": { + items?: components["schemas"]["handlers.tagTreeItemV2"][]; + }; + "handlers.Target": { + benchmarks_count?: number; + campaign_id?: string; + created_at?: string; + database?: string; + device?: string; + domain?: string; + id?: string; + keywords_count?: number; + language?: components["schemas"]["handlers.TargetLanguage"]; + location?: components["schemas"]["handlers.Location"]; + name?: string; + volume_type?: string; + }; + "handlers.TargetLanguage": { + id?: number; + name?: string; + }; + "handlers.TargetMetadata": { + database?: string; + device?: string; + id?: string; + language?: components["schemas"]["handlers.TargetLanguage"]; + location?: components["schemas"]["handlers.Location"]; + name?: string; + }; + "handlers.TargetsStats": { + draft_targets_count?: number; + target?: components["schemas"]["handlers.TargetMetadata"]; + targets_count?: number; + }; + "handlers.Transaction": { + balance_after?: number; + balance_before?: number; + date?: string; + id?: string; + iid?: number; + operation?: string; + owner_id?: number; + owner_name?: string; + receipt_id?: number; + receipt_name?: string; + reference_transaction_id?: string; + service_credits?: number; + service_id?: string; + service_type?: string; + title?: string; + workspace_id?: string; + }; + "handlers.TransactionsCancelForm": { + service_credits: number; + }; + "handlers.TransactionsCreateForm": { + owner_id: number; + receipt_id?: number; + service_credits: number; + service_id: string; + service_type: string; + title?: string; + workspace_id: string; + }; + "handlers.TransactionsCreateFormV2": { + amount: number; + global_limit_key?: string; + owner_id?: number; + product_limit?: components["schemas"]["handlers.TxProductLimit"]; + receipt_id?: number; + service_id: string; + service_type: string; + title?: string; + workspace_id: string; + }; + "handlers.TransactionsListForm": { + /** + * @description Must have YYYY-MM-DD format + * @example 2023-10-24 + */ + end?: string; + /** + * @description Must be debit or credit + * @example [ + * "debit", + * "credit" + * ] + */ + operations?: string[]; + /** + * @example [ + * 123, + * 456 + * ] + */ + owners?: number[]; + /** + * @example [ + * 123, + * 456 + * ] + */ + receipts?: number[]; + /** + * @description Must be seo_workflow, job_hourly, job_fixed or service_fee + * @example [ + * "seo_workflow", + * "job_hourly", + * "job_fixed", + * "service_fee" + * ] + */ + service_types?: string[]; + /** + * @description Must have YYYY-MM-DD format + * @example 2023-10-24 + */ + start?: string; + /** @example some title */ + title?: string; + /** + * @example [ + * "eab40b25-ec97-4efb-91ea-dbcc6153a721", + * "eab40b25-ec97-4efb-91ea-dbcc6153a722" + * ] + */ + workspaces?: string[]; + }; + "handlers.TransactionsRefundForm": { + amount: number; + }; + "handlers.TxProductLimit": { + /** @example pages */ + enterprise_limit_key?: string; + /** @example si */ + product_id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + }; + "handlers.UsedLimit": { + total?: number; + used?: number; + }; + "handlers.UsedLimitWithDrafted": { + drafted?: number; + total?: number; + used?: number; + }; + "handlers.UserJob": { + description?: string; + end?: string; + id?: string; + name?: string; + start?: string; + }; + "handlers.UserProfile": { + availability?: string; + categories?: string[]; + company?: string; + country?: components["schemas"]["handlers.Country"]; + description?: string; + email?: string; + es_type?: string; + id?: number; + jobs?: components["schemas"]["handlers.UserJob"][]; + languages?: string[]; + linked_in?: string; + locale?: string; + name?: string; + phone?: string; + profession?: string; + profile_pic?: string; + projects?: components["schemas"]["handlers.UserProject"][]; + skills?: string[]; + time_zone?: string; + workspaces?: components["schemas"]["handlers.UserWorkspace"][]; + }; + "handlers.UserProject": { + id?: string; + title?: string; + user_role?: string; + }; + "handlers.UserWorkspace": { + id?: string; + title?: string; + user_role?: string; + }; + "handlers.WorkCategory": { + name?: string; + skills?: string[]; + }; + "handlers.WorkspaceCheckResponse": { + status?: string; + }; + /** @description A connection for a particular workspace */ + "handlers.WorkspaceConnection": { + data_source?: string; + id?: number; + owner?: components["schemas"]["handlers.WorkspaceConnectionOwner"]; + projects?: components["schemas"]["handlers.WorkspaceConnectionProject"][]; + settings?: components["schemas"]["handlers.WorkspaceConnectionSettings"]; + status?: components["schemas"]["handlers.WorkspaceConnectionStatus"]; + updated_at?: string; + }; + /** @description A connection for a particular workspace */ + "handlers.WorkspaceConnectionDetails": { + data_source?: string; + id?: number; + owner?: components["schemas"]["handlers.WorkspaceConnectionOwner"]; + project_ids?: string[]; + settings?: components["schemas"]["handlers.WorkspaceConnectionSettings"]; + status?: components["schemas"]["handlers.WorkspaceConnectionStatus"]; + updated_at?: string; + }; + /** @description A connection for a particular workspace item in the connection list */ + "handlers.WorkspaceConnectionItem": { + data_source?: string; + id?: number; + owner?: components["schemas"]["handlers.WorkspaceConnectionOwner"]; + projects?: components["schemas"]["handlers.WorkspaceConnectionProject"][]; + settings?: components["schemas"]["handlers.WorkspaceConnectionSettings"]; + status?: components["schemas"]["handlers.WorkspaceConnectionStatus"]; + updated_at?: string; + }; + /** @description Workspace connection owner information */ + "handlers.WorkspaceConnectionOwner": { + email?: string; + id?: number; + name?: string; + profile_pic?: string; + }; + "handlers.WorkspaceConnectionProject": { + id?: string; + name?: string; + }; + "handlers.WorkspaceConnectionSettings": { + adobe_analytics?: components["schemas"]["handlers.AdobeAnalyticsConnectionSettings"]; + google_ads?: components["schemas"]["handlers.GoogleAdsConnectionSettings"]; + google_analytics?: components["schemas"]["handlers.GoogleAnalyticsConnectionSettings"]; + google_console?: components["schemas"]["handlers.GoogleSearchConsoleConnectionSettings"]; + log_file_analysis?: components["schemas"]["handlers.LogFileAnalysisConnectionSettings"]; + }; + "handlers.WorkspaceConnectionStatus": { + message?: string; + type?: string; + }; + "handlers.WorkspaceConnectionsAttachItem": { + connection_ids?: number[]; + project_id?: string; + }; + /** @description Request body for workspace connections delete endpoint */ + "handlers.WorkspaceConnectionsDeleteRequest": { + ids?: number[]; + }; + /** @description Response for workspace connections */ + "handlers.WorkspaceConnectionsResponse": { + items?: components["schemas"]["handlers.WorkspaceConnectionItem"][]; + page_number?: number; + total_items?: number; + }; + "handlers.WorkspaceCreateChildForm": { + icon?: string; + owner?: string; + resources: components["schemas"]["handlers.WorkspaceResources"]; + title: string; + }; + "handlers.WorkspaceListItem": { + created_at?: string; + expires_at?: string; + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + keywords_count?: number; + last_updated_at?: string; + owner?: string; + pagespeed_urls_count?: number; + parent?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceParent"]; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTier"][]; + products?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"][]; + published_projects_count?: number; + resources?: { + [key: string]: { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.EntityLimit"]; + }; + }; + role?: string; + settings?: components["schemas"]["handlers.workspaceSettings"]; + shared_with?: number; + status?: string; + subscription_tier?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"]; + title?: string; + users?: number; + }; + "handlers.WorkspaceMember": { + email?: string; + id?: number; + is_all_projects_access?: boolean; + is_home_workspace?: boolean; + membership_status?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.MembershipStatus"]; + profile_pic?: string; + projects?: components["schemas"]["handlers.WorkspaceMemberProject"][]; + role?: string; + }; + "handlers.WorkspaceMemberProject": { + id?: string; + title?: string; + }; + "handlers.WorkspaceMemberUpsertResponse": { + consumed_units?: components["schemas"]["handlers.ConsumedUnits"]; + }; + "handlers.WorkspaceResources": { + api_units?: number; + keywords?: number; + pagespeed_urls?: number; + projects?: number; + service_credits?: number; + users?: number; + }; + "handlers.WorkspaceResourcesTransferV2Form": { + resources?: components["schemas"]["handlers.createWorkspaceV2Resources"]; + }; + "handlers.activationPanelAIOPromptSettingsForm": { + /** @enum {string} */ + prompt_type: "daily" | "weekly"; + /** @enum {unknown} */ + weekly_prompts_day_of_week?: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; + }; + "handlers.activationPanelAIOPromptSettingsGetForm": { + prompt_type?: string; + weekly_prompts_day_of_week?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.DayOfWeek"]; + }; + /** @enum {string} */ + "handlers.activationPanelPermission": "workspace.edit" | "workspace.delete" | "workspace.view" | "workspace.add"; + "handlers.activationPanelSubscriptionForm": { + workspace_id: string; + }; + "handlers.activationPanelWorkspaceCreateForm": { + email: string; + icon?: string; + /** @default false */ + partnership_enabled: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTierIDs"][]; + title: string; + }; + "handlers.adminProjectTransferForm": { + projects: components["schemas"]["handlers.transferProductProject"][]; + target_workspace_id: string; + target_workspace_owner_id: number; + }; + "handlers.adminSmbProjectMigrationForm": { + account_ids: number[]; + }; + "handlers.adminWorkspaceCreateForm": { + icon?: string; + owner_email?: string; + parent_id: string; + resources: components["schemas"]["handlers.WorkspaceResources"]; + title: string; + }; + "handlers.adminWorkspaceUpsertForm": { + icon?: string; + /** @default false */ + partnership_enabled: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTierIDs"][]; + title: string; + user_id: number; + }; + "handlers.ai": { + prompts_count?: number; + published_projects_count?: number; + }; + "handlers.aiProductResources": { + projects?: number; + prompts?: number; + }; + "handlers.basicWorkspacesMembersResponse": { + items?: components["schemas"]["handlers.BasicWorkspaceMember"][]; + }; + "handlers.batchWorkspaceMembersRequest": { + include_parental_admins?: boolean; + workspace_ids: string[]; + }; + "handlers.benchmark": { + color?: string; + id?: string; + sync_enabled?: boolean; + tags?: components["schemas"]["handlers.benchmarkTags"]; + url?: string; + }; + "handlers.benchmarkBulkUpdateForm": { + ids: string[]; + sync_enabled?: boolean; + tags?: string[]; + }; + "handlers.benchmarkCloneForm": { + dst_target_id: string; + src_target_id: string; + }; + "handlers.benchmarkCreateForm": { + color?: string; + sync_enabled?: boolean; + tags?: string[]; + url: string; + }; + "handlers.benchmarkRemoveTagsForm": { + benchmark_ids: string[]; + tag_ids: string[]; + }; + "handlers.benchmarkTags": { + [key: string]: string[]; + }; + "handlers.benchmarkUpdateForm": { + color?: string; + sync_enabled?: boolean; + tags?: string[]; + url?: string; + }; + "handlers.benchmarksDeleteForm": { + ids: string[]; + }; + "handlers.benchmarksListResponse": { + items?: components["schemas"]["handlers.benchmark"][]; + page?: number; + total?: number; + }; + "handlers.billingStatusResponse": { + expire_date?: string; + has_product?: boolean; + is_paid?: boolean; + subscription_id?: number; + user_id?: number; + }; + "handlers.ci": { + pages?: number; + published_projects_count?: number; + }; + "handlers.createWorkspaceV2Form": { + icon?: string; + owner?: string; + parentID?: string; + resources: components["schemas"]["handlers.createWorkspaceV2Resources"]; + title: string; + userID?: number; + }; + "handlers.createWorkspaceV2Resources": { + ai?: components["schemas"]["handlers.aiProductResources"]; + general?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal"]; + product_resources?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources"][]; + seo?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO"]; + }; + "handlers.getServiceUnitsResponse": { + available?: number; + total?: number; + /** @description Deprecated: This is left here to ensure backward compatibility. Use Available field instead. */ + units?: number; + }; + "handlers.goalImportForm": { + source_project_id: string; + }; + "handlers.goalImportReponse": { + total_imported_goals?: number; + }; + "handlers.goalMetricsResponse": { + items?: components["schemas"]["handlers.goalsMetric"][]; + total?: number; + }; + "handlers.goalUpsertReponse": { + /** + * Format: date + * @description Is set when the goal is objective + * @example 2024-01-01 + */ + date_from?: string; + /** + * Format: date + * @description Is set when the goal is objective + * @example 2024-02-01 + */ + date_to?: string; + /** @description We can have monthly goals now */ + date_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalDateType"]; + /** @description ID is the goal ID in the system */ + id: string; + /** @description May be null if we have only upper value in the threshold */ + lower_value?: number; + metric_id: string; + name: string; + /** + * @description ### Single objective value + * `value` is used for `single` `objective_value_type` + * ### Multiple objective values + * `values` is used for `multiple` `objective_value_type` + */ + objective_value_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType"]; + /** + * @description ### Threshold goal + * `upper_value` and `lower_value` are used for threshold goals + * ### Objective goal + * `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + */ + type: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalType"]; + /** @description Is set when the goal is threshold */ + upper_value?: number; + /** @description Set when the goal is single objective */ + value?: number; + /** @description Set when the goal is multiple objective */ + values?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalValue"][]; + }; + "handlers.goalsDeleteForm": { + ids?: string[]; + }; + "handlers.goalsListResponse": { + items?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Goal"][]; + page?: number; + total?: number; + }; + "handlers.goalsMetric": { + id?: string; + name?: string; + }; + "handlers.goalsUpsertForm": { + /** + * Format: date + * @description Is set when the goal is objective + * @example 2024-01-01 + */ + date_from?: string; + /** + * Format: date + * @description Is set when the goal is objective + * @example 2024-02-01 + */ + date_to?: string; + /** @description We can have monthly goals now */ + date_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalDateType"]; + /** @description May be null if we have only upper value in the threshold */ + lower_value?: number; + metric_id: string; + name: string; + /** + * @description ### Single objective value + * `value` is used for `single` `objective_value_type` + * ### Multiple objective values + * `values` is used for `multiple` `objective_value_type` + */ + objective_value_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType"]; + /** + * @description ### Threshold goal + * `upper_value` and `lower_value` are used for threshold goals + * ### Objective goal + * `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + */ + type: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalType"]; + /** @description Is set when the goal is threshold */ + upper_value?: number; + /** @description Set when the goal is single objective */ + value?: number; + /** @description Set when the goal is multiple objective */ + values?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalValue"][]; + }; + "handlers.internalGoal": { + /** + * Format: date + * @description Set when the goal is objective, will contain dates between date_from and date_to + * @example 2024-01-01 + */ + date?: string; + /** + * Format: date + * @description Set when the goal is objective, may be set when the goal is threshold + * @example 2024-01-01 + */ + date_from?: string; + /** + * Format: date + * @description Set when the goal is objective, may be set when the goal is threshold + * @example 2024-02-01 + */ + date_to?: string; + /** @description We can have monthly goals now */ + date_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalDateType"]; + id: string; + metric_id: string; + metric_name: string; + name: string; + project_domain: string; + type: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalType"]; + /** @description Is set to upper value when type is threshold and objective value when type is objective */ + value?: number; + }; + "handlers.internalGoalsListResponse": { + items?: components["schemas"]["handlers.internalGoal"][]; + page?: number; + total?: number; + }; + "handlers.internalWorkspace": { + created_at?: string; + icon?: string; + id?: string; + is_master?: boolean; + last_updated_at?: string; + parent?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceParent"]; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTier"][]; + products?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"][]; + status?: string; + subscription_tier?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"]; + title?: string; + }; + "handlers.keyword": { + id?: string; + name?: string; + position?: number; + preferred_url?: string; + volume?: number; + }; + "handlers.keywordListAddMembersForm": { + members: string[]; + role: string; + }; + "handlers.keywordWithTargetID": { + id?: string; + name?: string; + position?: number; + preferred_url?: string; + target_id?: string; + volume?: number; + }; + "handlers.keywordsCloneForm": { + dst_target_id: string; + src_target_id: string; + }; + "handlers.keywordsCreateForm": { + keywords: string[]; + tag_ids?: string[]; + }; + "handlers.keywordsCreateResponse": { + duplicate_count?: number; + items?: components["schemas"]["handlers.keyword"][]; + }; + "handlers.keywordsDeleteForm": { + all?: boolean; + ids?: string[]; + }; + "handlers.keywordsListDeleteMembersForm": { + members: string[]; + }; + "handlers.keywordsListMemberUpdateRoleForm": { + member: string; + role: string; + }; + "handlers.keywordsListMembersResponse": { + items?: components["schemas"]["handlers.member"][]; + page?: number; + total?: number; + }; + "handlers.keywordsListResponse": { + items?: components["schemas"]["handlers.keyword"][]; + page?: number; + total?: number; + }; + "handlers.keywordsRelatedTagsForm": { + ids: string[]; + }; + "handlers.keywordsUpdateForm": { + ids: string[]; + url?: string; + }; + "handlers.keywordsUpdateResponse": { + ids: string[]; + url?: string; + }; + "handlers.member": { + email?: string; + id?: number; + profile_pic?: string; + role?: string; + }; + "handlers.pagespeedAddNamedKeywordsForm": { + keywords?: string[]; + target_id?: string; + }; + "handlers.pagespeedAddNamedKeywordsResponse": { + keywords?: components["schemas"]["handlers.keyword"][]; + not_found?: string[]; + }; + "handlers.pagespeedCrawler": { + crawler_type?: string; + device?: string; + id?: string; + interval?: string; + name?: string; + status?: string; + total_keywords?: number; + total_urls?: number; + }; + "handlers.pagespeedCrawlerAddKeywordsForm": { + keywords: components["schemas"]["handlers.pagespeedKeywordsForm"][]; + }; + "handlers.pagespeedCrawlerAddURLsForm": { + urls: string[]; + }; + "handlers.pagespeedCrawlerCreateForm": { + /** @enum {string} */ + crawler_type?: "keywords" | "urls"; + device: string; + /** @enum {string} */ + interval?: "once" | "daily" | "weekly" | "week-days" | "bi-weekly" | "monthly"; + invisible?: boolean; + keyword_names?: string[]; + keywords?: components["schemas"]["handlers.pagespeedKeywordsForm"][]; + name: string; + target_id?: string; + urls?: string[]; + }; + "handlers.pagespeedCrawlerCreateResponse": { + crawler_type?: string; + device?: string; + id?: string; + interval?: string; + keywords?: components["schemas"]["handlers.keyword"][]; + name?: string; + not_found_keywords?: string[]; + status?: string; + total_keywords?: number; + total_urls?: number; + urls?: components["schemas"]["handlers.pagespeedURL"][]; + }; + "handlers.pagespeedCrawlerUpdateForm": { + /** @enum {string} */ + interval?: "once" | "daily" | "weekly" | "week-days" | "bi-weekly" | "monthly"; + name: string; + }; + "handlers.pagespeedCrawlerVisibleForm": { + device: string; + /** @enum {string} */ + interval?: "once" | "daily" | "weekly" | "week-days" | "bi-weekly" | "monthly"; + name: string; + }; + "handlers.pagespeedCrawlersInternalListResponse": { + items?: components["schemas"]["handlers.pagespeedInternalCrawler"][]; + page?: number; + total?: number; + }; + "handlers.pagespeedCrawlersListResponse": { + items?: components["schemas"]["handlers.pagespeedCrawler"][]; + page?: number; + total?: number; + }; + "handlers.pagespeedDeleteForm": { + ids: string[]; + }; + "handlers.pagespeedInternalCrawler": { + crawler_type?: string; + device?: string; + id?: string; + interval?: string; + name?: string; + project_id?: string; + status?: string; + total_keywords?: number; + total_urls?: number; + }; + "handlers.pagespeedInternalKeywordsListResponse": { + items?: components["schemas"]["handlers.keywordWithTargetID"][]; + page?: number; + total?: number; + }; + "handlers.pagespeedKeywordsDeleteForm": { + ids: string[]; + }; + "handlers.pagespeedKeywordsForm": { + ids: string[]; + target_id: string; + }; + "handlers.pagespeedKeywordsListResponse": { + items?: components["schemas"]["handlers.keyword"][]; + page?: number; + total?: number; + }; + "handlers.pagespeedURL": { + id?: string; + url?: string; + }; + "handlers.pagespeedURLsDeleteForm": { + ids: string[]; + }; + "handlers.pagespeedURLsListResponse": { + items?: components["schemas"]["handlers.pagespeedURL"][]; + page?: number; + total?: number; + }; + "handlers.productTiersGroup": { + product?: string; + tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"][]; + }; + "handlers.profileUpdate": { + availability?: string; + company?: string; + country?: components["schemas"]["handlers.Country"]; + description?: string; + jobs?: components["schemas"]["handlers.UserJob"][]; + languages?: string[]; + linked_in?: string; + name?: string; + phone?: string; + profession?: string; + profile_pic?: string; + skills?: string[]; + time_zone?: string; + }; + "handlers.projectAddMembersForm": { + members: string[]; + /** @description for backward compatibility no validate is required and assign SEO in case its empty */ + product_id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + role: string; + }; + "handlers.projectCreateForm": { + color?: string; + domain: string; + title: string; + }; + "handlers.projectDeleteMembersForm": { + members: string[]; + /** @description for backward compatibility no validate is required and assign SEO in case its empty */ + product_id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + }; + "handlers.projectDeleteResponse": { + id?: string; + }; + "handlers.projectFavouriteSetForm": { + favourite?: boolean; + }; + "handlers.projectItem": { + color?: string; + core_conflicts?: boolean; + domain?: string; + draft_keywords_count?: number; + draft_pagespeed_urls_count?: number; + draft_project?: components["schemas"]["handlers.BaseProject"]; + draft_segments_count?: number; + draft_updated?: boolean; + favourite?: boolean; + goals_count?: number; + id?: string; + is_draft?: boolean; + is_out_of_sync?: boolean; + keywords_count?: number; + pagespeed_urls_count?: number; + publish_status?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProjectStatus"]; + published_at?: string; + publishing_failed_reason?: string; + role?: components["schemas"]["rbac.RoleName"]; + segments_count?: number; + shared_with?: number; + targets_stats?: components["schemas"]["handlers.TargetsStats"]; + title?: string; + total_invited_members?: number; + }; + "handlers.projectItemBaseProject": { + color?: string; + domain?: string; + is_draft?: boolean; + title?: string; + }; + "handlers.projectItemLanguage": { + id?: number; + name?: string; + }; + "handlers.projectItemLocation": { + id?: number; + name?: string; + }; + "handlers.projectItemTargetMetadata": { + database?: string; + device?: string; + id?: string; + language?: components["schemas"]["handlers.projectItemLanguage"]; + location?: components["schemas"]["handlers.projectItemLocation"]; + name?: string; + }; + "handlers.projectItemTargetsStats": { + target?: components["schemas"]["handlers.projectItemTargetMetadata"]; + targets_count?: number; + }; + "handlers.projectListResponse": { + items?: components["schemas"]["handlers.projectItem"][]; + page?: number; + total?: number; + }; + "handlers.projectListV2Response": { + items?: components["schemas"]["handlers.ProjectItemResponse"][]; + page?: number; + total?: number; + }; + "handlers.projectMembersResponse": { + items?: components["schemas"]["handlers.member"][]; + page?: number; + total?: number; + }; + "handlers.projectUpdateForm": { + color?: string; + title?: string; + }; + "handlers.projectUpsertResponse": { + color?: string; + domain?: string; + id?: string; + is_draft?: boolean; + publish_status?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProjectStatus"]; + title?: string; + }; + "handlers.projectV2CreateForm": { + color?: string; + domain?: string; + title: string; + }; + "handlers.projectV2UpdateForm": { + color?: string; + domain?: string; + title?: string; + }; + "handlers.projectsGetResponse": { + benchmarks_count?: number; + color?: string; + core_id?: number; + crawlers_count?: number; + created_at?: string; + domain?: string; + draft_updated?: boolean; + favourite?: boolean; + goals_count?: number; + id?: string; + is_draft?: boolean; + is_out_of_sync?: boolean; + keywords_count?: number; + pagespeed_urls_count?: number; + preferred_urls_count?: number; + publish_status?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProjectStatus"]; + published_at?: string; + publishing_failed_reason?: string; + role?: components["schemas"]["rbac.RoleName"]; + segments_count?: number; + shared_with?: number; + targets_count?: number; + targets_stats?: components["schemas"]["handlers.TargetsStats"]; + title?: string; + }; + "handlers.seo": { + keywords_count?: number; + pagespeed_urls_count?: number; + published_projects_count?: number; + }; + "handlers.setServiceUnitsForm": { + units?: number; + }; + "handlers.si": { + logfile?: number; + pages?: number; + projects?: number; + }; + "handlers.tag": { + id?: string; + name?: string; + }; + "handlers.tagItem": { + children_count?: number; + id?: string; + keywords_count?: number; + name?: string; + }; + "handlers.tagTreeItem": { + children?: components["schemas"]["handlers.tagTreeItem"][]; + children_count?: number; + id?: string; + keywords_count?: number; + name?: string; + parent_id?: string; + }; + "handlers.tagTreeItemV2": { + children?: components["schemas"]["handlers.tagTreeItemV2"][]; + id?: string; + name?: string; + parent_id?: string; + }; + "handlers.tagWithSearchResponse": { + id?: string; + keywords_count?: number; + name?: string; + parent_id?: string; + }; + "handlers.taggedKeywordsCreateForm": { + keywords: { + [key: string]: string[]; + }; + }; + "handlers.tagsCreateForm": { + names: string[]; + parent_id?: string; + }; + "handlers.tagsDeleteForm": { + delete_keywords?: boolean; + ids: string[]; + }; + "handlers.tagsList": { + [key: string]: components["schemas"]["handlers.tagItem"]; + }; + "handlers.tagsListResponse": { + items?: components["schemas"]["handlers.tagsList"]; + page?: number; + total?: number; + }; + "handlers.tagsListWithSearchResponse": { + items?: components["schemas"]["handlers.tagWithSearchResponse"][]; + page?: number; + total?: number; + }; + "handlers.tagsUpdateForm": { + name: string; + parent_id?: string; + }; + "handlers.targetCreateForm": { + targets: components["schemas"]["handlers.targetForm"][]; + }; + "handlers.targetForm": { + device: string; + language_id: number; + location_id: number; + name: string; + /** @enum {string} */ + volume_type?: "national" | "regional" | "local"; + }; + "handlers.targetListResponse": { + items?: components["schemas"]["handlers.Target"][]; + page?: number; + total?: number; + }; + "handlers.tiersResponse": { + products?: components["schemas"]["handlers.productTiersGroup"][]; + tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"][]; + }; + "handlers.transactionsListResponse": { + items?: components["schemas"]["handlers.Transaction"][]; + page?: number; + total?: number; + }; + "handlers.transferProductProject": { + product_id: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + project_ids: string[]; + }; + "handlers.urlGroup": { + id?: string; + name?: string; + url?: string; + }; + "handlers.urlGroupsDeleteForm": { + ids: string[]; + }; + "handlers.urlGroupsListResponse": { + items?: components["schemas"]["handlers.urlGroup"][]; + page?: number; + total?: number; + }; + "handlers.urlGroupsUpsertForm": { + name: string; + url: string; + }; + "handlers.userIDsRequest": { + user_ids: number[]; + }; + "handlers.usersCreateForm": { + email: string; + es_type: string; + workspace?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert"]; + }; + "handlers.workspaceAddMembersForm": { + members: string[]; + role: string; + }; + "handlers.workspaceAddMembersResponse": { + emails?: string[]; + errors?: { + [key: string]: unknown; + }; + limit_exceeded?: boolean; + message?: string; + }; + "handlers.workspaceCheckMembershipInAncestryResponse": { + page?: number; + total?: number; + user_has_membership?: boolean; + }; + "handlers.workspaceCheckRolesInAncestryResponse": { + page?: number; + total?: number; + user_has_role?: boolean; + }; + "handlers.workspaceDeleteMembersForm": { + members: string[]; + }; + "handlers.workspaceDeleteResponse": { + id?: string; + }; + "handlers.workspaceIDsResponse": { + workspace_ids?: string[]; + }; + "handlers.workspaceLightResponse": { + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + parent?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceParent"]; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTier"][]; + products?: string[]; + role?: string; + shared_with?: number; + status?: string; + title?: string; + users?: number; + }; + "handlers.workspaceMemberUpdateRoleForm": { + member: string; + role: string; + }; + "handlers.workspaceOwnershipEligibilityResponse": { + user?: components["schemas"]["handlers.workspaceOwnershipUser"]; + valid?: boolean; + }; + "handlers.workspaceOwnershipUser": { + email?: string; + name?: string; + profile_pic?: string; + }; + "handlers.workspaceProduct": { + id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + is_transferable?: boolean; + name?: string; + }; + "handlers.workspaceResponse": { + created_at?: string; + expires_at?: string; + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + keywords_count?: number; + last_updated_at?: string; + owner?: string; + pagespeed_urls_count?: number; + parent?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceParent"]; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTier"][]; + products?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"][]; + published_projects_count?: number; + role?: string; + status?: string; + subscription_tier?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"]; + title?: string; + users?: number; + }; + "handlers.workspaceSettings": { + ai?: components["schemas"]["handlers.ai"]; + ci?: components["schemas"]["handlers.ci"]; + seo?: components["schemas"]["handlers.seo"]; + si?: components["schemas"]["handlers.si"]; + }; + "handlers.workspaceUpdateIconForm": { + url?: string; + }; + "handlers.workspaceUpsertForm": { + icon?: string; + title: string; + }; + "handlers.workspaceUserAPIKey": { + api_key?: string; + }; + "handlers.workspaceUserRole": { + role?: components["schemas"]["rbac.RoleName"]; + }; + "handlers.workspaceV2Response": { + created_at?: string; + expires_at?: string; + icon?: string; + id?: string; + is_admin?: boolean; + is_master?: boolean; + keywords_count?: number; + last_updated_at?: string; + owner?: string; + pagespeed_urls_count?: number; + parent?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceParent"]; + parent_id?: string; + partnership_enabled?: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTier"][]; + products?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"][]; + published_projects_count?: number; + resources?: { + [key: string]: { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.EntityLimit"]; + }; + }; + role?: string; + settings?: components["schemas"]["handlers.workspaceSettings"]; + shared_with?: number; + status?: string; + subscription_tier?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"]; + title?: string; + users?: number; + }; + "handlers.workspacesListResponse": { + items?: components["schemas"]["handlers.WorkspaceListItem"][]; + page?: number; + total?: number; + }; + "handlers.workspacesMembersResponse": { + items?: components["schemas"]["handlers.WorkspaceMember"][]; + page?: number; + total?: number; + }; + "http_server.BasicResponse": { + errors?: { + [key: string]: unknown; + }; + message?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.AdminProject": { + created_at?: string; + domain?: string; + id?: string; + is_transferable?: boolean; + keywords?: number; + last_updated_at?: string; + max_pages_per_crawler?: number; + owner?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProjectOwner"]; + pages?: number; + pagespeed_urls?: number; + product_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + prompts?: number; + status?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProjectStatus"]; + title?: string; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.DayOfWeek": "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; + "page-engine-backend_internal_usermanager_core_domain.EntityLimit": { + drafted?: number; + live?: number; + remaining?: number; + total?: number; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.EsType": "client" | "freelancer" | "pro-serve" | "csm" | "sales"; + "page-engine-backend_internal_usermanager_core_domain.Filter": { + col?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.SegmentColumn"]; + filters?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Filter"][]; + op?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.FilterOperator"]; + value?: unknown; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.FilterOperator": "and" | "or" | "eq" | "neq" | "begins_with" | "not_begins_with" | "ends_with" | "not_ends_with" | "contains" | "not_contains" | "gt" | "lt" | "gte" | "lte" | "in"; + "page-engine-backend_internal_usermanager_core_domain.General": { + resources?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GeneralResources"]; + }; + "page-engine-backend_internal_usermanager_core_domain.GeneralResources": { + api_units?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.UsedLimit"]; + service_credits?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.UsedLimit"]; + service_units?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.UsedLimit"]; + users?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.UsedLimit"]; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.GlobalLimitType": "service_units"; + "page-engine-backend_internal_usermanager_core_domain.Goal": { + /** + * Format: date + * @description Is set when the goal is objective + * @example 2024-01-01 + */ + date_from?: string; + /** + * Format: date + * @description Is set when the goal is objective + * @example 2024-02-01 + */ + date_to?: string; + /** @description We can have monthly goals now */ + date_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalDateType"]; + /** @description ID is the goal ID in the system */ + id: string; + /** @description May be null if we have only upper value in the threshold */ + lower_value?: number; + metric_id: string; + name: string; + /** + * @description ### Single objective value + * `value` is used for `single` `objective_value_type` + * ### Multiple objective values + * `values` is used for `multiple` `objective_value_type` + */ + objective_value_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType"]; + /** + * @description ### Threshold goal + * `upper_value` and `lower_value` are used for threshold goals + * ### Objective goal + * `date_type`, `date_from`, `date_to`, `value`, `objective_value_type`, `values` are used for objective goals + */ + type: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalType"]; + /** @description Is set when the goal is threshold */ + upper_value?: number; + /** @description Set when the goal is single objective */ + value?: number; + /** @description Set when the goal is multiple objective */ + values?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GoalValue"][]; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.GoalDateType": "month" | "quarter"; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.GoalObjectiveValueType": "single" | "multiple"; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.GoalType": "threshold" | "objective"; + "page-engine-backend_internal_usermanager_core_domain.GoalValue": { + /** + * Format: date + * @example 2024-01-01 + */ + date: string; + value: number; + }; + "page-engine-backend_internal_usermanager_core_domain.InternalProject": { + benchmarks?: number; + core_id?: number; + crawlers?: number; + domain?: string; + id?: string; + keywords?: number; + preferred_urls?: number; + published_at?: string; + publishing_failed_reason?: string; + segments?: number; + tags?: number; + targets?: number; + title?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.InternalProjectV2": { + core_id?: number; + domain?: string; + id?: string; + published_at?: string; + role?: components["schemas"]["rbac.RoleName"]; + title?: string; + workspace_id?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List": { + projects?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.InternalProjectV2"][]; + total?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.KeywordMetrics": { + position?: number; + search_volume?: number; + traffic?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.KeywordTags": { + items?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.TagWithSearch"][]; + total?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics": { + id?: string; + name?: string; + position?: number; + search_volume?: number; + tags?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.KeywordTags"]; + traffic?: number; + url?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse": { + all_total?: number; + items?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.KeywordWithMetrics"][]; + page?: number; + total?: number; + unassigned?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID": { + draft?: boolean; + filters?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter"][]; + limit?: number; + page?: number; + search?: string; + sort?: string; + sort_dir?: string; + tag_id?: string; + unassigned_only?: boolean; + with_hierarchy?: boolean; + }; + "page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs": { + draft?: boolean; + filters?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter"][]; + limit?: number; + page?: number; + search?: string; + sort?: string; + sort_dir?: string; + tag_ids?: string[]; + unassigned_only?: boolean; + with_hierarchy?: boolean; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.MembershipStatus": "member" | "guest" | "basic"; + "page-engine-backend_internal_usermanager_core_domain.MetricRangeFilter": { + field?: string; + from?: number; + to?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources": { + general?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.General"]; + product_resources?: { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductResources"]; + }; + }; + "page-engine-backend_internal_usermanager_core_domain.Product": { + id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + limits_enabled?: boolean; + name?: string; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.ProductID": "seo" | "ai" | "si" | "ci"; + "page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata": { + id?: string; + role?: components["schemas"]["rbac.RoleName"]; + shared_with?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.ProductResources": { + resources?: { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.UsedLimit"]; + }; + tier?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"]; + }; + "page-engine-backend_internal_usermanager_core_domain.ProductTier": { + product?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Product"]; + tier?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Tier"]; + }; + "page-engine-backend_internal_usermanager_core_domain.ProductTierIDs": { + product_id: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + tier_id: string; + }; + "page-engine-backend_internal_usermanager_core_domain.ProductTierWithTimestamps": { + created_at?: string; + last_updated_at?: string; + product_id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + tier_id?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.ProjectOwner": { + email?: string; + id?: string; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.ProjectStatus": "draft" | "live" | "publishing" | "initial_publish_failed" | "live_with_unpublished_updates" | "subsequent_publish_failed"; + "page-engine-backend_internal_usermanager_core_domain.SOXProductActivation": { + product_activation_date?: string; + product_name?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.SOXWorkspace": { + ownerID?: number; + products?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.SOXProductActivation"][]; + status?: string; + subscription_activation_date?: string; + subscription_expiration_date?: string; + subscription_id?: number; + workspace_name?: string; + workspace_owner?: string; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.SegmentColumn": "url" | "url_list" | "keyword" | "keyword_list" | "traffic" | "position" | "search_volume" | "keyword_intent" | "country" | "device" | "clicks" | "impressions" | "ctr" | "gsc_position"; + "page-engine-backend_internal_usermanager_core_domain.TagWithSearch": { + id?: string; + name?: string; + parent_id?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.Tier": { + id?: string; + name?: string; + rank?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.Transaction": { + amount?: number; + balance_after?: number; + balance_before?: number; + date?: string; + global_limit_key?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.GlobalLimitType"]; + id?: string; + iid?: number; + operation?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.TransactionOperation"]; + owner_id?: number; + owner_name?: string; + product_limit?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.TxProductLimit"]; + receipt_id?: number; + receipt_name?: string; + reference_transaction_id?: string; + service_id?: string; + service_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.TransactionServiceType"]; + title?: string; + workspace_id?: string; + }; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.TransactionOperation": "debit" | "credit"; + /** @enum {string} */ + "page-engine-backend_internal_usermanager_core_domain.TransactionServiceType": "job_hourly" | "job_fixed" | "seo_workflow" | "service_fee" | "si_crawler" | "ai_insights"; + "page-engine-backend_internal_usermanager_core_domain.TxProductLimit": { + /** @example pages */ + enterprise_limit_key?: string; + /** @example si */ + product_id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + }; + "page-engine-backend_internal_usermanager_core_domain.UsedLimit": { + drafted?: number; + total?: number; + used?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.User": { + e_mail?: string; + es_type?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.EsType"]; + id?: number; + invite_accepted?: boolean; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceExpiration": { + expires_at?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceParent": { + id?: string; + title?: string; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspacePartnership": { + is_partnered?: boolean; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources": { + /** @example si */ + product_id?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductID"]; + resources?: { + [key: string]: number; + }; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal": { + api_units?: number; + logfile_analysis_mb_used?: number; + service_credits?: number; + service_units?: number; + users?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO": { + keywords?: number; + pagespeed_urls?: number; + projects?: number; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2": { + general?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal"]; + product_resources?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceProductResources"][]; + seo?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO"]; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceTotalLimits": { + general?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesGlobal"]; + seo?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesSEO"]; + }; + "page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert": { + icon?: string; + /** @default false */ + partnership_enabled: boolean; + product_tiers?: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTierIDs"][]; + title: string; + }; + /** @enum {string} */ + "rbac.RoleName": "role/workspace/owner" | "role/workspace/admin" | "role/workspace/editor" | "role/workspace/viewer" | "role/workspace/collaborator" | "role/workspace/content-writer" | "role/project/editor" | "role/project/viewer" | "role/keywords_list/editor" | "role/keywords_list/viewer"; + }; + responses: never; + parameters: never; + requestBodies: { + /** @description request body */ + "handlers.BatchReferenceRequest": { + content: { + "application/json": components["schemas"]["handlers.BatchReferenceRequest"]; + }; + }; + /** @description request body */ + "handlers.projectAddMembersForm": { + content: { + "application/json": components["schemas"]["handlers.projectAddMembersForm"]; + }; + }; + /** @description segment details */ + "handlers.SegmentUpsertForm": { + content: { + "application/json": components["schemas"]["handlers.SegmentUpsertForm"]; + }; + }; + /** @description request body */ + "handlers.urlGroupsUpsertForm": { + content: { + "application/json": components["schemas"]["handlers.urlGroupsUpsertForm"]; + }; + }; + /** @description request body */ + "handlers.GoogleConsoleWorkspaceConnectionCreate": { + content: { + "application/json": components["schemas"]["handlers.GoogleConsoleWorkspaceConnectionCreate"]; + }; + }; + /** @description request body */ + "handlers.setServiceUnitsForm": { + content: { + "application/json": components["schemas"]["handlers.setServiceUnitsForm"]; + }; + }; + /** @description request body */ + "handlers.workspaceAddMembersForm": { + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersForm"]; + }; + }; + /** @description request body */ + "handlers.goalsUpsertForm": { + content: { + "application/json": components["schemas"]["handlers.goalsUpsertForm"]; + }; + }; + /** @description request body */ + "handlers.activationPanelAIOPromptSettingsForm": { + content: { + "application/json": components["schemas"]["handlers.activationPanelAIOPromptSettingsForm"]; + }; + }; + /** @description request body */ + "handlers.taggedKeywordsCreateForm": { + content: { + "application/json": components["schemas"]["handlers.taggedKeywordsCreateForm"]; + }; + }; + /** @description request body */ + "handlers.GoogleAdsWorkspaceConnectionCreate": { + content: { + "application/json": components["schemas"]["handlers.GoogleAdsWorkspaceConnectionCreate"]; + }; + }; + /** @description request body */ + "handlers.GoogleAnalyticsWorkspaceConnectionCreate": { + content: { + "application/json": components["schemas"]["handlers.GoogleAnalyticsWorkspaceConnectionCreate"]; + }; + }; + /** @description request body */ + "handlers.LogFileAnalysisWorkspaceConnectionPayload": { + content: { + "application/json": components["schemas"]["handlers.LogFileAnalysisWorkspaceConnectionPayload"]; + }; + }; + /** @description Request body containing product and tier details */ + "page-engine-backend_internal_usermanager_core_domain.ProductTierIDs": { + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductTierIDs"]; + }; + }; + /** @description request body */ + "handlers.activationPanelWorkspaceCreateForm": { + content: { + "application/json": components["schemas"]["handlers.activationPanelWorkspaceCreateForm"]; + }; + }; + /** @description Credentials creation request */ + "handlers.AdobeCredentialsCreateRequest": { + content: { + "application/json": components["schemas"]["handlers.AdobeCredentialsCreateRequest"]; + }; + }; + /** @description request body */ + "handlers.TransactionsListForm": { + content: { + "application/json": components["schemas"]["handlers.TransactionsListForm"]; + }; + }; + /** @description request body */ + "handlers.KeywordsTagsRequest": { + content: { + "application/json": components["schemas"]["handlers.KeywordsTagsRequest"]; + }; + }; + "project-upload-benchmarks": { + content: { + "multipart/form-data": { + /** + * Format: binary + * @description The file to upload + */ + up_file: string; + }; + }; + }; + }; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + "admin-core-users-list": { + parameters: { + query?: { + /** @description user id */ + user_id?: string[]; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.CoreUserWithAPIKey"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "users-create": { + parameters: { + query?: never; + header: { + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.usersCreateForm"]; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "admin-get-user-billing-statuses": { + parameters: { + query?: never; + header: { + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description List of user IDs */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.userIDsRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.billingStatusResponse"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "expired-subscription-users": { + parameters: { + query?: never; + header: { + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.CoreUser"][]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "admin-workspace-child-create": { + parameters: { + query?: never; + header: { + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.adminWorkspaceCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "admin-workspace-update-partnership": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + /** @description Request body containing partnership flag */ + requestBody: { + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspacePartnership"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized, invalid or missing API key */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden, insufficient permissions */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "admin-workspace-product-create": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["page-engine-backend_internal_usermanager_core_domain.ProductTierIDs"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized, invalid or missing API key */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden, insufficient permissions */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "admin-workspace-product-update": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["page-engine-backend_internal_usermanager_core_domain.ProductTierIDs"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized, invalid or missing API key */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden, insufficient permissions */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "admin-workspace-product-delete": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description Workspace ID (UUID) */ + id: string; + /** @description Product ID (UUID) */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized, invalid or missing API key */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden, insufficient permissions */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "admin-es-project-delete": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectDeleteResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-spa": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": unknown; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "admin-workspace-update-expiration": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + /** @description Request body containing expiration date */ + requestBody: { + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceExpiration"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, invalid input parameters */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized, invalid or missing API key */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Workspace not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable entity, not a master or partnership workspace */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-workspace-create-master": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.activationPanelWorkspaceCreateForm"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-get-all-workspaces": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ActivationPanelWorkspace"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-get-all-admin-activities": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description filter by admin user ID */ + admin_id?: string; + /** @description filter by workspace ID (UUID format) */ + workspace_id?: string; + /** @description filter by action name */ + action?: string; + }; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ActivationPanelAdminActivityResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-get-workspace": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ActivationPanelWorkspaceWithLimits"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-users-report": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CSV file containing workspace users report */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-get-all-organizations": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ActivationPanelWorkspaceListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-workspace-permissions": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ActivationPanelPermissionsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-subscription-update": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.activationPanelSubscriptionForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-workspace-update": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceUpsert"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-check-owner-email": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description customer's email */ + email: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ActivationPanelBillingStatusCoreAccountId"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-all-workspaces-find": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ActivationPanelWorkspaceMetadata"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-aio-settings-get": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.activationPanelAIOPromptSettingsForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.activationPanelAIOPromptSettingsGetForm"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-aio-settings-upsert": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.activationPanelAIOPromptSettingsForm"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-workspace-products-get": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceProduct"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-projects-find": { + parameters: { + query?: { + /** @description Search term for filtering projects */ + search?: string; + /** @description Sort direction (ASC/DESC, default: DESC) */ + sort_direction?: "ASC" | "DESC"; + /** @description Field to sort by (created_at/last_updated_at) */ + sort_field?: "created_at" | "last_updated_at"; + /** @description Filter by project status */ + status?: "draft" | "live" | "publishing" | "initial_publish_failed" | "live_with_unpublished_updates" | "subsequent_publish_failed"; + /** @description Filter by product */ + product?: "seo" | "ai" | "si" | "ci"; + /** @description Cursor for pagination (obtain from previous response's next_cursor field). If omitted, starts from the beginning. Cursors are signed and validated to ensure query consistency. */ + next_cursor?: string; + /** @description Page size (max 50) */ + limit?: number; + }; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdminProjectsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-projects-transfer": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description Source Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + /** @description Transfer request containing project IDs and target workspace ID */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.adminProjectTransferForm"]; + }; + }; + responses: { + /** @description Map of failed project IDs to error reasons. Empty map means all projects transferred successfully. Example: {\"proj-uuid-1\": \"project is not transferable\", \"proj-uuid-2\": \"project not found\"} */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + /** @description Unauthorized - Invalid or missing authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden - Missing editWorkspaces permission */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity - Invalid workspace ID, project IDs, or request body validation errors */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error - Possible errors: workspace not found, workspace product not enabled, insufficient SEO projects, insufficient AI projects, insufficient AI prompts, insufficient SI crawl budget, insufficient keywords, insufficient pagespeed URLs */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-workspace-resources": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-projects-migration": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description Target Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + /** @description Transfer request containing account IDs */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.adminSmbProjectMigrationForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized - Invalid or missing authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden - Missing editWorkspaces permission */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-projects-migration-report": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path: { + /** @description Target Workspace ID (UUID) */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized - Invalid or missing authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden - Missing editWorkspaces permission */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-manager-import": { + parameters: { + query?: never; + header: { + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** + * Format: binary + * @description CSV file containing workspace IDs and user IDs + */ + file: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "admin-workspace-create-master": { + parameters: { + query?: never; + header: { + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.adminWorkspaceUpsertForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-tiers-list": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tiersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "adobe-analytics-get-dimensions": { + parameters: { + query: { + /** @description Report Suite ID */ + rsid: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description adobe_proxy_auth_id identifier */ + adobe_proxy_auth_id: string; + /** @description Adobe global company ID */ + global_company_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description dimensions retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Dimension"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-metrics": { + parameters: { + query: { + /** @description Report Suite ID */ + rsid: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description adobe_proxy_auth_id identifier */ + adobe_proxy_auth_id: string; + /** @description Adobe global company ID */ + global_company_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description metrics retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Metric"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-validate": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description Adobe Proxy Auth ID */ + adobe_proxy_auth_id: string; + /** @description Global Company ID */ + global_company_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsValidateRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsValidateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Too Many Requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-report-suites": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description adobe_proxy_auth_id identifier */ + adobe_proxy_auth_id: string; + /** @description Adobe global company ID */ + global_company_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description report suites retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ReportSuite"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-report-suites-paginated": { + parameters: { + query?: { + /** @description Number of items per page */ + size?: number; + /** @description Page number (1-indexed) */ + page?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description adobe_proxy_auth_id identifier */ + adobe_proxy_auth_id: string; + /** @description Adobe global company ID */ + global_company_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description report suites with pagination retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeReportSuitesResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-status": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description adobe_proxy_auth_id identifier */ + adobe_proxy_auth_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description status retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeCredentialStatusInfo"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-create-credentials": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.AdobeCredentialsCreateRequest"]; + responses: { + /** @description credentials created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeCredentialsInfo"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-bulk-status": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + /** @description Bulk status request with list of adobe_proxy_auth_ids */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.AdobeBulkStatusRequest"]; + }; + }; + responses: { + /** @description statuses retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeBulkStatusResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + countries: { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Country"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "goals-metrics-list": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.goalMetricsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-core-users-list": { + parameters: { + query?: { + /** @description user id */ + user_id?: string[]; + /** @description comma separated user ids */ + user_ids?: string[]; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.CoreUser"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-project-all-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.InternalProjectsList"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-restore-project": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-all-live-targets": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "transaction-create": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.TransactionsCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Transaction"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-credits-internal-transaction-get": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description transaction id */ + transaction_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Transaction"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "transaction-cancel": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description transaction id */ + transaction_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.TransactionsCancelForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Transaction"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-credits-internal-transactions-list": { + parameters: { + query?: { + /** @description sorting direction */ + direction?: string; + /** @description sorting field */ + field?: string; + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.TransactionsListForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.transactionsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "profiles-list": { + parameters: { + query?: { + /** @description user id */ + user_id?: string[]; + /** @description user id */ + es_type?: string; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.UserProfile"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "user-profile-update-internal": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description user id */ + user_id: number; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.InternalProfileUpdate"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.UserProfile"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-all-es-users": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.InternalESUsersList"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "user-by-api-key-get-internal": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.BasicUserProfile"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "basic-profiles-list": { + parameters: { + query?: { + /** @description user id */ + user_id?: string[]; + /** @description user ES type */ + es_type?: string; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.BasicUserProfile"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-get": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.internalWorkspace"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-ancestor": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-owner-api-key-get": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceUserAPIKey"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-family": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-managers-get": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.basicWorkspacesMembersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-members": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description asc/desc */ + direction?: string; + /** @description search by email */ + search?: string; + /** @description search by role name */ + role?: string; + /** @description search by membership status */ + membership_status?: string; + /** @description include parental admins */ + include_parental_admins?: boolean; + /** @description include parent workspace */ + include_parent_workspace?: boolean; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspacesMembersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-add-members": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.workspaceAddMembersForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceMemberUpsertResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + }; + }; + "workspaces-check-roles-in-ancestry": { + parameters: { + query: { + /** @description roles */ + roles: string[]; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description user id */ + user_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceCheckRolesInAncestryResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-check-membership-in-ancestry": { + parameters: { + query?: { + /** @description Filter by membership status. If provided, only these statuses are considered valid. Allowed: member, guest, basic. */ + membership?: string[]; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + userId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceCheckMembershipInAncestryResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-internal-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description results offset */ + offset?: number; + /** @description page size */ + limit?: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlersInternalListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-internal-keywords-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description results offset */ + offset?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedInternalKeywordsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-internal-urls-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description results offset */ + offset?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedURLsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-list-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-goals-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description limit number */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.internalGoalsListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-public-project-segment-list-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description search by segment name */ + search?: string; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-project-segment-list-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentListInternalResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-project-segments-get": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description segment id */ + segment_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-target-list-get-internal": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.targetListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-project-target-details": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Target"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-benchmarks-input": { + parameters: { + query: { + /** @description benchmark ids */ + ids: string; + /** @description live */ + live?: boolean; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.InternalBenchmark"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-project-target-input-details": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.InternalTarget"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-get-tagged-keywords": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.taggedKeywordsCreateForm"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-internal-search-list-tags": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description search */ + search?: string; + /** @description live */ + live?: boolean; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tagsListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-internal-tags-tree": { + parameters: { + query: { + /** @description tag id */ + tag_id: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.TagsTreeResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-live-projects-target-list-get": { + parameters: { + query: { + /** @description user id */ + user_id: number; + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.targetListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-resources": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-units-get": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.getServiceUnitsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-units-set": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.setServiceUnitsForm"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-units-used-set": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.setServiceUnitsForm"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-connections-list": { + parameters: { + query?: { + /** @description Number of page */ + page?: number; + /** @description Number of items per page (default: 10) */ + limit?: number; + /** @description Connection type filter: google-ads, google-analytics, google-console, adobe-analytics, log-file-connector */ + type?: string; + /** @description Owner filter */ + owner_id?: string; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceConnectionsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "internal-workspace-connection-byid": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.InternalWorkspaceConnectionDetails"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "internal-log-file-analysis-connection-update": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.LogFileAnalysisWorkspaceConnectionPayload"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceConnection"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "internal-log-file-analysis-connection-status-patch": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.LogFileAnalysisConnectorStatusPayload"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "internal-workspace-project-connections": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Array of connection IDs */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ProjectConnectionResponse"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "internal-workspaces-all-list": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-limits": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: components["schemas"]["handlers.OptionsLimits"]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-batch-workspaces-members": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.batchWorkspaceMembersRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.basicWorkspacesMembersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-get-root": { + parameters: { + query?: never; + header: { + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-sox-list": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.SOXWorkspace"][][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-tiers-list": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tiersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + languages: { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Language"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + locations: { + parameters: { + query?: { + /** @description location name(deprecated use q) */ + location?: string; + /** @description filter by location, alias for location */ + q?: string; + /** @description location id */ + id?: number; + /** @description filter by search engine(bing) */ + filter_engine?: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "user-profile": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.UserProfile"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "user-profile-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.profileUpdate"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.UserProfile"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "users-required-units": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.RequiredUserUnitsForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.RequiredUserUnitsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "user-ownership-eligibility": { + parameters: { + query: { + /** @description user id */ + email: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceOwnershipEligibilityResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "work-categories": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkCategory"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspacesListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-details": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.workspaceUpsertForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceDeleteResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-api-units-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.APIUnitsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-campaign-keywords-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description campaign id */ + campaign_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.keywordsListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-child-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + /** @description Signed upload receipt token */ + "X-Upload-Receipt": string; + }; + path: { + /** @description parent workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.WorkspaceCreateChildForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-family": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-has-children": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.HasChildrenResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-update-icon": { + parameters: { + query?: never; + header: { + /** @description Signed upload receipt token */ + "X-Upload-Receipt": string; + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description Workspace UUID */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.workspaceUpdateIconForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-get": { + parameters: { + query?: { + /** @description field default: name */ + field?: "name" | "updated_at"; + /** @description sort direction, default:asc */ + direction?: "asc" | "desc"; + /** @description search by keyword list name */ + search?: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-post": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.KeywordsListCreateRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsListCreateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.KeywordsListDeleteRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-rename": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.KeywordsListRenameRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsListRenameResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-keywords-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page limit */ + limit?: number; + /** @description sort direction, default:asc */ + direction?: "asc" | "desc"; + /** @description search by keyword name */ + search?: string; + /** @description sort direction, default:containing */ + operation?: "eq" | "containing" | "begins_with" | "ends_with" | "word_matching_separator" | "exact_matching" | "phrase_matching" | "broad_matching"; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-keywords-post": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.KeywordAddRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordCountResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-keywords-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.KeywordDeleteRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordDeleteResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-keywords-tags-add": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.KeywordsTagsRequest"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsTagsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-keywords-tags-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.KeywordsTagsRequest"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsTagsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-keywords-tags-patch": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.KeywordsTagsUpdateRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsTagsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-keywords-post-upload": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description id of the keywords-list */ + basket_id: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** + * Format: binary + * @description The file to upload + */ + file: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordCountResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-list-members": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description basket id */ + basket_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.keywordsListMembersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-list-add-members": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description basket id */ + basket_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordListAddMembersForm"]; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-list-delete-members": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description basket id */ + basket_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordsListDeleteMembersForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-list-update-members-role": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description basket id */ + basket_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordsListMemberUpdateRoleForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywordslists-databases-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.KeywordsListDatabasesResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-light-details": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceLightResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "limits-get": { + parameters: { + query?: { + /** @description set true if you want the master workspace's limits */ + master?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.GetLimitsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-members": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description asc/desc */ + direction?: string; + /** @description search by email */ + search?: string; + /** @description search by role name */ + role?: string; + /** @description search by membership status */ + membership_status?: string; + /** @description include parental admins */ + include_parental_admins?: boolean; + /** @description include parent workspace */ + include_parent_workspace?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspacesMembersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-add-members": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.workspaceAddMembersForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceMemberUpsertResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceAddMembersResponse"]; + }; + }; + }; + }; + "workspace-delete-members": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.workspaceDeleteMembersForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceMemberUpsertResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-members-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.workspaceMemberUpdateRoleForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceMemberUpsertResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-details-parent": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-resources-master": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-list-get-for-user": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.projectCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectUpsertResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-get": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectsGetResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.projectUpdateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectUpsertResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectDeleteResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-clone-benchmarks-tags": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.benchmarkCloneForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "discard-draft-project": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "set-project-favourite": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.projectFavouriteSetForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "goals-list": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + /** @description page number */ + page?: number; + /** @description limit number */ + limit?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.goalsListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "goal-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.goalsUpsertForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.goalUpsertReponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "goals-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.goalsDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "goal-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description goal id */ + goal_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.goalsUpsertForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.goalUpsertReponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "goal-simport": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.goalImportForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.goalImportReponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-limits-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.GetLimitsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-members": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectMembersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-add-members": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.projectAddMembersForm"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-delete-members": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.projectDeleteMembersForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-update-members-role": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.projectAddMembersForm"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description results offset */ + offset?: number; + /** @description page size */ + limit?: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlersListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlerCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlerCreateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlerUpdateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawler"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-keywords-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description results offset */ + offset?: number; + /** @description page size */ + limit?: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedKeywordsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-add-keywords": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlerAddKeywordsForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.keyword"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-delete-keywords": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedKeywordsDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-add-named-keywords": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedAddNamedKeywordsForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedAddNamedKeywordsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "crawler-limits-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.GetLimitsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-urls-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description results offset */ + offset?: number; + /** @description page size */ + limit?: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedURLsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-add-urls": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlerAddURLsForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.pagespeedURL"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-delete-urls": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedURLsDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "pagespeed-visible": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description pagespeed crawler id */ + crawler_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.pagespeedCrawlerVisibleForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-publish-async": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-segment-list-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description sort by segment field */ + sort?: "name" | "created_at" | "updated_at"; + /** @description sort direction */ + direction?: "asc" | "desc"; + /** @description search by segment name */ + search?: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-segment-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description segments ids */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.IDsForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-segments-get": { + parameters: { + query?: { + /** @description whether to show only for live projects */ + live?: "true" | "false"; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description segment id */ + segment_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-segment-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description segment id */ + segment_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.SegmentUpsertForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-target-list-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.targetListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-add-target": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.targetCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Target"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-target-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-target-details": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Target"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "benchmarks-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.benchmarksListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-add-benchmarks": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.benchmarkCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.benchmark"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-delete-benchmarks": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.benchmarksDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-update-benchmarks": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + /** @description benchmark id */ + benchmark_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.benchmarkUpdateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.benchmark"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-bulk-update-benchmarks": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.benchmarkBulkUpdateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.benchmark"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-download-benchmarks": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-remove-tags-benchmarks": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.benchmarkRemoveTagsForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.benchmark"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-upload-benchmarks": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["project-upload-benchmarks"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-get-keywords": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description tag id(to get keywords of a tag) */ + tag_id?: string; + /** @description live */ + live?: boolean; + /** @description with_hierarchy */ + with_hierarchy?: boolean; + /** @description keyword name(to filter keywords by name) */ + name?: string; + /** @description preferred url(to filter keywords by preferred_url) */ + preferred_url?: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.keywordsListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-add-keywords": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordsCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.keywordsCreateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-delete-keywords": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordsDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "targets-keywords-by-names": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.NamedKeywordsFindForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.NamedKeywordsFindResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-preferred-urls-upload": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["project-upload-benchmarks"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.PreferredURLsUploadResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-update-keywords": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordsUpdateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.keywordsUpdateResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-preferred-urls-download": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-related-tag-ids-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordsRelatedTagsForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string[]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-tags-relations-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.KeywordsTagsRelationsDeleteForm"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "keywords-metrics": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.KeywordMetrics"]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-add-tagged-keywords": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.taggedKeywordsCreateForm"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-download-tagged-keywords": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-upload-tagged-keywords": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["project-upload-benchmarks"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-get-tags": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description parent id */ + parent_id?: string; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tagsListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-add-tags": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.tagsCreateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tagsList"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-delete-tags": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.tagsDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-update-tag": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + /** @description tag id */ + tag_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.tagsUpdateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tag"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-tags-all": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.TagsTreeResponseV2"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-search-list-tags": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description search */ + search?: string; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tagsListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-tags-tree": { + parameters: { + query: { + /** @description tag id */ + tag_id: number; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.TagsTreeResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-find-tags-path": { + parameters: { + query?: { + /** @description path */ + path?: string; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.TagsTreeResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-search-tree-tags": { + parameters: { + query?: { + /** @description search */ + search?: string; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.TagsTreeResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-clone-keywords-tags": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.keywordsCloneForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "url-groups-list": { + parameters: { + query?: { + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.urlGroupsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "url-groups-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.urlGroupsUpsertForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.urlGroup"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "url-groups-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.urlGroupsDeleteForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "url-groups-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description url group id */ + url_group_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.urlGroupsUpsertForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.urlGroup"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "live-projects-target-list-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.targetListResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-resources": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.NewWorkspaceResources"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-transfer-resources": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.WorkspaceResources"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "user-workspace-role": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceUserRole"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-segment-list-get": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description whether to show only for live projects */ + live?: "true" | "false"; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentListByWorkspaceResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-units-balance-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.getServiceUnitsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-credits-transactions-list": { + parameters: { + query?: { + /** @description sorting direction */ + direction?: string; + /** @description sorting field */ + field?: string; + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.TransactionsListForm"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.transactionsListResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "service-credits-transaction-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description transaction id */ + transaction_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Transaction"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspaces-status-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceCheckResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-connections": { + parameters: { + query?: { + /** @description Number of page */ + page?: number; + /** @description Number of items per page (default: 10) */ + limit?: number; + /** @description Connection type filter: google-ads, google-analytics, google-console, adobe-analytics */ + type?: string; + /** @description Owner type filter */ + owner_id?: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceConnectionsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspace-connections-delete": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.WorkspaceConnectionsDeleteRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspace-connections-byid": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceConnectionDetails"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspace-connection-attach-project": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspace-connection-detach-project": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-connection-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsWorkspaceConnectionCreate"]; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-connection-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsWorkspaceConnectionUpdate"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspace-connections-merge": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.WorkspaceConnectionsAttachItem"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "ads-connection-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.GoogleAdsWorkspaceConnectionCreate"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "ads-connection-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.GoogleAdsWorkspaceConnectionCreate"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "analytics-connection-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.GoogleAnalyticsWorkspaceConnectionCreate"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "analytics-connection-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.GoogleAnalyticsWorkspaceConnectionCreate"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "console-connection-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.GoogleConsoleWorkspaceConnectionCreate"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "console-connection-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.GoogleConsoleWorkspaceConnectionCreate"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "log-file-analysis-connection-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.LogFileAnalysisWorkspaceConnectionPayload"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "log-file-analysis-connection-update": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.LogFileAnalysisWorkspaceConnectionPayload"]; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspace-connection-owners": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.WorkspaceConnectionOwner"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspace-project-connections": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Array of connection IDs */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ProjectConnectionResponse"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "workspaces-light-list": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceLightResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "total-limits-find": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: components["schemas"]["handlers.OptionsLimits"]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-resources-find-all": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceTotalLimits"]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "tiers-list": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tiersResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "activation-panel-workspace-create-master-v2": { + parameters: { + query?: never; + header: { + /** @description Semrush-admin Remote-User (UserId) */ + "Remote-User": string; + /** @description Admin API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.activationPanelWorkspaceCreateForm"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "adobe-analytics-create-credentials-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.AdobeCredentialsCreateRequest"]; + responses: { + /** @description credentials created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeCredentialCreatedResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-dimensions-v2": { + parameters: { + query: { + /** @description Internal credential ID */ + credential_id: number; + /** @description Adobe global company ID */ + global_company_id: string; + /** @description Report Suite ID */ + rsid: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description dimensions retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Dimension"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-metrics-v2": { + parameters: { + query: { + /** @description Internal credential ID */ + credential_id: number; + /** @description Adobe global company ID */ + global_company_id: string; + /** @description Report Suite ID */ + rsid: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description metrics retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.Metric"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-validate-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsValidateV2Request"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsValidateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Too Many Requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-report-suites-v2": { + parameters: { + query: { + /** @description Internal credential ID */ + credential_id: number; + /** @description Adobe global company ID */ + global_company_id: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description report suites retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.ReportSuite"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-report-suites-paginated-v2": { + parameters: { + query: { + /** @description Internal credential ID */ + credential_id: number; + /** @description Adobe global company ID */ + global_company_id: string; + /** @description Number of items per page */ + size?: number; + /** @description Page number (1-indexed) */ + page?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description report suites with pagination retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeReportSuitesResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-get-status-v2": { + parameters: { + query: { + /** @description Internal credential ID */ + credential_id: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description status retrieved successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.AdobeCredentialStatusInfo"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "internal-product-workspaces-get": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description product id (ai, si, ci, seo) */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceIDsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "transaction-create-v2": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.TransactionsCreateFormV2"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Transaction"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "transaction-refund-v2": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description transaction id */ + transaction_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.TransactionsRefundForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.Transaction"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-ancestor-v2": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-family-v2": { + parameters: { + query?: never; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-product-limits": { + parameters: { + query?: never; + header: { + /** @description API Key required for authentication */ + "API-Key": string; + }; + path: { + /** @description Unique identifier for the workspace */ + id: string; + /** @description Unique identifier for the product [enum: seo, aio] */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.EntityLimit"]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-product-projects-find": { + parameters: { + query: { + /** @description Unique identifier for the user */ + user_id: number; + }; + header: { + /** @description API key for authentication */ + "API-Key": string; + }; + path: { + /** @description Unique identifier for the workspace */ + id: string; + /** @description Unique identifier for the product [possible values: seo, aio] */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK - List of product projects successfully retrieved */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.ProductProjectMetadata"][]; + }; + }; + /** @description Unauthorized - Invalid or missing API key */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden - Access denied for the user */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found - Workspace or Product not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error - Unexpected system error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspace-product-limits-by-project": { + parameters: { + query?: never; + header: { + /** @description API Key required for authentication */ + "API-Key": string; + }; + path: { + /** @description Unique identifier for the workspace */ + id: string; + /** @description Unique identifier for the product [enums: seo, aio] */ + product_id: string; + /** @description Unique identifier for the project */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: components["schemas"]["page-engine-backend_internal_usermanager_core_domain.EntityLimit"]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-projects-list-v2": { + parameters: { + query?: { + /** @description user id */ + user_id?: number; + /** @description search by project name */ + search?: string; + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-project-by-id-v2": { + parameters: { + query?: { + /** @description user id */ + user_id?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.InternalProjectV2"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-workspaces-all-list-v2": { + parameters: { + query?: { + /** @description Comma-separated list of product identifiers (e.g., ci,si) */ + products?: string; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "internal-projects-all-v2-list": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + }; + header: { + /** @description API key */ + "API-Key": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.InternalProjectV2List"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-details-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceV2Response"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-child-create-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description parent workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.createWorkspaceV2Form"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "projects-list-v2": { + parameters: { + query?: { + /** @description publish statuses filter */ + publish_status?: unknown[]; + /** @description search by project name or domain */ + search?: string; + /** @description sort field (name, target, keywords, pagespeedurls, favourite) */ + sort_field?: string; + /** @description sort direction (ASC or DESC) */ + sort_direction?: string; + /** @description page number */ + page?: number; + /** @description page size (max 100) */ + limit?: number; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectListV2Response"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-create-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.projectV2CreateForm"]; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectUpsertResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-limits-get-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description product id */ + product_id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.GetLimitsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-update-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.projectV2UpdateForm"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.projectUpsertResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-get-keywords-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagID"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-update-keyword-tags-batch-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.BatchReferenceRequest"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-delete-keyword-tags-batch-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.BatchReferenceRequest"]; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-get-tags-with-search": { + parameters: { + query?: { + /** @description page number */ + page?: number; + /** @description page size */ + limit?: number; + /** @description parent id */ + parent_id?: string; + /** @description search query */ + query?: string; + /** @description live */ + live?: boolean; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.tagsListWithSearchResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-delete-tags-batch-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.BatchDeleteReferenceRequest"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-transfer-resources-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.WorkspaceResourcesTransferV2Form"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.WorkspaceResourcesV2"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "adobe-analytics-connection-create-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsWorkspaceConnectionCreateV2"]; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "adobe-analytics-connection-update-v2": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + workspace_id: string; + /** @description connection id */ + connection_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.AdobeAnalyticsWorkspaceConnectionUpdateV2"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "project-get-keywords-v3": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + /** @description target id */ + target_id: string; + }; + cookie?: never; + }; + /** @description request body */ + requestBody: { + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.KeywordsWithTagsRequestAndTagIDs"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-engine-backend_internal_usermanager_core_domain.KeywordsWithMetricsResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "workspace-owner-api-key-get": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.workspaceUserAPIKey"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "project-segment-create": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description workspace id */ + id: string; + /** @description project id */ + project_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["handlers.SegmentUpsertForm"]; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["handlers.SegmentResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "segments-copy-to-projects": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description Workspace ID */ + id: string; + /** @description Source Project ID */ + project_id: string; + }; + cookie?: never; + }; + /** @description Copy segments request */ + requestBody: { + content: { + "application/json": components["schemas"]["handlers.CopySegmentsRequest"]; + }; + }; + responses: { + /** @description Copy result with copied count */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "segments-export": { + parameters: { + query?: { + /** @description Export format: csv or xlsx */ + format?: string; + }; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description Workspace ID */ + id: string; + /** @description Project ID */ + project_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CSV or XLSX file with segments data */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": string; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": string; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "text/csv": components["schemas"]["http_server.BasicResponse"]; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; + "segments-import": { + parameters: { + query?: never; + header: { + /** @description JWT Token */ + "Auth-Data-Jwt": string; + }; + path: { + /** @description Workspace ID */ + id: string; + /** @description Project ID */ + project_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** + * Format: binary + * @description CSV or XLSX file with segments data + */ + file: string; + }; + }; + }; + responses: { + /** @description Import result with imported count */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + /** @description Internal server error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["http_server.BasicResponse"]; + }; + }; + }; + }; +} diff --git a/packages/spacecat-shared-user-manager-client/test/foundation.test.js b/packages/spacecat-shared-user-manager-client/test/foundation.test.js new file mode 100644 index 000000000..57c1ad244 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/test/foundation.test.js @@ -0,0 +1,60 @@ +/* + * Copyright 2026 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { expect } from 'chai'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { dirname, resolve } from 'node:path'; + +const here = dirname(fileURLToPath(import.meta.url)); +const pkgRoot = resolve(here, '..'); + +const read = (rel) => readFileSync(resolve(pkgRoot, rel), 'utf-8'); + +describe('User Manager foundation: vendored spec', () => { + const spec = read('spec/usermanager_swagger.yaml'); + + it('is the vendored Swagger 2.0 file', () => { + expect(spec).to.match(/^swagger:\s*['"]?2\.0['"]?/m); + }); + + it('declares the User Manager basePath', () => { + expect(spec).to.include('basePath: /enterprise/users/api'); + }); + + it('carries the Auth-Data-Jwt parameter (vendor spec artifact — gateway uses Authorization: Bearer)', () => { + // The spec models this as a required header on ~187 ops, but the live Adobe gateway + // authenticates on Authorization: Bearer only. An overlay to strip it lands in a follow-up. + expect(spec).to.include('name: Auth-Data-Jwt'); + }); +}); + +describe('User Manager foundation: generated TypeScript types', () => { + // Committed in its own commit, marked linguist-generated (see .gitattributes). + const types = read('src/generated/types.ts'); + + it('exposes the openapi-typescript paths interface', () => { + expect(types).to.match(/export interface paths/); + }); + + it('includes the workspace routes the serenity integration exercises', () => { + expect(types).to.include('/workspaces/'); + }); + + it('includes a v2 workspace child-creation path', () => { + expect(types).to.include('/v2/workspaces/{id}/child'); + }); + + it('includes a v1 workspace status path', () => { + expect(types).to.include('/v1/workspaces/{id}/status'); + }); +}); diff --git a/packages/spacecat-shared-user-manager-client/test/mock.test.js b/packages/spacecat-shared-user-manager-client/test/mock.test.js new file mode 100644 index 000000000..1fed6cb77 --- /dev/null +++ b/packages/spacecat-shared-user-manager-client/test/mock.test.js @@ -0,0 +1,191 @@ +/* + * Copyright 2026 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +/* + * LLMO-5616 — E2E tests for the User Manager Counterfact mock. + * + * Boots the mock as a child process once, exercises the stateful core chain, + * resets between tests via the non-spec POST /__reset route, and asserts the + * negative paths, the committed custom handlers, and the env-var constant. + * + * The mock logic lives in `.counterfact/**` (TypeScript compiled by Counterfact + * at runtime), so it is exercised behaviorally here rather than via unit + * coverage — see README "Mock architecture". + */ +import { spawn } from 'node:child_process'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import fs from 'node:fs'; +import { expect } from 'chai'; + +import { USER_MANAGER_BASE_URL_ENV } from '../src/config.js'; + +const PKG_ROOT = path.dirname(path.dirname(fileURLToPath(import.meta.url))); +// 4099, not the documented default 4010, so the suite never collides with a +// mock a developer is running locally (`npm run mock` uses 4010). +const PORT = 4099; +const BASE = `http://localhost:${PORT}/enterprise/users/api`; + +// counterfact is hoisted to the monorepo root node_modules/.bin +function counterfactBin() { + return path.join(PKG_ROOT, '..', '..', 'node_modules', '.bin', 'counterfact'); +} + +async function api(method, route, body) { + const res = await fetch(`${BASE}${route}`, { + method, + headers: body ? { 'content-type': 'application/json' } : {}, + body: body ? JSON.stringify(body) : undefined, + }); + const text = await res.text(); + return { status: res.status, body: text ? JSON.parse(text) : undefined }; +} + +describe('User Manager mock (LLMO-5616)', () => { + let server; + + before(async function before() { + this.timeout(120_000); + server = spawn( + process.execPath, + [ + counterfactBin(), 'spec/usermanager_swagger.yaml', '.counterfact', + '--serve', '--port', String(PORT), + '--prefix', '/enterprise/users/api', + '--no-validate-request', '--no-update-check', + ], + { cwd: PKG_ROOT, stdio: 'ignore' }, + ); + // poll until the mock answers + for (let i = 0; i < 90; i += 1) { + try { + // eslint-disable-next-line no-await-in-loop + const r = await fetch(`${BASE}/v1/workspaces`); + if (r.ok) { + return; + } + } catch { /* not up yet */ } + // eslint-disable-next-line no-await-in-loop + await new Promise((resolve) => { + setTimeout(resolve, 1000); + }); + } + throw new Error('mock server did not start'); + }); + + after(() => { + if (server) { + server.kill(); + } + }); + + beforeEach(async () => { + await api('POST', '/__reset'); + }); + + it('starts seeded with the fixture workspaces', async () => { + const { status, body } = await api('GET', '/v1/workspaces'); + expect(status).to.equal(200); + const ids = body.items.map((w) => w.id); + expect(ids).to.include.members(['ws-root', 'ws-child']); + }); + + it('reflects a created child workspace in a subsequent GET (statefulness)', async () => { + const created = await api('POST', '/v1/workspaces/ws-root/child', { name: 'Spawned' }); + expect(created.status).to.equal(200); + const { id } = created.body; + const got = await api('GET', `/v1/workspaces/${id}`); + expect(got.status).to.equal(200); + expect(got.body.name).to.equal('Spawned'); + expect(got.body.parent_id).to.equal('ws-root'); + }); + + it('updates then deletes a workspace', async () => { + const { body: ws } = await api('POST', '/v1/workspaces/ws-root/child', { name: 'A' }); + await api('PUT', `/v1/workspaces/${ws.id}`, { name: 'B' }); + expect((await api('GET', `/v1/workspaces/${ws.id}`)).body.name).to.equal('B'); + expect((await api('DELETE', `/v1/workspaces/${ws.id}`)).status).to.equal(200); + expect((await api('GET', `/v1/workspaces/${ws.id}`)).status).to.be.gte(400); + }); + + it('adds a member and lists it', async () => { + await api('POST', '/v1/workspaces/ws-root/members', { user_id: 'user-9', role: 'viewer' }); + const { body } = await api('GET', '/v1/workspaces/ws-root/members'); + expect(body.items.map((m) => m.user_id)).to.include('user-9'); + }); + + it('adds members via the { members: [...] } body shape', async () => { + await api('POST', '/v1/workspaces/ws-root/members', { + members: [{ user_id: 'user-10', role: 'viewer' }, { user_id: 'user-11', role: 'editor' }], + }); + const ids = (await api('GET', '/v1/workspaces/ws-root/members')).body.items.map((m) => m.user_id); + expect(ids).to.include.members(['user-10', 'user-11']); + }); + + it('adds members via a bare array body shape', async () => { + await api('POST', '/v1/workspaces/ws-root/members', [{ user_id: 'user-12', role: 'viewer' }]); + const ids = (await api('GET', '/v1/workspaces/ws-root/members')).body.items.map((m) => m.user_id); + expect(ids).to.include('user-12'); + }); + + it('adding members to a missing workspace returns an error status', async () => { + const { status } = await api('POST', '/v1/workspaces/does-not-exist/members', { user_id: 'x' }); + expect(status).to.be.gte(400); + }); + + it('deletes a member and reports the freed count (0 when absent)', async () => { + await api('POST', '/v1/workspaces/ws-root/members', { user_id: 'user-13', role: 'viewer' }); + const removed = await api('DELETE', '/v1/workspaces/ws-root/members', { user_ids: ['user-13'] }); + expect(removed.status).to.equal(200); + expect(removed.body.count).to.equal(1); + // Deleting an absent member is a 200 with count 0 (mirrors the real "units freed" semantics). + const none = await api('DELETE', '/v1/workspaces/ws-root/members', { user_ids: ['ghost'] }); + expect(none.status).to.equal(200); + expect(none.body.count).to.equal(0); + }); + + it('updating a non-existent member returns an error status', async () => { + const { status } = await api('PATCH', '/v1/workspaces/ws-root/members', { user_id: 'ghost', role: 'x' }); + expect(status).to.be.gte(400); + }); + + it('updates the profile (POST reflected in GET)', async () => { + await api('POST', '/v1/profile', { first_name: 'Grace' }); + expect((await api('GET', '/v1/profile')).body.first_name).to.equal('Grace'); + }); + + it('serves resources, deprecated limits alias, and service-units balance', async () => { + expect((await api('GET', '/v1/workspaces/ws-root/resources')).body.workspace_id).to.equal('ws-root'); + expect((await api('GET', '/v1/workspaces/ws-root/limits')).body.workspace_id).to.equal('ws-root'); + expect((await api('GET', '/v1/workspaces/ws-root/service-units/balance')).body.balance).to.equal(5000); + }); + + it('resets to the seeded state between tests', async () => { + await api('POST', '/v1/workspaces/ws-root/child', { name: 'Temp' }); + await api('POST', '/__reset'); + const ids = (await api('GET', '/v1/workspaces')).body.items.map((w) => w.id); + expect(ids).to.deep.equal(['ws-root', 'ws-child']); + }); + + it('returns an error status for a missing workspace', async () => { + expect((await api('GET', '/v1/workspaces/does-not-exist')).status).to.be.gte(400); + }); + + it('uses committed custom handlers (delegate to $.context)', () => { + const profile = fs.readFileSync(path.join(PKG_ROOT, '.counterfact/routes/v1/profile.ts'), 'utf8'); + expect(profile).to.include('$.context'); + }); + + it('exposes the base-URL env-var name for the future client', () => { + expect(USER_MANAGER_BASE_URL_ENV).to.equal('SEMRUSH_USERS_BASE_URL'); + }); +});