@8ms/helpers 2.2.26 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/_class/index.d.ts +2 -2
- package/_class/index.js +2 -2
- package/adverity/adverity.d.ts +112 -0
- package/adverity/adverity.js +58 -0
- package/adverity/index.d.ts +1 -112
- package/adverity/index.js +1 -58
- package/adverity/server/index.d.ts +1 -1
- package/adverity/server/index.js +1 -1
- package/api/ApiResponseClass.d.ts +1 -1
- package/api/ApiResponseClass.js +1 -1
- package/api/functions.d.ts +1 -1
- package/api/functions.js +1 -1
- package/api/index.d.ts +1 -1
- package/api/index.js +1 -1
- package/array/array.d.ts +8 -0
- package/array/array.js +9 -0
- package/array/index.d.ts +1 -8
- package/array/index.js +1 -9
- package/atInternet/atInternet.d.ts +16 -0
- package/atInternet/atInternet.js +15 -0
- package/atInternet/index.d.ts +1 -16
- package/atInternet/index.js +1 -15
- package/aws/ec2/server/awsEc2.d.ts +3 -0
- package/aws/ec2/server/awsEc2.js +12 -0
- package/aws/ec2/server/index.d.ts +2 -3
- package/aws/ec2/server/index.js +2 -12
- package/aws/ecs/server/awsEcs.d.ts +3 -0
- package/aws/ecs/server/awsEcs.js +12 -0
- package/aws/ecs/server/index.d.ts +2 -3
- package/aws/ecs/server/index.js +2 -12
- package/aws/glue/server/awsGlue.d.ts +3 -0
- package/aws/glue/server/awsGlue.js +12 -0
- package/aws/glue/server/index.d.ts +2 -3
- package/aws/glue/server/index.js +2 -12
- package/aws/lambda/server/awsLambda.d.ts +4 -0
- package/aws/lambda/server/awsLambda.js +16 -0
- package/aws/lambda/server/index.d.ts +2 -4
- package/aws/lambda/server/index.js +2 -16
- package/aws/s3/server/awsS3.d.ts +13 -0
- package/aws/s3/server/awsS3.js +20 -0
- package/aws/s3/server/index.d.ts +3 -13
- package/aws/s3/server/index.js +3 -20
- package/aws/server/aws.d.ts +9 -0
- package/aws/server/aws.js +29 -0
- package/aws/server/index.d.ts +2 -9
- package/aws/server/index.js +2 -29
- package/aws/ses/server/awsSes.d.ts +4 -0
- package/aws/ses/server/awsSes.js +13 -0
- package/aws/ses/server/index.d.ts +3 -4
- package/aws/ses/server/index.js +3 -13
- package/aws/sqs/server/awsSqs.d.ts +3 -0
- package/aws/sqs/server/awsSqs.js +12 -0
- package/aws/sqs/server/index.d.ts +2 -3
- package/aws/sqs/server/index.js +2 -12
- package/aws/ssm/server/awsSsm.d.ts +3 -0
- package/aws/ssm/server/awsSsm.js +12 -0
- package/aws/ssm/server/index.d.ts +2 -3
- package/aws/ssm/server/index.js +2 -12
- package/axios/index.d.ts +3 -3
- package/axios/index.js +3 -3
- package/boolean/boolean.d.ts +4 -0
- package/boolean/boolean.js +16 -0
- package/boolean/index.d.ts +1 -4
- package/boolean/index.js +1 -16
- package/brightData/serpApi/server/brightDataSerpApi.d.ts +10 -0
- package/brightData/serpApi/server/brightDataSerpApi.js +9 -0
- package/brightData/serpApi/server/index.d.ts +6 -15
- package/brightData/serpApi/server/index.js +6 -14
- package/brightData/server/brightData.d.ts +15 -0
- package/brightData/server/brightData.js +15 -0
- package/brightData/server/index.d.ts +1 -15
- package/brightData/server/index.js +1 -15
- package/brightData/webScraperIde/server/index.d.ts +2 -2
- package/brightData/webScraperIde/server/index.js +2 -2
- package/cache/server/cache.d.ts +7 -0
- package/cache/server/cache.js +43 -0
- package/cache/server/index.d.ts +1 -7
- package/cache/server/index.js +1 -43
- package/crud/crud.d.ts +7 -0
- package/crud/crud.js +6 -0
- package/crud/index.d.ts +1 -7
- package/crud/index.js +1 -6
- package/crypto/index.d.ts +4 -4
- package/crypto/index.js +4 -4
- package/date/calculation.d.ts +1 -1
- package/date/financialYear.d.ts +1 -1
- package/date/format.d.ts +1 -1
- package/date/index.d.ts +1 -1
- package/date/index.js +1 -1
- package/environment/environment.d.ts +34 -0
- package/environment/environment.js +79 -0
- package/environment/index.d.ts +1 -34
- package/environment/index.js +1 -79
- package/eskimi/eskimi.d.ts +49 -0
- package/eskimi/eskimi.js +93 -0
- package/eskimi/index.d.ts +1 -49
- package/eskimi/index.js +1 -93
- package/googleAds/keywordPlanner/server/googleAdsKeywordPlanner.d.ts +41 -0
- package/googleAds/keywordPlanner/server/googleAdsKeywordPlanner.js +55 -0
- package/googleAds/keywordPlanner/server/index.d.ts +1 -41
- package/googleAds/keywordPlanner/server/index.js +1 -55
- package/googleAds/server/googleAds.d.ts +11 -0
- package/googleAds/server/googleAds.js +26 -0
- package/googleAds/server/index.d.ts +2 -11
- package/googleAds/server/index.js +2 -26
- package/{google/bigquery/server/GoogleBigqueryNamespace.d.ts → googleCloud/bigquery/server/GoogleCloudBigqueryNamespace.d.ts} +1 -1
- package/{google/bigquery/server/GoogleBigqueryNamespace.js → googleCloud/bigquery/server/GoogleCloudBigqueryNamespace.js} +1 -1
- package/googleCloud/bigquery/server/googleCloudBigquery.d.ts +5 -0
- package/{google/bigquery/server/index.js → googleCloud/bigquery/server/googleCloudBigquery.js} +7 -8
- package/googleCloud/bigquery/server/index.d.ts +3 -0
- package/googleCloud/bigquery/server/index.js +3 -0
- package/{google → googleCloud}/bigquery/server/loadData.d.ts +3 -3
- package/{google → googleCloud}/bigquery/server/loadData.js +3 -3
- package/googleCloud/server/index.d.ts +1 -0
- package/googleCloud/server/index.js +1 -0
- package/{google/sheets/server/GoogleSheetsNamespace.d.ts → googleCloud/sheets/server/GoogleCloudSheetsNamespace.d.ts} +1 -1
- package/{google/sheets/server/GoogleSheetsNamespace.js → googleCloud/sheets/server/GoogleCloudSheetsNamespace.js} +1 -1
- package/googleCloud/sheets/server/index.d.ts +1 -0
- package/googleCloud/sheets/server/index.js +1 -0
- package/googleCloud/storage/server/index.d.ts +2 -0
- package/googleCloud/storage/server/index.js +2 -0
- package/googlePageSpeed/server/googlePageSpeed.d.ts +19 -0
- package/googlePageSpeed/server/googlePageSpeed.js +38 -0
- package/googlePageSpeed/server/index.d.ts +2 -19
- package/googlePageSpeed/server/index.js +2 -38
- package/googleSearchIncidents/server/googleSearchIncidents.d.ts +69 -0
- package/googleSearchIncidents/server/googleSearchIncidents.js +42 -0
- package/googleSearchIncidents/server/index.d.ts +1 -69
- package/googleSearchIncidents/server/index.js +1 -42
- package/greenDomain/server/greenDomain.d.ts +21 -0
- package/greenDomain/server/greenDomain.js +37 -0
- package/greenDomain/server/index.d.ts +1 -21
- package/greenDomain/server/index.js +1 -37
- package/inngest/index.d.ts +1 -7
- package/inngest/index.js +1 -6
- package/inngest/inngest.d.ts +7 -0
- package/inngest/inngest.js +6 -0
- package/littleWarden/server/index.d.ts +2 -30
- package/littleWarden/server/index.js +2 -65
- package/littleWarden/server/littleWarden.d.ts +30 -0
- package/littleWarden/server/littleWarden.js +65 -0
- package/lumar/api/server/index.d.ts +1 -33
- package/lumar/api/server/index.js +1 -24
- package/lumar/api/server/lumarApi.d.ts +36 -0
- package/lumar/api/server/lumarApi.js +27 -0
- package/lumar/graphql/server/index.d.ts +11 -29
- package/lumar/graphql/server/index.js +11 -31
- package/lumar/graphql/server/lumarGraphql.d.ts +29 -0
- package/lumar/graphql/server/lumarGraphql.js +31 -0
- package/myTarget/server/index.d.ts +1 -5
- package/myTarget/server/index.js +1 -13
- package/myTarget/server/myTarget.d.ts +5 -0
- package/myTarget/server/myTarget.js +13 -0
- package/nextAuth/index.d.ts +2 -7
- package/nextAuth/index.js +2 -6
- package/nextAuth/nextAuth.d.ts +7 -0
- package/nextAuth/nextAuth.js +6 -0
- package/nextJs/index.d.ts +1 -12
- package/nextJs/index.js +1 -14
- package/nextJs/nextJs.d.ts +12 -0
- package/nextJs/nextJs.js +14 -0
- package/onePassword/server/index.d.ts +2 -7
- package/onePassword/server/index.js +2 -21
- package/onePassword/server/onePassword.d.ts +8 -0
- package/onePassword/server/onePassword.js +21 -0
- package/openAi/server/index.d.ts +2 -5
- package/openAi/server/index.js +2 -26
- package/openAi/server/openAi.d.ts +6 -0
- package/openAi/server/openAi.js +26 -0
- package/package.json +65 -65
- package/prisma/server/index.d.ts +2 -20
- package/prisma/server/index.js +2 -26
- package/prisma/server/prisma.d.ts +20 -0
- package/prisma/server/prisma.js +26 -0
- package/snapchat/server/index.d.ts +2 -7
- package/snapchat/server/index.js +2 -26
- package/snapchat/server/snapchat.d.ts +7 -0
- package/snapchat/server/snapchat.js +26 -0
- package/sorting/index.d.ts +1 -4
- package/sorting/index.js +1 -4
- package/sorting/sorting.d.ts +4 -0
- package/sorting/sorting.js +4 -0
- package/stream/server/index.d.ts +1 -1
- package/stream/server/index.js +1 -1
- package/string/index.d.ts +13 -12
- package/string/index.js +13 -12
- package/swr/client/index.d.ts +1 -42
- package/swr/client/index.js +1 -50
- package/swr/client/swr.d.ts +42 -0
- package/swr/client/swr.js +50 -0
- package/upTimeRobot/server/index.d.ts +2 -38
- package/upTimeRobot/server/index.js +2 -59
- package/upTimeRobot/server/upTimeRobot.d.ts +38 -0
- package/upTimeRobot/server/upTimeRobot.js +59 -0
- package/url/index.d.ts +1 -26
- package/url/index.js +1 -59
- package/url/server/index.d.ts +1 -1
- package/url/server/index.js +1 -1
- package/url/url.d.ts +26 -0
- package/url/url.js +59 -0
- package/util/index.d.ts +7 -7
- package/util/index.js +7 -7
- package/util/server/index.d.ts +4 -4
- package/util/server/index.js +4 -4
- package/webWorker/index.d.ts +1 -8
- package/webWorker/index.js +1 -7
- package/webWorker/webWorker.d.ts +8 -0
- package/webWorker/webWorker.js +7 -0
- package/google/bigquery/server/index.d.ts +0 -6
- package/google/sheets/server/index.d.ts +0 -8
- package/google/sheets/server/index.js +0 -42
- /package/api/{types.d.ts → api.d.ts} +0 -0
- /package/api/{types.js → api.js} +0 -0
- /package/date/{type.d.ts → date.d.ts} +0 -0
- /package/date/{type.js → date.js} +0 -0
- /package/{google/server/index.d.ts → googleCloud/server/googleCloud.d.ts} +0 -0
- /package/{google/server/index.js → googleCloud/server/googleCloud.js} +0 -0
- /package/{google → googleCloud}/sheets/server/getAssociatedData.d.ts +0 -0
- /package/{google → googleCloud}/sheets/server/getAssociatedData.js +0 -0
- /package/{google → googleCloud}/storage/server/GoogleCloudStorageNamespace.d.ts +0 -0
- /package/{google → googleCloud}/storage/server/GoogleCloudStorageNamespace.js +0 -0
- /package/{google/storage/server/index.d.ts → googleCloud/storage/server/googleCloudStorage.d.ts} +0 -0
- /package/{google/storage/server/index.js → googleCloud/storage/server/googleCloudStorage.js} +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const Network: {
|
|
3
|
+
readonly GOOGLE_SEARCH_ONLY: 2;
|
|
4
|
+
readonly GOOGLE_SEARCH_AND_PARTNERS: 3;
|
|
5
|
+
};
|
|
6
|
+
export type Network = typeof Network[keyof typeof Network];
|
|
7
|
+
export declare const requestSchema: z.ZodObject<{
|
|
8
|
+
countries: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
9
|
+
customerId: z.ZodOptional<z.ZodString>;
|
|
10
|
+
historicalMetricsOptions: z.ZodOptional<z.ZodObject<{
|
|
11
|
+
startMonth: z.ZodString;
|
|
12
|
+
startYear: z.ZodNumber;
|
|
13
|
+
endMonth: z.ZodString;
|
|
14
|
+
endYear: z.ZodNumber;
|
|
15
|
+
}, z.core.$strip>>;
|
|
16
|
+
includeAdultKeywords: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
keywordPlanNetwork: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
queries: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
|
+
language: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
url: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export type RequestSchemaType = z.infer<typeof requestSchema>;
|
|
23
|
+
export declare const defaultRequest: RequestSchemaType;
|
|
24
|
+
export declare const responseSchema: z.ZodObject<{
|
|
25
|
+
payload: z.ZodObject<{}, z.core.$strip>;
|
|
26
|
+
keyword: z.ZodString;
|
|
27
|
+
avgCpc: z.ZodNumber;
|
|
28
|
+
avgSearchVolume: z.ZodNumber;
|
|
29
|
+
competition: z.ZodNumber;
|
|
30
|
+
competitionIndex: z.ZodNumber;
|
|
31
|
+
months: z.ZodArray<z.ZodObject<{
|
|
32
|
+
date: z.ZodString;
|
|
33
|
+
month: z.ZodNumber;
|
|
34
|
+
searchVolume: z.ZodNumber;
|
|
35
|
+
year: z.ZodNumber;
|
|
36
|
+
}, z.core.$strip>>;
|
|
37
|
+
topOfPageBidHigh: z.ZodNumber;
|
|
38
|
+
topOfPageBidLow: z.ZodNumber;
|
|
39
|
+
totalSearchVolume: z.ZodNumber;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export type ResponseSchemaType = z.infer<typeof responseSchema>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export const Network = {
|
|
3
|
+
GOOGLE_SEARCH_ONLY: 2,
|
|
4
|
+
GOOGLE_SEARCH_AND_PARTNERS: 3,
|
|
5
|
+
};
|
|
6
|
+
export const requestSchema = z.object({
|
|
7
|
+
countries: z.array(z.number())
|
|
8
|
+
.optional(),
|
|
9
|
+
customerId: z.string()
|
|
10
|
+
.optional(),
|
|
11
|
+
historicalMetricsOptions: z.object({
|
|
12
|
+
startMonth: z.string(),
|
|
13
|
+
startYear: z.number(),
|
|
14
|
+
endMonth: z.string(),
|
|
15
|
+
endYear: z.number(),
|
|
16
|
+
})
|
|
17
|
+
.optional(),
|
|
18
|
+
includeAdultKeywords: z.boolean()
|
|
19
|
+
.optional(),
|
|
20
|
+
keywordPlanNetwork: z.number()
|
|
21
|
+
.optional(),
|
|
22
|
+
queries: z.array(z.string())
|
|
23
|
+
.optional(),
|
|
24
|
+
language: z.number()
|
|
25
|
+
.optional(),
|
|
26
|
+
url: z.string()
|
|
27
|
+
.optional(),
|
|
28
|
+
});
|
|
29
|
+
export const defaultRequest = {
|
|
30
|
+
countries: [],
|
|
31
|
+
customerId: "",
|
|
32
|
+
historicalMetricsOptions: null,
|
|
33
|
+
includeAdultKeywords: false,
|
|
34
|
+
keywordPlanNetwork: Network.GOOGLE_SEARCH_ONLY,
|
|
35
|
+
queries: [],
|
|
36
|
+
language: null,
|
|
37
|
+
};
|
|
38
|
+
export const responseSchema = z.object({
|
|
39
|
+
payload: z.object(),
|
|
40
|
+
keyword: z.string(),
|
|
41
|
+
avgCpc: z.number(),
|
|
42
|
+
avgSearchVolume: z.number(),
|
|
43
|
+
competition: z.number(),
|
|
44
|
+
competitionIndex: z.number(),
|
|
45
|
+
months: z.object({
|
|
46
|
+
date: z.string(),
|
|
47
|
+
month: z.number(),
|
|
48
|
+
searchVolume: z.number(),
|
|
49
|
+
year: z.number(),
|
|
50
|
+
})
|
|
51
|
+
.array(),
|
|
52
|
+
topOfPageBidHigh: z.number(),
|
|
53
|
+
topOfPageBidLow: z.number(),
|
|
54
|
+
totalSearchVolume: z.number(),
|
|
55
|
+
});
|
|
@@ -1,41 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Network: {
|
|
3
|
-
readonly GOOGLE_SEARCH_ONLY: 2;
|
|
4
|
-
readonly GOOGLE_SEARCH_AND_PARTNERS: 3;
|
|
5
|
-
};
|
|
6
|
-
export type Network = typeof Network[keyof typeof Network];
|
|
7
|
-
export declare const requestSchema: z.ZodObject<{
|
|
8
|
-
countries: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
9
|
-
customerId: z.ZodOptional<z.ZodString>;
|
|
10
|
-
historicalMetricsOptions: z.ZodOptional<z.ZodObject<{
|
|
11
|
-
startMonth: z.ZodString;
|
|
12
|
-
startYear: z.ZodNumber;
|
|
13
|
-
endMonth: z.ZodString;
|
|
14
|
-
endYear: z.ZodNumber;
|
|
15
|
-
}, z.core.$strip>>;
|
|
16
|
-
includeAdultKeywords: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
-
keywordPlanNetwork: z.ZodOptional<z.ZodNumber>;
|
|
18
|
-
queries: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
|
-
language: z.ZodOptional<z.ZodNumber>;
|
|
20
|
-
url: z.ZodOptional<z.ZodString>;
|
|
21
|
-
}, z.core.$strip>;
|
|
22
|
-
export type RequestSchemaType = z.infer<typeof requestSchema>;
|
|
23
|
-
export declare const defaultRequest: RequestSchemaType;
|
|
24
|
-
export declare const responseSchema: z.ZodObject<{
|
|
25
|
-
payload: z.ZodObject<{}, z.core.$strip>;
|
|
26
|
-
keyword: z.ZodString;
|
|
27
|
-
avgCpc: z.ZodNumber;
|
|
28
|
-
avgSearchVolume: z.ZodNumber;
|
|
29
|
-
competition: z.ZodNumber;
|
|
30
|
-
competitionIndex: z.ZodNumber;
|
|
31
|
-
months: z.ZodArray<z.ZodObject<{
|
|
32
|
-
date: z.ZodString;
|
|
33
|
-
month: z.ZodNumber;
|
|
34
|
-
searchVolume: z.ZodNumber;
|
|
35
|
-
year: z.ZodNumber;
|
|
36
|
-
}, z.core.$strip>>;
|
|
37
|
-
topOfPageBidHigh: z.ZodNumber;
|
|
38
|
-
topOfPageBidLow: z.ZodNumber;
|
|
39
|
-
totalSearchVolume: z.ZodNumber;
|
|
40
|
-
}, z.core.$strip>;
|
|
41
|
-
export type ResponseSchemaType = z.infer<typeof responseSchema>;
|
|
1
|
+
export * from "./googleAdsKeywordPlanner";
|
|
@@ -1,55 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export const Network = {
|
|
3
|
-
GOOGLE_SEARCH_ONLY: 2,
|
|
4
|
-
GOOGLE_SEARCH_AND_PARTNERS: 3,
|
|
5
|
-
};
|
|
6
|
-
export const requestSchema = z.object({
|
|
7
|
-
countries: z.array(z.number())
|
|
8
|
-
.optional(),
|
|
9
|
-
customerId: z.string()
|
|
10
|
-
.optional(),
|
|
11
|
-
historicalMetricsOptions: z.object({
|
|
12
|
-
startMonth: z.string(),
|
|
13
|
-
startYear: z.number(),
|
|
14
|
-
endMonth: z.string(),
|
|
15
|
-
endYear: z.number(),
|
|
16
|
-
})
|
|
17
|
-
.optional(),
|
|
18
|
-
includeAdultKeywords: z.boolean()
|
|
19
|
-
.optional(),
|
|
20
|
-
keywordPlanNetwork: z.number()
|
|
21
|
-
.optional(),
|
|
22
|
-
queries: z.array(z.string())
|
|
23
|
-
.optional(),
|
|
24
|
-
language: z.number()
|
|
25
|
-
.optional(),
|
|
26
|
-
url: z.string()
|
|
27
|
-
.optional(),
|
|
28
|
-
});
|
|
29
|
-
export const defaultRequest = {
|
|
30
|
-
countries: [],
|
|
31
|
-
customerId: "",
|
|
32
|
-
historicalMetricsOptions: null,
|
|
33
|
-
includeAdultKeywords: false,
|
|
34
|
-
keywordPlanNetwork: Network.GOOGLE_SEARCH_ONLY,
|
|
35
|
-
queries: [],
|
|
36
|
-
language: null,
|
|
37
|
-
};
|
|
38
|
-
export const responseSchema = z.object({
|
|
39
|
-
payload: z.object(),
|
|
40
|
-
keyword: z.string(),
|
|
41
|
-
avgCpc: z.number(),
|
|
42
|
-
avgSearchVolume: z.number(),
|
|
43
|
-
competition: z.number(),
|
|
44
|
-
competitionIndex: z.number(),
|
|
45
|
-
months: z.object({
|
|
46
|
-
date: z.string(),
|
|
47
|
-
month: z.number(),
|
|
48
|
-
searchVolume: z.number(),
|
|
49
|
-
year: z.number(),
|
|
50
|
-
})
|
|
51
|
-
.array(),
|
|
52
|
-
topOfPageBidHigh: z.number(),
|
|
53
|
-
topOfPageBidLow: z.number(),
|
|
54
|
-
totalSearchVolume: z.number(),
|
|
55
|
-
});
|
|
1
|
+
export * from "./googleAdsKeywordPlanner";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GoogleAdsNamespace } from "./GoogleAdsNamespace";
|
|
2
|
+
export type Config = {
|
|
3
|
+
client: {
|
|
4
|
+
clientId: string;
|
|
5
|
+
clientSecret: string;
|
|
6
|
+
developerToken: string;
|
|
7
|
+
};
|
|
8
|
+
mccAccountId: string;
|
|
9
|
+
refreshToken: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const googleAdsClient: (key?: string, config?: Config, vaultId?: string, itemId?: string) => Promise<GoogleAdsNamespace>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { GoogleAdsNamespace } from "./GoogleAdsNamespace";
|
|
2
|
+
import { onePasswordClient } from "../../onePassword/server";
|
|
3
|
+
const googleAdsNamespaces = new Map();
|
|
4
|
+
export const googleAdsClient = async (key = "default", config, vaultId, itemId) => {
|
|
5
|
+
if (googleAdsNamespaces.has(key)) {
|
|
6
|
+
return googleAdsNamespaces.get(key);
|
|
7
|
+
}
|
|
8
|
+
let instanceConfig;
|
|
9
|
+
if (config) {
|
|
10
|
+
instanceConfig = config;
|
|
11
|
+
}
|
|
12
|
+
else if (vaultId && itemId) {
|
|
13
|
+
instanceConfig = await (await onePasswordClient())
|
|
14
|
+
.getJsonNote(vaultId, itemId);
|
|
15
|
+
}
|
|
16
|
+
else if (process.env.GOOGLE_ADS_VAULT_ID && process.env.GOOGLE_ADS_ITEM_ID) {
|
|
17
|
+
instanceConfig = await (await onePasswordClient())
|
|
18
|
+
.getJsonNote(process.env.GOOGLE_ADS_VAULT_ID, process.env.GOOGLE_ADS_ITEM_ID);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw new Error(`Config required for namespace '${key}'`);
|
|
22
|
+
}
|
|
23
|
+
const namespace = new GoogleAdsNamespace(key, instanceConfig);
|
|
24
|
+
googleAdsNamespaces.set(key, namespace);
|
|
25
|
+
return namespace;
|
|
26
|
+
};
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
client: {
|
|
4
|
-
clientId: string;
|
|
5
|
-
clientSecret: string;
|
|
6
|
-
developerToken: string;
|
|
7
|
-
};
|
|
8
|
-
mccAccountId: string;
|
|
9
|
-
refreshToken: string;
|
|
10
|
-
};
|
|
11
|
-
export declare const googleAdsClient: (key?: string, config?: Config, vaultId?: string, itemId?: string) => Promise<GoogleAdsNamespace>;
|
|
1
|
+
export * from "./googleAds";
|
|
2
|
+
export * from "./GoogleAdsNamespace";
|
|
@@ -1,26 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const googleAdsNamespaces = new Map();
|
|
4
|
-
export const googleAdsClient = async (key = "default", config, vaultId, itemId) => {
|
|
5
|
-
if (googleAdsNamespaces.has(key)) {
|
|
6
|
-
return googleAdsNamespaces.get(key);
|
|
7
|
-
}
|
|
8
|
-
let instanceConfig;
|
|
9
|
-
if (config) {
|
|
10
|
-
instanceConfig = config;
|
|
11
|
-
}
|
|
12
|
-
else if (vaultId && itemId) {
|
|
13
|
-
instanceConfig = await (await onePasswordClient())
|
|
14
|
-
.getJsonNote(vaultId, itemId);
|
|
15
|
-
}
|
|
16
|
-
else if (process.env.GOOGLE_ADS_VAULT_ID && process.env.GOOGLE_ADS_ITEM_ID) {
|
|
17
|
-
instanceConfig = await (await onePasswordClient())
|
|
18
|
-
.getJsonNote(process.env.GOOGLE_ADS_VAULT_ID, process.env.GOOGLE_ADS_ITEM_ID);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
throw new Error(`Config required for namespace '${key}'`);
|
|
22
|
-
}
|
|
23
|
-
const namespace = new GoogleAdsNamespace(key, instanceConfig);
|
|
24
|
-
googleAdsNamespaces.set(key, namespace);
|
|
25
|
-
return namespace;
|
|
26
|
-
};
|
|
1
|
+
export * from "./googleAds";
|
|
2
|
+
export * from "./GoogleAdsNamespace";
|
|
@@ -14,7 +14,7 @@ type Dataset = {
|
|
|
14
14
|
type Table = {
|
|
15
15
|
id: string;
|
|
16
16
|
};
|
|
17
|
-
export declare class
|
|
17
|
+
export declare class GoogleCloudBigqueryNamespace extends BaseNamespace {
|
|
18
18
|
client: BigQuery;
|
|
19
19
|
config: GoogleCloudConfig & {
|
|
20
20
|
projectId?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseNamespace } from "../../../_class";
|
|
2
2
|
import { getConfig } from "../../server";
|
|
3
|
-
export class
|
|
3
|
+
export class GoogleCloudBigqueryNamespace extends BaseNamespace {
|
|
4
4
|
ensureInit = async () => {
|
|
5
5
|
if (!this.client) {
|
|
6
6
|
try {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { GoogleCloudBigqueryNamespace } from "./GoogleCloudBigqueryNamespace";
|
|
2
|
+
export type { GoogleCloudBigqueryNamespace } from "./GoogleCloudBigqueryNamespace";
|
|
3
|
+
import type { GoogleAuthOptions } from "@google-cloud/common";
|
|
4
|
+
export declare const googleCloudBigqueryClient: (key?: string, projectId?: string, config?: GoogleAuthOptions, vaultId?: string, itemId?: string) => Promise<GoogleCloudBigqueryNamespace>;
|
|
5
|
+
export declare const getHandlerPath: (input: string) => string;
|
package/{google/bigquery/server/index.js → googleCloud/bigquery/server/googleCloudBigquery.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GoogleCloudBigqueryNamespace } from "./GoogleCloudBigqueryNamespace";
|
|
2
2
|
import { onePasswordClient } from "../../../onePassword/server";
|
|
3
|
-
const
|
|
4
|
-
export const
|
|
5
|
-
if (
|
|
6
|
-
return
|
|
3
|
+
const googleCloudBigqueryNamespaces = new Map();
|
|
4
|
+
export const googleCloudBigqueryClient = async (key = "default", projectId, config, vaultId, itemId) => {
|
|
5
|
+
if (googleCloudBigqueryNamespaces.has(key)) {
|
|
6
|
+
return googleCloudBigqueryNamespaces.get(key);
|
|
7
7
|
}
|
|
8
8
|
let instanceConfig;
|
|
9
9
|
if (config) {
|
|
@@ -31,12 +31,11 @@ export const googleBigqueryClient = async (key = "default", projectId, config, v
|
|
|
31
31
|
else {
|
|
32
32
|
throw new Error(`Config required for namespace '${key}'`);
|
|
33
33
|
}
|
|
34
|
-
const namespace = new
|
|
35
|
-
|
|
34
|
+
const namespace = new GoogleCloudBigqueryNamespace(key, instanceConfig);
|
|
35
|
+
googleCloudBigqueryNamespaces.set(key, namespace);
|
|
36
36
|
return namespace;
|
|
37
37
|
};
|
|
38
38
|
export const getHandlerPath = (input) => {
|
|
39
39
|
return `${input.split(process.cwd())[1].substring(1)
|
|
40
40
|
.replace(/\\/g, "/")}`;
|
|
41
41
|
};
|
|
42
|
-
export { loadData } from "./loadData";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GoogleCloudBigqueryNamespace } from "./GoogleCloudBigqueryNamespace";
|
|
2
2
|
type LoadData = {
|
|
3
|
-
|
|
3
|
+
googleCloudBigqueryClient: GoogleCloudBigqueryNamespace;
|
|
4
4
|
googleCloudStorageClient: any;
|
|
5
5
|
file: {
|
|
6
6
|
bucket: string;
|
|
@@ -15,5 +15,5 @@ type LoadData = {
|
|
|
15
15
|
/**
|
|
16
16
|
* Load data into a given table using Google Cloud Storage.
|
|
17
17
|
*/
|
|
18
|
-
export declare const loadData: ({ file,
|
|
18
|
+
export declare const loadData: ({ file, googleCloudBigqueryClient, googleCloudStorageClient, table }: LoadData) => Promise<void>;
|
|
19
19
|
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Load data into a given table using Google Cloud Storage.
|
|
3
3
|
*/
|
|
4
|
-
export const loadData = async ({ file,
|
|
5
|
-
const tableExists = await
|
|
4
|
+
export const loadData = async ({ file, googleCloudBigqueryClient, googleCloudStorageClient, table }) => {
|
|
5
|
+
const tableExists = await googleCloudBigqueryClient.tableExists(table.datasetId, table.tableId);
|
|
6
6
|
if (tableExists) {
|
|
7
|
-
await
|
|
7
|
+
await googleCloudBigqueryClient.client
|
|
8
8
|
.dataset(table.datasetId)
|
|
9
9
|
.table(table.tableId)
|
|
10
10
|
.load(googleCloudStorageClient.client
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./googleCloud";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./googleCloud";
|
|
@@ -7,7 +7,7 @@ type GetBatchDataProps = {
|
|
|
7
7
|
dateTimeRender?: string;
|
|
8
8
|
valueRender?: string;
|
|
9
9
|
};
|
|
10
|
-
export declare class
|
|
10
|
+
export declare class GoogleCloudSheetsNamespace extends BaseNamespace {
|
|
11
11
|
client: GoogleAuth;
|
|
12
12
|
config: GoogleCloudConfig & {
|
|
13
13
|
projectId?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseNamespace } from "../../../_class";
|
|
2
2
|
import { getConfig } from "../../server";
|
|
3
|
-
export class
|
|
3
|
+
export class GoogleCloudSheetsNamespace extends BaseNamespace {
|
|
4
4
|
ensureInit = async () => {
|
|
5
5
|
if (!this.client) {
|
|
6
6
|
try {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./GoogleCloudSheetsNamespace";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./GoogleCloudSheetsNamespace";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GooglePageSpeedNamespace } from "./GooglePageSpeedNamespace";
|
|
2
|
+
export type GooglePageSpeedConfig = {
|
|
3
|
+
apiKey: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const googlePageSpeedClient: (key?: string, config?: GooglePageSpeedConfig, vaultId?: string, itemId?: string) => Promise<GooglePageSpeedNamespace>;
|
|
6
|
+
export declare const Category: {
|
|
7
|
+
readonly CATEGORY_UNSPECIFIED: "CATEGORY_UNSPECIFIED";
|
|
8
|
+
readonly ACCESSIBILITY: "ACCESSIBILITY";
|
|
9
|
+
readonly BEST_PRACTICES: "BEST_PRACTICES";
|
|
10
|
+
readonly PERFORMANCE: "PERFORMANCE";
|
|
11
|
+
readonly SEO: "SEO";
|
|
12
|
+
};
|
|
13
|
+
export type Category = typeof Category[keyof typeof Category];
|
|
14
|
+
export declare const Strategy: {
|
|
15
|
+
readonly STRATEGY_UNSPECIFIED: "STRATEGY_UNSPECIFIED";
|
|
16
|
+
readonly DESKTOP: "DESKTOP";
|
|
17
|
+
readonly MOBILE: "MOBILE";
|
|
18
|
+
};
|
|
19
|
+
export type Strategy = typeof Strategy[keyof typeof Strategy];
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { GooglePageSpeedNamespace } from "./GooglePageSpeedNamespace";
|
|
2
|
+
import { onePasswordClient } from "../../onePassword/server";
|
|
3
|
+
const googlePageSpeedNamespaces = new Map();
|
|
4
|
+
export const googlePageSpeedClient = async (key = "default", config, vaultId, itemId) => {
|
|
5
|
+
if (googlePageSpeedNamespaces.has(key)) {
|
|
6
|
+
return googlePageSpeedNamespaces.get(key);
|
|
7
|
+
}
|
|
8
|
+
let instanceConfig;
|
|
9
|
+
if (config) {
|
|
10
|
+
instanceConfig = config;
|
|
11
|
+
}
|
|
12
|
+
else if (vaultId && itemId) {
|
|
13
|
+
instanceConfig = await (await onePasswordClient())
|
|
14
|
+
.getJsonNote(vaultId, itemId);
|
|
15
|
+
}
|
|
16
|
+
else if (process.env.GOOGLE_PAGE_SPEED_VAULT_ID && process.env.GOOGLE_PAGE_SPEED_ITEM_ID) {
|
|
17
|
+
instanceConfig = await (await onePasswordClient())
|
|
18
|
+
.getJsonNote(process.env.GOOGLE_PAGE_SPEED_VAULT_ID, process.env.GOOGLE_PAGE_SPEED_ITEM_ID);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw new Error(`Config required for namespace '${key}'`);
|
|
22
|
+
}
|
|
23
|
+
const namespace = new GooglePageSpeedNamespace(key, instanceConfig);
|
|
24
|
+
googlePageSpeedNamespaces.set(key, namespace);
|
|
25
|
+
return namespace;
|
|
26
|
+
};
|
|
27
|
+
export const Category = {
|
|
28
|
+
CATEGORY_UNSPECIFIED: "CATEGORY_UNSPECIFIED",
|
|
29
|
+
ACCESSIBILITY: "ACCESSIBILITY",
|
|
30
|
+
BEST_PRACTICES: "BEST_PRACTICES",
|
|
31
|
+
PERFORMANCE: "PERFORMANCE",
|
|
32
|
+
SEO: "SEO",
|
|
33
|
+
};
|
|
34
|
+
export const Strategy = {
|
|
35
|
+
STRATEGY_UNSPECIFIED: "STRATEGY_UNSPECIFIED",
|
|
36
|
+
DESKTOP: "DESKTOP",
|
|
37
|
+
MOBILE: "MOBILE",
|
|
38
|
+
};
|
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
apiKey: string;
|
|
4
|
-
};
|
|
5
|
-
export declare const googlePageSpeedClient: (key?: string, config?: GooglePageSpeedConfig, vaultId?: string, itemId?: string) => Promise<GooglePageSpeedNamespace>;
|
|
6
|
-
export declare const Category: {
|
|
7
|
-
readonly CATEGORY_UNSPECIFIED: "CATEGORY_UNSPECIFIED";
|
|
8
|
-
readonly ACCESSIBILITY: "ACCESSIBILITY";
|
|
9
|
-
readonly BEST_PRACTICES: "BEST_PRACTICES";
|
|
10
|
-
readonly PERFORMANCE: "PERFORMANCE";
|
|
11
|
-
readonly SEO: "SEO";
|
|
12
|
-
};
|
|
13
|
-
export type Category = typeof Category[keyof typeof Category];
|
|
14
|
-
export declare const Strategy: {
|
|
15
|
-
readonly STRATEGY_UNSPECIFIED: "STRATEGY_UNSPECIFIED";
|
|
16
|
-
readonly DESKTOP: "DESKTOP";
|
|
17
|
-
readonly MOBILE: "MOBILE";
|
|
18
|
-
};
|
|
19
|
-
export type Strategy = typeof Strategy[keyof typeof Strategy];
|
|
1
|
+
export * from "./googlePageSpeed";
|
|
2
|
+
export * from "./GooglePageSpeedNamespace";
|
|
@@ -1,38 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const googlePageSpeedNamespaces = new Map();
|
|
4
|
-
export const googlePageSpeedClient = async (key = "default", config, vaultId, itemId) => {
|
|
5
|
-
if (googlePageSpeedNamespaces.has(key)) {
|
|
6
|
-
return googlePageSpeedNamespaces.get(key);
|
|
7
|
-
}
|
|
8
|
-
let instanceConfig;
|
|
9
|
-
if (config) {
|
|
10
|
-
instanceConfig = config;
|
|
11
|
-
}
|
|
12
|
-
else if (vaultId && itemId) {
|
|
13
|
-
instanceConfig = await (await onePasswordClient())
|
|
14
|
-
.getJsonNote(vaultId, itemId);
|
|
15
|
-
}
|
|
16
|
-
else if (process.env.GOOGLE_PAGE_SPEED_VAULT_ID && process.env.GOOGLE_PAGE_SPEED_ITEM_ID) {
|
|
17
|
-
instanceConfig = await (await onePasswordClient())
|
|
18
|
-
.getJsonNote(process.env.GOOGLE_PAGE_SPEED_VAULT_ID, process.env.GOOGLE_PAGE_SPEED_ITEM_ID);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
throw new Error(`Config required for namespace '${key}'`);
|
|
22
|
-
}
|
|
23
|
-
const namespace = new GooglePageSpeedNamespace(key, instanceConfig);
|
|
24
|
-
googlePageSpeedNamespaces.set(key, namespace);
|
|
25
|
-
return namespace;
|
|
26
|
-
};
|
|
27
|
-
export const Category = {
|
|
28
|
-
CATEGORY_UNSPECIFIED: "CATEGORY_UNSPECIFIED",
|
|
29
|
-
ACCESSIBILITY: "ACCESSIBILITY",
|
|
30
|
-
BEST_PRACTICES: "BEST_PRACTICES",
|
|
31
|
-
PERFORMANCE: "PERFORMANCE",
|
|
32
|
-
SEO: "SEO",
|
|
33
|
-
};
|
|
34
|
-
export const Strategy = {
|
|
35
|
-
STRATEGY_UNSPECIFIED: "STRATEGY_UNSPECIFIED",
|
|
36
|
-
DESKTOP: "DESKTOP",
|
|
37
|
-
MOBILE: "MOBILE",
|
|
38
|
-
};
|
|
1
|
+
export * from "./googlePageSpeed";
|
|
2
|
+
export * from "./GooglePageSpeedNamespace";
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
/**
|
|
3
|
+
* https://status.search.google.com/summary
|
|
4
|
+
*/
|
|
5
|
+
export declare const getReport: () => Promise<any>;
|
|
6
|
+
export declare const updateSchema: z.ZodObject<{
|
|
7
|
+
created: z.ZodString;
|
|
8
|
+
modified: z.ZodString;
|
|
9
|
+
when: z.ZodString;
|
|
10
|
+
text: z.ZodString;
|
|
11
|
+
status: z.ZodEnum<{
|
|
12
|
+
AVAILABLE: "AVAILABLE";
|
|
13
|
+
SERVICE_DISRUPTION: "SERVICE_DISRUPTION";
|
|
14
|
+
SERVICE_INFORMATION: "SERVICE_INFORMATION";
|
|
15
|
+
}>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type UpdateSchemaType = z.infer<typeof updateSchema>;
|
|
18
|
+
export declare const incidentSchema: z.ZodArray<z.ZodObject<{
|
|
19
|
+
id: z.ZodString;
|
|
20
|
+
number: z.ZodString;
|
|
21
|
+
begin: z.ZodString;
|
|
22
|
+
created: z.ZodString;
|
|
23
|
+
end: z.ZodOptional<z.ZodString>;
|
|
24
|
+
modified: z.ZodString;
|
|
25
|
+
external_desc: z.ZodString;
|
|
26
|
+
updates: z.ZodArray<z.ZodObject<{
|
|
27
|
+
created: z.ZodString;
|
|
28
|
+
modified: z.ZodString;
|
|
29
|
+
when: z.ZodString;
|
|
30
|
+
text: z.ZodString;
|
|
31
|
+
status: z.ZodEnum<{
|
|
32
|
+
AVAILABLE: "AVAILABLE";
|
|
33
|
+
SERVICE_DISRUPTION: "SERVICE_DISRUPTION";
|
|
34
|
+
SERVICE_INFORMATION: "SERVICE_INFORMATION";
|
|
35
|
+
}>;
|
|
36
|
+
}, z.core.$strip>>;
|
|
37
|
+
most_recent_update: z.ZodObject<{
|
|
38
|
+
created: z.ZodString;
|
|
39
|
+
modified: z.ZodString;
|
|
40
|
+
when: z.ZodString;
|
|
41
|
+
text: z.ZodString;
|
|
42
|
+
status: z.ZodEnum<{
|
|
43
|
+
AVAILABLE: "AVAILABLE";
|
|
44
|
+
SERVICE_DISRUPTION: "SERVICE_DISRUPTION";
|
|
45
|
+
SERVICE_INFORMATION: "SERVICE_INFORMATION";
|
|
46
|
+
}>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
status_impact: z.ZodEnum<{
|
|
49
|
+
SERVICE_DISRUPTION: "SERVICE_DISRUPTION";
|
|
50
|
+
SERVICE_INFORMATION: "SERVICE_INFORMATION";
|
|
51
|
+
}>;
|
|
52
|
+
severity: z.ZodEnum<{
|
|
53
|
+
high: "high";
|
|
54
|
+
low: "low";
|
|
55
|
+
medium: "medium";
|
|
56
|
+
}>;
|
|
57
|
+
service_key: z.ZodString;
|
|
58
|
+
service_name: z.ZodEnum<{
|
|
59
|
+
Indexing: "Indexing";
|
|
60
|
+
Ranking: "Ranking";
|
|
61
|
+
Serving: "Serving";
|
|
62
|
+
}>;
|
|
63
|
+
affected_products: z.ZodArray<z.ZodObject<{
|
|
64
|
+
title: z.ZodString;
|
|
65
|
+
id: z.ZodString;
|
|
66
|
+
}, z.core.$strip>>;
|
|
67
|
+
uri: z.ZodString;
|
|
68
|
+
}, z.core.$strip>>;
|
|
69
|
+
export type IncidentSchemaType = z.infer<typeof incidentSchema>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { get } from "../../axios";
|
|
2
|
+
import { z } from "zod/v4";
|
|
3
|
+
/**
|
|
4
|
+
* https://status.search.google.com/summary
|
|
5
|
+
*/
|
|
6
|
+
export const getReport = async () => {
|
|
7
|
+
const url = "https://status.search.google.com/incidents.json";
|
|
8
|
+
const apiResponse = await get(url);
|
|
9
|
+
if (apiResponse.isSuccess()) {
|
|
10
|
+
return apiResponse.getBody();
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
};
|
|
14
|
+
export const updateSchema = z.object({
|
|
15
|
+
created: z.string(),
|
|
16
|
+
modified: z.string(),
|
|
17
|
+
when: z.string(),
|
|
18
|
+
text: z.string(),
|
|
19
|
+
status: z.enum(["AVAILABLE", "SERVICE_DISRUPTION", "SERVICE_INFORMATION"]),
|
|
20
|
+
});
|
|
21
|
+
export const incidentSchema = z.object({
|
|
22
|
+
id: z.string(),
|
|
23
|
+
number: z.string(),
|
|
24
|
+
begin: z.string(),
|
|
25
|
+
created: z.string(),
|
|
26
|
+
end: z.string().optional(),
|
|
27
|
+
modified: z.string(),
|
|
28
|
+
external_desc: z.string(),
|
|
29
|
+
updates: updateSchema.array(),
|
|
30
|
+
most_recent_update: updateSchema,
|
|
31
|
+
status_impact: z.enum(["SERVICE_DISRUPTION", "SERVICE_INFORMATION"]),
|
|
32
|
+
severity: z.enum(["low", "medium", "high"]),
|
|
33
|
+
service_key: z.string(),
|
|
34
|
+
service_name: z.enum(["Indexing", "Ranking", "Serving"]),
|
|
35
|
+
affected_products: z.object({
|
|
36
|
+
title: z.string(),
|
|
37
|
+
id: z.string(),
|
|
38
|
+
})
|
|
39
|
+
.array(),
|
|
40
|
+
uri: z.string(),
|
|
41
|
+
})
|
|
42
|
+
.array();
|