@gscdump/contracts 5.5.0 → 5.7.0
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/dist/analytics.d.mts +2 -2
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +2 -2
- package/dist/partner.d.mts +3 -2
- package/dist/partner.mjs +2 -1
- package/dist/schemas.d.mts +15 -0
- package/dist/schemas.mjs +5 -1
- package/dist/site-version.d.mts +380 -0
- package/dist/site-version.mjs +102 -0
- package/dist/types.d.mts +5 -0
- package/dist/v1/browser.d.mts +1 -1
- package/dist/v1/http-core.d.mts +1 -1
- package/dist/v1/http-core.mjs +2 -0
- package/dist/v1/operations.d.mts +3217 -208
- package/dist/v1/operations.mjs +479 -2
- package/dist/v1/route-catalog.d.mts +35 -0
- package/dist/v1/route-catalog.mjs +35 -0
- package/package.json +1 -1
package/dist/v1/operations.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { siteHoldReasonSchema } from "../entitlements.mjs";
|
|
2
2
|
import { watchedUrlsChangeRequestSchema, watchedUrlsChangeResponseSchema, watchedUrlsResponseSchema } from "../indexing-coverage.mjs";
|
|
3
|
-
import { addPartnerTeamMemberSchema, bindPartnerSiteTeamSchema, bindPartnerTeamCatalogResponseSchema, bindPartnerTeamCatalogSchema, builderStateSchema, createPartnerTeamSchema, gscComparisonFilterSchema, gscdumpAnalysisBundleResponseSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingTransitionFieldSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpPageTrendResponseSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapExportQuerySchema, gscdumpSitemapExportResponseSchema, gscdumpSitemapMembershipParamsSchema, gscdumpSitemapMembershipResponseSchema, gscdumpSitemapUrlsQuerySchema, gscdumpSitemapUrlsResponseSchema, gscdumpSitemapsResponseSchema, gscdumpTeamRoleSchema, gscdumpTopAssociationResponseSchema, gscdumpUserRegistrationSchema, indexingUrlsResponseSchema, partnerSiteTeamBindingResponseSchema, partnerSitemapActionResponseSchema, partnerSitemapActionSchema, partnerTeamCreatedResponseSchema, partnerTeamDeletedResponseSchema, partnerTeamMemberAddedResponseSchema, partnerTeamMemberRemovedResponseSchema, partnerTeamMemberRoleResponseSchema, partnerTeamMembersResponseSchema, partnerTeamRenamedResponseSchema, registerPartnerSiteSchema, registerPartnerUserSchema, renamePartnerTeamSchema, searchTypeSchema, siteIntIdCrosswalkResponseSchema, sitemapChangesTruncationReasonSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema } from "../schemas.mjs";
|
|
3
|
+
import { addPartnerTeamMemberSchema, bindPartnerSiteTeamSchema, bindPartnerTeamCatalogResponseSchema, bindPartnerTeamCatalogSchema, builderStateSchema, createPartnerTeamSchema, gscComparisonFilterSchema, gscComparisonOrderBySchema, gscdumpAnalysisBundleResponseSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingTransitionFieldSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpPageTrendResponseSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapExportQuerySchema, gscdumpSitemapExportResponseSchema, gscdumpSitemapMembershipParamsSchema, gscdumpSitemapMembershipResponseSchema, gscdumpSitemapUrlsQuerySchema, gscdumpSitemapUrlsResponseSchema, gscdumpSitemapsResponseSchema, gscdumpTeamRoleSchema, gscdumpTopAssociationResponseSchema, gscdumpUserRegistrationSchema, indexingUrlsResponseSchema, partnerSiteTeamBindingResponseSchema, partnerSitemapActionResponseSchema, partnerSitemapActionSchema, partnerTeamCreatedResponseSchema, partnerTeamDeletedResponseSchema, partnerTeamMemberAddedResponseSchema, partnerTeamMemberRemovedResponseSchema, partnerTeamMemberRoleResponseSchema, partnerTeamMembersResponseSchema, partnerTeamRenamedResponseSchema, registerPartnerSiteSchema, registerPartnerUserSchema, renamePartnerTeamSchema, searchTypeSchema, siteIntIdCrosswalkResponseSchema, sitemapChangesTruncationReasonSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema } from "../schemas.mjs";
|
|
4
|
+
import { siteVersionBeginRequestSchema, siteVersionCandidateRequestSchema, siteVersionCandidateSchema, siteVersionIdentityResponseSchema, siteVersionPreviewRequestSchema, siteVersionPreviewSchema } from "../site-version.mjs";
|
|
4
5
|
import "./version.mjs";
|
|
5
6
|
import { HTTP_V1_ERROR_CODES, defineHttpOperation, defineHttpSurface, defineResponseObject, defineSuccessResponse } from "./http-core.mjs";
|
|
6
7
|
import { analyticsCoverageQueryV1Schema, analyticsCoverageV1Schemas } from "./analytics-coverage.mjs";
|
|
@@ -85,7 +86,11 @@ function createGscdumpV1Protocol() {
|
|
|
85
86
|
const analyticsReportRequest = z.strictObject({
|
|
86
87
|
state: analyticsListReportState,
|
|
87
88
|
comparison: analyticsListReportState.optional(),
|
|
88
|
-
filter: gscComparisonFilterSchema.optional()
|
|
89
|
+
filter: gscComparisonFilterSchema.optional(),
|
|
90
|
+
comparisonOrderBy: gscComparisonOrderBySchema.optional()
|
|
91
|
+
}).refine((request) => request.comparisonOrderBy === void 0 || request.comparison !== void 0, {
|
|
92
|
+
message: "comparisonOrderBy requires a comparison window.",
|
|
93
|
+
path: ["comparisonOrderBy"]
|
|
89
94
|
});
|
|
90
95
|
const analyticsReportDetailRequest = z.strictObject({
|
|
91
96
|
state: analyticsDetailReportState,
|
|
@@ -778,6 +783,63 @@ function createGscdumpV1Protocol() {
|
|
|
778
783
|
"internal_error",
|
|
779
784
|
"contract_violation"
|
|
780
785
|
];
|
|
786
|
+
const siteVersionErrors = [
|
|
787
|
+
...partnerSiteErrors,
|
|
788
|
+
"conflict",
|
|
789
|
+
"service_unavailable"
|
|
790
|
+
];
|
|
791
|
+
const siteVersionIdentityResponse = defineSuccessResponse({
|
|
792
|
+
producer: siteVersionIdentityResponseSchema,
|
|
793
|
+
client: siteVersionIdentityResponseSchema
|
|
794
|
+
}, partnerResponseMeta);
|
|
795
|
+
const siteVersionPreviewResponse = defineSuccessResponse({
|
|
796
|
+
producer: siteVersionPreviewSchema,
|
|
797
|
+
client: siteVersionPreviewSchema
|
|
798
|
+
}, partnerResponseMeta);
|
|
799
|
+
const siteVersionCandidateResponse = defineSuccessResponse({
|
|
800
|
+
producer: siteVersionCandidateSchema,
|
|
801
|
+
client: siteVersionCandidateSchema
|
|
802
|
+
}, partnerResponseMeta);
|
|
803
|
+
const siteVersionExampleIdentity = {
|
|
804
|
+
siteId: "s_01",
|
|
805
|
+
userId: "u_01",
|
|
806
|
+
teamId: "t_01",
|
|
807
|
+
requestedUrl: "https://example.com/",
|
|
808
|
+
catalogSiteId: 17,
|
|
809
|
+
warehouse: "team_catalog",
|
|
810
|
+
namespace: "gsc",
|
|
811
|
+
version: 0,
|
|
812
|
+
revision: 1,
|
|
813
|
+
catalogRevision: 1,
|
|
814
|
+
dataVersion: 1
|
|
815
|
+
};
|
|
816
|
+
const siteVersionExamplePreview = {
|
|
817
|
+
_tag: "eligible",
|
|
818
|
+
identity: siteVersionExampleIdentity,
|
|
819
|
+
requestedUrl: "https://www.example.com/",
|
|
820
|
+
window: {
|
|
821
|
+
startDate: "2026-09-05",
|
|
822
|
+
endDate: "2026-10-02"
|
|
823
|
+
},
|
|
824
|
+
requiredSlices: [{
|
|
825
|
+
table: "dates",
|
|
826
|
+
searchType: "web"
|
|
827
|
+
}],
|
|
828
|
+
candidateNamespace: "gsc_v1",
|
|
829
|
+
candidateVersion: 1
|
|
830
|
+
};
|
|
831
|
+
const siteVersionExampleCandidate = {
|
|
832
|
+
version: 1,
|
|
833
|
+
namespace: "gsc_v1",
|
|
834
|
+
requestedUrl: "https://www.example.com/",
|
|
835
|
+
window: siteVersionExamplePreview.window,
|
|
836
|
+
requiredSlices: siteVersionExamplePreview.requiredSlices
|
|
837
|
+
};
|
|
838
|
+
const siteVersionExampleMeta = {
|
|
839
|
+
requestId: "req_01",
|
|
840
|
+
surface: "partner",
|
|
841
|
+
version: "1.0"
|
|
842
|
+
};
|
|
781
843
|
const partnerUserErrors = [
|
|
782
844
|
"invalid_request",
|
|
783
845
|
"unauthorized",
|
|
@@ -5799,6 +5861,421 @@ function createGscdumpV1Protocol() {
|
|
|
5799
5861
|
}
|
|
5800
5862
|
}
|
|
5801
5863
|
}
|
|
5864
|
+
}),
|
|
5865
|
+
getRegisteredHostIdentity: defineHttpOperation({
|
|
5866
|
+
...gscdumpV1OperationRoute("partner.sites.registered_host.identity.get"),
|
|
5867
|
+
visibility: "public",
|
|
5868
|
+
semantics: {
|
|
5869
|
+
kind: "query",
|
|
5870
|
+
sideEffects: "none",
|
|
5871
|
+
idempotent: true,
|
|
5872
|
+
retry: "idempotent",
|
|
5873
|
+
readConsistency: "primary"
|
|
5874
|
+
},
|
|
5875
|
+
auth: {
|
|
5876
|
+
credentials: ["partner_key"],
|
|
5877
|
+
scopes: ["sites:read"],
|
|
5878
|
+
ownership: [{
|
|
5879
|
+
credential: "partner_key",
|
|
5880
|
+
rule: "authorized_site"
|
|
5881
|
+
}]
|
|
5882
|
+
},
|
|
5883
|
+
request: {
|
|
5884
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
5885
|
+
query: null,
|
|
5886
|
+
headers: requestHeaders,
|
|
5887
|
+
body: null
|
|
5888
|
+
},
|
|
5889
|
+
responses: { 200: siteVersionIdentityResponse },
|
|
5890
|
+
errors: siteVersionErrors,
|
|
5891
|
+
errorResponse: errorEnvelopeSchemas(siteVersionErrors, realtimeSchemas.publicRequestId),
|
|
5892
|
+
resources: {
|
|
5893
|
+
reads: [{
|
|
5894
|
+
type: "site.registration",
|
|
5895
|
+
idFrom: "params.siteId"
|
|
5896
|
+
}],
|
|
5897
|
+
changes: []
|
|
5898
|
+
},
|
|
5899
|
+
lifecycle: { introduced: "5.6.0" },
|
|
5900
|
+
docs: {
|
|
5901
|
+
summary: "Get registered host identity",
|
|
5902
|
+
description: "Returns the authorized Site version and its effective Team Catalog binding.",
|
|
5903
|
+
tags: ["Sites"],
|
|
5904
|
+
examples: {
|
|
5905
|
+
request: { params: { siteId: "s_01" } },
|
|
5906
|
+
response: {
|
|
5907
|
+
data: {
|
|
5908
|
+
identity: siteVersionExampleIdentity,
|
|
5909
|
+
coverage: { _tag: "legacy" }
|
|
5910
|
+
},
|
|
5911
|
+
meta: siteVersionExampleMeta
|
|
5912
|
+
}
|
|
5913
|
+
}
|
|
5914
|
+
}
|
|
5915
|
+
}),
|
|
5916
|
+
previewRegisteredHost: defineHttpOperation({
|
|
5917
|
+
...gscdumpV1OperationRoute("partner.sites.registered_host.preview"),
|
|
5918
|
+
visibility: "public",
|
|
5919
|
+
semantics: {
|
|
5920
|
+
kind: "query",
|
|
5921
|
+
sideEffects: "none",
|
|
5922
|
+
idempotent: true,
|
|
5923
|
+
retry: "idempotent",
|
|
5924
|
+
readConsistency: "primary"
|
|
5925
|
+
},
|
|
5926
|
+
auth: {
|
|
5927
|
+
credentials: ["partner_key"],
|
|
5928
|
+
scopes: ["sites:read"],
|
|
5929
|
+
ownership: [{
|
|
5930
|
+
credential: "partner_key",
|
|
5931
|
+
rule: "authorized_site"
|
|
5932
|
+
}]
|
|
5933
|
+
},
|
|
5934
|
+
request: {
|
|
5935
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
5936
|
+
query: null,
|
|
5937
|
+
headers: requestHeaders,
|
|
5938
|
+
body: siteVersionPreviewRequestSchema
|
|
5939
|
+
},
|
|
5940
|
+
responses: { 200: siteVersionPreviewResponse },
|
|
5941
|
+
errors: siteVersionErrors,
|
|
5942
|
+
errorResponse: errorEnvelopeSchemas(siteVersionErrors, realtimeSchemas.publicRequestId),
|
|
5943
|
+
resources: {
|
|
5944
|
+
reads: [{
|
|
5945
|
+
type: "site.registration",
|
|
5946
|
+
idFrom: "params.siteId"
|
|
5947
|
+
}],
|
|
5948
|
+
changes: []
|
|
5949
|
+
},
|
|
5950
|
+
lifecycle: { introduced: "5.6.0" },
|
|
5951
|
+
docs: {
|
|
5952
|
+
summary: "Preview registered host correction",
|
|
5953
|
+
description: "Checks exact-host correction eligibility without creating resources or changing the Site.",
|
|
5954
|
+
tags: ["Sites"],
|
|
5955
|
+
examples: {
|
|
5956
|
+
request: {
|
|
5957
|
+
params: { siteId: "s_01" },
|
|
5958
|
+
body: {
|
|
5959
|
+
requestedUrl: siteVersionExamplePreview.requestedUrl,
|
|
5960
|
+
catalogSiteId: 17,
|
|
5961
|
+
window: siteVersionExamplePreview.window
|
|
5962
|
+
}
|
|
5963
|
+
},
|
|
5964
|
+
response: {
|
|
5965
|
+
data: siteVersionExamplePreview,
|
|
5966
|
+
meta: siteVersionExampleMeta
|
|
5967
|
+
}
|
|
5968
|
+
}
|
|
5969
|
+
}
|
|
5970
|
+
}),
|
|
5971
|
+
beginRegisteredHost: defineHttpOperation({
|
|
5972
|
+
...gscdumpV1OperationRoute("partner.sites.registered_host.begin"),
|
|
5973
|
+
visibility: "public",
|
|
5974
|
+
semantics: {
|
|
5975
|
+
kind: "mutation",
|
|
5976
|
+
sideEffects: "state",
|
|
5977
|
+
idempotent: false,
|
|
5978
|
+
retry: "never",
|
|
5979
|
+
readConsistency: null
|
|
5980
|
+
},
|
|
5981
|
+
auth: {
|
|
5982
|
+
credentials: ["partner_key"],
|
|
5983
|
+
scopes: ["sites:write"],
|
|
5984
|
+
ownership: [{
|
|
5985
|
+
credential: "partner_key",
|
|
5986
|
+
rule: "authorized_site"
|
|
5987
|
+
}]
|
|
5988
|
+
},
|
|
5989
|
+
request: {
|
|
5990
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
5991
|
+
query: null,
|
|
5992
|
+
headers: requestHeaders,
|
|
5993
|
+
body: siteVersionBeginRequestSchema
|
|
5994
|
+
},
|
|
5995
|
+
responses: { 200: siteVersionCandidateResponse },
|
|
5996
|
+
errors: siteVersionErrors,
|
|
5997
|
+
errorResponse: errorEnvelopeSchemas(siteVersionErrors, realtimeSchemas.publicRequestId),
|
|
5998
|
+
resources: {
|
|
5999
|
+
reads: [{
|
|
6000
|
+
type: "site.registration",
|
|
6001
|
+
idFrom: "params.siteId"
|
|
6002
|
+
}],
|
|
6003
|
+
changes: [{
|
|
6004
|
+
type: "site.lifecycle",
|
|
6005
|
+
idFrom: "params.siteId"
|
|
6006
|
+
}]
|
|
6007
|
+
},
|
|
6008
|
+
lifecycle: { introduced: "5.6.0" },
|
|
6009
|
+
docs: {
|
|
6010
|
+
summary: "Begin registered host correction",
|
|
6011
|
+
description: "Reserves an isolated candidate. Current registration and current reads keep their existing version.",
|
|
6012
|
+
tags: ["Sites"],
|
|
6013
|
+
examples: {
|
|
6014
|
+
request: {
|
|
6015
|
+
params: { siteId: "s_01" },
|
|
6016
|
+
body: { preview: siteVersionExamplePreview }
|
|
6017
|
+
},
|
|
6018
|
+
response: {
|
|
6019
|
+
data: {
|
|
6020
|
+
...siteVersionExampleCandidate,
|
|
6021
|
+
state: "collecting"
|
|
6022
|
+
},
|
|
6023
|
+
meta: siteVersionExampleMeta
|
|
6024
|
+
}
|
|
6025
|
+
}
|
|
6026
|
+
}
|
|
6027
|
+
}),
|
|
6028
|
+
verifyRegisteredHost: defineHttpOperation({
|
|
6029
|
+
...gscdumpV1OperationRoute("partner.sites.registered_host.verify"),
|
|
6030
|
+
visibility: "public",
|
|
6031
|
+
semantics: {
|
|
6032
|
+
kind: "mutation",
|
|
6033
|
+
sideEffects: "state",
|
|
6034
|
+
idempotent: true,
|
|
6035
|
+
retry: "idempotent",
|
|
6036
|
+
readConsistency: null
|
|
6037
|
+
},
|
|
6038
|
+
auth: {
|
|
6039
|
+
credentials: ["partner_key"],
|
|
6040
|
+
scopes: ["sites:write"],
|
|
6041
|
+
ownership: [{
|
|
6042
|
+
credential: "partner_key",
|
|
6043
|
+
rule: "authorized_site"
|
|
6044
|
+
}]
|
|
6045
|
+
},
|
|
6046
|
+
request: {
|
|
6047
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
6048
|
+
query: null,
|
|
6049
|
+
headers: requestHeaders,
|
|
6050
|
+
body: siteVersionCandidateRequestSchema
|
|
6051
|
+
},
|
|
6052
|
+
responses: { 200: siteVersionCandidateResponse },
|
|
6053
|
+
errors: siteVersionErrors,
|
|
6054
|
+
errorResponse: errorEnvelopeSchemas(siteVersionErrors, realtimeSchemas.publicRequestId),
|
|
6055
|
+
resources: {
|
|
6056
|
+
reads: [{
|
|
6057
|
+
type: "site.analytics",
|
|
6058
|
+
idFrom: "params.siteId"
|
|
6059
|
+
}],
|
|
6060
|
+
changes: [{
|
|
6061
|
+
type: "site.lifecycle",
|
|
6062
|
+
idFrom: "params.siteId"
|
|
6063
|
+
}]
|
|
6064
|
+
},
|
|
6065
|
+
lifecycle: { introduced: "5.6.0" },
|
|
6066
|
+
docs: {
|
|
6067
|
+
summary: "Verify registered host correction",
|
|
6068
|
+
description: "Requires completed Google collection and matching physical coverage for every required slice.",
|
|
6069
|
+
tags: ["Sites"],
|
|
6070
|
+
examples: {
|
|
6071
|
+
request: {
|
|
6072
|
+
params: { siteId: "s_01" },
|
|
6073
|
+
body: {
|
|
6074
|
+
version: 1,
|
|
6075
|
+
identity: siteVersionExampleIdentity
|
|
6076
|
+
}
|
|
6077
|
+
},
|
|
6078
|
+
response: {
|
|
6079
|
+
data: {
|
|
6080
|
+
...siteVersionExampleCandidate,
|
|
6081
|
+
state: "verified"
|
|
6082
|
+
},
|
|
6083
|
+
meta: siteVersionExampleMeta
|
|
6084
|
+
}
|
|
6085
|
+
}
|
|
6086
|
+
}
|
|
6087
|
+
}),
|
|
6088
|
+
promoteRegisteredHost: defineHttpOperation({
|
|
6089
|
+
...gscdumpV1OperationRoute("partner.sites.registered_host.promote"),
|
|
6090
|
+
visibility: "public",
|
|
6091
|
+
semantics: {
|
|
6092
|
+
kind: "mutation",
|
|
6093
|
+
sideEffects: "state",
|
|
6094
|
+
idempotent: true,
|
|
6095
|
+
retry: "idempotent",
|
|
6096
|
+
readConsistency: null
|
|
6097
|
+
},
|
|
6098
|
+
auth: {
|
|
6099
|
+
credentials: ["partner_key"],
|
|
6100
|
+
scopes: ["sites:write"],
|
|
6101
|
+
ownership: [{
|
|
6102
|
+
credential: "partner_key",
|
|
6103
|
+
rule: "authorized_site"
|
|
6104
|
+
}]
|
|
6105
|
+
},
|
|
6106
|
+
request: {
|
|
6107
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
6108
|
+
query: null,
|
|
6109
|
+
headers: requestHeaders,
|
|
6110
|
+
body: siteVersionCandidateRequestSchema
|
|
6111
|
+
},
|
|
6112
|
+
responses: { 200: siteVersionCandidateResponse },
|
|
6113
|
+
errors: siteVersionErrors,
|
|
6114
|
+
errorResponse: errorEnvelopeSchemas(siteVersionErrors, realtimeSchemas.publicRequestId),
|
|
6115
|
+
resources: {
|
|
6116
|
+
reads: [{
|
|
6117
|
+
type: "site.registration",
|
|
6118
|
+
idFrom: "params.siteId"
|
|
6119
|
+
}],
|
|
6120
|
+
changes: [{
|
|
6121
|
+
type: "site.registration",
|
|
6122
|
+
idFrom: "params.siteId"
|
|
6123
|
+
}, {
|
|
6124
|
+
type: "site.analytics",
|
|
6125
|
+
idFrom: "params.siteId"
|
|
6126
|
+
}]
|
|
6127
|
+
},
|
|
6128
|
+
lifecycle: { introduced: "5.6.0" },
|
|
6129
|
+
docs: {
|
|
6130
|
+
summary: "Promote registered host correction",
|
|
6131
|
+
description: "Atomically promotes a verified candidate while preserving Source and Catalog identities.",
|
|
6132
|
+
tags: ["Sites"],
|
|
6133
|
+
examples: {
|
|
6134
|
+
request: {
|
|
6135
|
+
params: { siteId: "s_01" },
|
|
6136
|
+
body: {
|
|
6137
|
+
version: 1,
|
|
6138
|
+
identity: siteVersionExampleIdentity
|
|
6139
|
+
}
|
|
6140
|
+
},
|
|
6141
|
+
response: {
|
|
6142
|
+
data: {
|
|
6143
|
+
...siteVersionExampleCandidate,
|
|
6144
|
+
state: "active"
|
|
6145
|
+
},
|
|
6146
|
+
meta: siteVersionExampleMeta
|
|
6147
|
+
}
|
|
6148
|
+
}
|
|
6149
|
+
}
|
|
6150
|
+
}),
|
|
6151
|
+
abortRegisteredHost: defineHttpOperation({
|
|
6152
|
+
...gscdumpV1OperationRoute("partner.sites.registered_host.abort"),
|
|
6153
|
+
visibility: "public",
|
|
6154
|
+
semantics: {
|
|
6155
|
+
kind: "mutation",
|
|
6156
|
+
sideEffects: "state",
|
|
6157
|
+
idempotent: true,
|
|
6158
|
+
retry: "idempotent",
|
|
6159
|
+
readConsistency: null
|
|
6160
|
+
},
|
|
6161
|
+
auth: {
|
|
6162
|
+
credentials: ["partner_key"],
|
|
6163
|
+
scopes: ["sites:write"],
|
|
6164
|
+
ownership: [{
|
|
6165
|
+
credential: "partner_key",
|
|
6166
|
+
rule: "authorized_site"
|
|
6167
|
+
}]
|
|
6168
|
+
},
|
|
6169
|
+
request: {
|
|
6170
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
6171
|
+
query: null,
|
|
6172
|
+
headers: requestHeaders,
|
|
6173
|
+
body: siteVersionCandidateRequestSchema
|
|
6174
|
+
},
|
|
6175
|
+
responses: { 200: siteVersionCandidateResponse },
|
|
6176
|
+
errors: siteVersionErrors,
|
|
6177
|
+
errorResponse: errorEnvelopeSchemas(siteVersionErrors, realtimeSchemas.publicRequestId),
|
|
6178
|
+
resources: {
|
|
6179
|
+
reads: [{
|
|
6180
|
+
type: "site.registration",
|
|
6181
|
+
idFrom: "params.siteId"
|
|
6182
|
+
}],
|
|
6183
|
+
changes: [{
|
|
6184
|
+
type: "site.lifecycle",
|
|
6185
|
+
idFrom: "params.siteId"
|
|
6186
|
+
}]
|
|
6187
|
+
},
|
|
6188
|
+
lifecycle: { introduced: "5.6.0" },
|
|
6189
|
+
docs: {
|
|
6190
|
+
summary: "Abort registered host correction",
|
|
6191
|
+
description: "Excludes the candidate. Historical tables and the active Site version remain preserved.",
|
|
6192
|
+
tags: ["Sites"],
|
|
6193
|
+
examples: {
|
|
6194
|
+
request: {
|
|
6195
|
+
params: { siteId: "s_01" },
|
|
6196
|
+
body: {
|
|
6197
|
+
version: 1,
|
|
6198
|
+
identity: siteVersionExampleIdentity
|
|
6199
|
+
}
|
|
6200
|
+
},
|
|
6201
|
+
response: {
|
|
6202
|
+
data: {
|
|
6203
|
+
...siteVersionExampleCandidate,
|
|
6204
|
+
state: "aborted"
|
|
6205
|
+
},
|
|
6206
|
+
meta: siteVersionExampleMeta
|
|
6207
|
+
}
|
|
6208
|
+
}
|
|
6209
|
+
}
|
|
6210
|
+
}),
|
|
6211
|
+
rollbackRegisteredHost: defineHttpOperation({
|
|
6212
|
+
...gscdumpV1OperationRoute("partner.sites.registered_host.rollback"),
|
|
6213
|
+
visibility: "public",
|
|
6214
|
+
semantics: {
|
|
6215
|
+
kind: "mutation",
|
|
6216
|
+
sideEffects: "state",
|
|
6217
|
+
idempotent: true,
|
|
6218
|
+
retry: "idempotent",
|
|
6219
|
+
readConsistency: null
|
|
6220
|
+
},
|
|
6221
|
+
auth: {
|
|
6222
|
+
credentials: ["partner_key"],
|
|
6223
|
+
scopes: ["sites:write"],
|
|
6224
|
+
ownership: [{
|
|
6225
|
+
credential: "partner_key",
|
|
6226
|
+
rule: "authorized_site"
|
|
6227
|
+
}]
|
|
6228
|
+
},
|
|
6229
|
+
request: {
|
|
6230
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
6231
|
+
query: null,
|
|
6232
|
+
headers: requestHeaders,
|
|
6233
|
+
body: siteVersionCandidateRequestSchema
|
|
6234
|
+
},
|
|
6235
|
+
responses: { 200: siteVersionCandidateResponse },
|
|
6236
|
+
errors: siteVersionErrors,
|
|
6237
|
+
errorResponse: errorEnvelopeSchemas(siteVersionErrors, realtimeSchemas.publicRequestId),
|
|
6238
|
+
resources: {
|
|
6239
|
+
reads: [{
|
|
6240
|
+
type: "site.registration",
|
|
6241
|
+
idFrom: "params.siteId"
|
|
6242
|
+
}],
|
|
6243
|
+
changes: [{
|
|
6244
|
+
type: "site.lifecycle",
|
|
6245
|
+
idFrom: "params.siteId"
|
|
6246
|
+
}, {
|
|
6247
|
+
type: "site.analytics",
|
|
6248
|
+
idFrom: "params.siteId"
|
|
6249
|
+
}]
|
|
6250
|
+
},
|
|
6251
|
+
lifecycle: { introduced: "5.6.0" },
|
|
6252
|
+
docs: {
|
|
6253
|
+
summary: "Roll back registered host correction",
|
|
6254
|
+
description: "Suspends current analytics for the promoted version. The registered host and collected history remain preserved.",
|
|
6255
|
+
tags: ["Sites"],
|
|
6256
|
+
examples: {
|
|
6257
|
+
request: {
|
|
6258
|
+
params: { siteId: "s_01" },
|
|
6259
|
+
body: {
|
|
6260
|
+
version: 1,
|
|
6261
|
+
identity: {
|
|
6262
|
+
...siteVersionExampleIdentity,
|
|
6263
|
+
requestedUrl: siteVersionExampleCandidate.requestedUrl,
|
|
6264
|
+
namespace: siteVersionExampleCandidate.namespace,
|
|
6265
|
+
version: 1,
|
|
6266
|
+
revision: 2
|
|
6267
|
+
}
|
|
6268
|
+
}
|
|
6269
|
+
},
|
|
6270
|
+
response: {
|
|
6271
|
+
data: {
|
|
6272
|
+
...siteVersionExampleCandidate,
|
|
6273
|
+
state: "aborted"
|
|
6274
|
+
},
|
|
6275
|
+
meta: siteVersionExampleMeta
|
|
6276
|
+
}
|
|
6277
|
+
}
|
|
6278
|
+
}
|
|
5802
6279
|
})
|
|
5803
6280
|
}
|
|
5804
6281
|
});
|
|
@@ -16,6 +16,41 @@ export declare const GSCDUMP_V1_ROUTE_CATALOG: {
|
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
readonly operations: {
|
|
19
|
+
readonly 'partner.sites.registered_host.identity.get': {
|
|
20
|
+
readonly surface: "partner";
|
|
21
|
+
readonly method: "GET";
|
|
22
|
+
readonly template: "/sites/{siteId}/registered-host";
|
|
23
|
+
};
|
|
24
|
+
readonly 'partner.sites.registered_host.preview': {
|
|
25
|
+
readonly surface: "partner";
|
|
26
|
+
readonly method: "POST";
|
|
27
|
+
readonly template: "/sites/{siteId}/registered-host/preview";
|
|
28
|
+
};
|
|
29
|
+
readonly 'partner.sites.registered_host.begin': {
|
|
30
|
+
readonly surface: "partner";
|
|
31
|
+
readonly method: "POST";
|
|
32
|
+
readonly template: "/sites/{siteId}/registered-host/begin";
|
|
33
|
+
};
|
|
34
|
+
readonly 'partner.sites.registered_host.verify': {
|
|
35
|
+
readonly surface: "partner";
|
|
36
|
+
readonly method: "POST";
|
|
37
|
+
readonly template: "/sites/{siteId}/registered-host/verify";
|
|
38
|
+
};
|
|
39
|
+
readonly 'partner.sites.registered_host.promote': {
|
|
40
|
+
readonly surface: "partner";
|
|
41
|
+
readonly method: "POST";
|
|
42
|
+
readonly template: "/sites/{siteId}/registered-host/promote";
|
|
43
|
+
};
|
|
44
|
+
readonly 'partner.sites.registered_host.abort': {
|
|
45
|
+
readonly surface: "partner";
|
|
46
|
+
readonly method: "POST";
|
|
47
|
+
readonly template: "/sites/{siteId}/registered-host/abort";
|
|
48
|
+
};
|
|
49
|
+
readonly 'partner.sites.registered_host.rollback': {
|
|
50
|
+
readonly surface: "partner";
|
|
51
|
+
readonly method: "POST";
|
|
52
|
+
readonly template: "/sites/{siteId}/registered-host/rollback";
|
|
53
|
+
};
|
|
19
54
|
readonly 'partner.sites.analytics.coverage.get': {
|
|
20
55
|
readonly surface: "partner";
|
|
21
56
|
readonly method: "GET";
|
|
@@ -3,6 +3,41 @@ import { GSCDUMP_V1_ROUTE_SURFACES } from "./route-surfaces.mjs";
|
|
|
3
3
|
const GSCDUMP_V1_ROUTE_CATALOG = {
|
|
4
4
|
surfaces: GSCDUMP_V1_ROUTE_SURFACES,
|
|
5
5
|
operations: {
|
|
6
|
+
"partner.sites.registered_host.identity.get": {
|
|
7
|
+
surface: "partner",
|
|
8
|
+
method: "GET",
|
|
9
|
+
template: "/sites/{siteId}/registered-host"
|
|
10
|
+
},
|
|
11
|
+
"partner.sites.registered_host.preview": {
|
|
12
|
+
surface: "partner",
|
|
13
|
+
method: "POST",
|
|
14
|
+
template: "/sites/{siteId}/registered-host/preview"
|
|
15
|
+
},
|
|
16
|
+
"partner.sites.registered_host.begin": {
|
|
17
|
+
surface: "partner",
|
|
18
|
+
method: "POST",
|
|
19
|
+
template: "/sites/{siteId}/registered-host/begin"
|
|
20
|
+
},
|
|
21
|
+
"partner.sites.registered_host.verify": {
|
|
22
|
+
surface: "partner",
|
|
23
|
+
method: "POST",
|
|
24
|
+
template: "/sites/{siteId}/registered-host/verify"
|
|
25
|
+
},
|
|
26
|
+
"partner.sites.registered_host.promote": {
|
|
27
|
+
surface: "partner",
|
|
28
|
+
method: "POST",
|
|
29
|
+
template: "/sites/{siteId}/registered-host/promote"
|
|
30
|
+
},
|
|
31
|
+
"partner.sites.registered_host.abort": {
|
|
32
|
+
surface: "partner",
|
|
33
|
+
method: "POST",
|
|
34
|
+
template: "/sites/{siteId}/registered-host/abort"
|
|
35
|
+
},
|
|
36
|
+
"partner.sites.registered_host.rollback": {
|
|
37
|
+
surface: "partner",
|
|
38
|
+
method: "POST",
|
|
39
|
+
template: "/sites/{siteId}/registered-host/rollback"
|
|
40
|
+
},
|
|
6
41
|
"partner.sites.analytics.coverage.get": {
|
|
7
42
|
surface: "partner",
|
|
8
43
|
method: "GET",
|