Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy #6456

Merged
merged 1 commit into from
Feb 20, 2025
Merged

Deploy #6456

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 40 additions & 40 deletions _schemaV2.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -2343,6 +2343,41 @@ type ArtistsWithAlertCountsEdge {
totalAlertCount: Int
}

type ArtsyShippingOptInMutationFailure {
mutationError: GravityMutationError
}

input ArtsyShippingOptInMutationInput {
# Whether Artsy domestic shipping should be enabled
artsyShippingDomestic: Boolean

# Whether Artsy international shipping should be enabled
artsyShippingInternational: Boolean
clientMutationId: String

# ID of the partner
id: String!
}

type ArtsyShippingOptInMutationPayload {
ArtsyShippingOptInOrError: ArtsyShippingOptInMutationType
clientMutationId: String
}

type ArtsyShippingOptInMutationSuccess {
skippedPartnerArtworks: ArtsyShippingOptInResponse
updatedPartnerArtworks: ArtsyShippingOptInResponse
}

union ArtsyShippingOptInMutationType =
ArtsyShippingOptInMutationFailure
| ArtsyShippingOptInMutationSuccess

type ArtsyShippingOptInResponse {
count: Int
ids: [String]
}

type Artwork implements Node & Searchable & Sellable {
additionalInformation(format: Format): String
artaShippingEnabled: Boolean
Expand Down Expand Up @@ -4190,41 +4225,6 @@ type BulkUpdateArtworksMetadataResponse {
ids: [String]
}

type BulkUpdatePartnerArtworksMutationFailure {
mutationError: GravityMutationError
}

input BulkUpdatePartnerArtworksMutationInput {
# Whether Artsy domestic shipping should be enabled
artsyShippingDomestic: Boolean

# Whether Artsy international shipping should be enabled
artsyShippingInternational: Boolean
clientMutationId: String

# ID of the partner
id: String!
}

type BulkUpdatePartnerArtworksMutationPayload {
bulkUpdatePartnerArtworksOrError: BulkUpdatePartnerArtworksMutationType
clientMutationId: String
}

type BulkUpdatePartnerArtworksMutationSuccess {
skippedPartnerArtworks: BulkUpdatePartnerArtworksResponse
updatedPartnerArtworks: BulkUpdatePartnerArtworksResponse
}

union BulkUpdatePartnerArtworksMutationType =
BulkUpdatePartnerArtworksMutationFailure
| BulkUpdatePartnerArtworksMutationSuccess

type BulkUpdatePartnerArtworksResponse {
count: Int
ids: [String]
}

type BuyersPremium {
# A formatted price with various currency formatting options.
amount(
Expand Down Expand Up @@ -13923,6 +13923,11 @@ type Mutation {
input: AdminUpdateFeatureFlagInput!
): AdminUpdateFeatureFlagPayload

# Update all artworks that belong to the partner
artsyShippingOptIn(
input: ArtsyShippingOptInMutationInput!
): ArtsyShippingOptInMutationPayload

# Add / remove artworks to / from collections
artworksCollectionsBatchUpdate(
input: ArtworksCollectionsBatchUpdateInput!
Expand All @@ -13935,11 +13940,6 @@ type Mutation {
bulkUpdateArtworksMetadata(
input: BulkUpdateArtworksMetadataMutationInput!
): BulkUpdateArtworksMetadataMutationPayload

# Update all artworks that belong to the partner
bulkUpdatePartnerArtworks(
input: BulkUpdatePartnerArtworksMutationInput!
): BulkUpdatePartnerArtworksMutationPayload
captureHold(
# Parameters for CaptureHold
input: CaptureHoldInput!
Expand Down
6 changes: 3 additions & 3 deletions src/lib/loaders/loaders_with_authentication/gravity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -675,7 +675,7 @@ export default (accessToken, userID, opts) => {
),
matchPagesLoader: gravityLoader("match/pages", {}, { headers: true }),
optInArtworksIntoCommerceLoader: gravityLoader(
(id) => `partner/${id}/opt_in_artworks_into_commerce`,
(id) => `partner/${id}/bulk_operations/commerce_opt_in`,
{},
{ method: "PUT" }
),
Expand Down Expand Up @@ -990,8 +990,8 @@ export default (accessToken, userID, opts) => {
{},
{ method: "PUT" }
),
updatePartnerArtworksLoader: gravityLoader(
(id) => `partner/${id}/artworks`,
artsyShippingOptInLoader: gravityLoader(
(id) => `partner/${id}/bulk_operations/artsy_shipping_opt_in`,
{},
{ method: "PUT" }
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,39 +16,37 @@ import { GraphQLUnionType } from "graphql"

interface Input {
id: string
// these to be migrated out soon by Jackie
artsyShippingDomestic: boolean | null
artsyShippingInternational: boolean | null
// ---------------------
}

const BulkUpdatePartnerArtworksResponseType = new GraphQLObjectType<
const ArtsyShippingOptInResponseType = new GraphQLObjectType<
any,
ResolverContext
>({
name: "BulkUpdatePartnerArtworksResponse",
name: "ArtsyShippingOptInResponse",
fields: () => ({
count: { type: GraphQLInt },
ids: { type: GraphQLList(GraphQLString) },
}),
})

const BulkUpdatePartnerArtworksMutationSuccessType = new GraphQLObjectType<
const ArtsyShippingOptInMutationSuccessType = new GraphQLObjectType<
any,
ResolverContext
>({
name: "BulkUpdatePartnerArtworksMutationSuccess",
name: "ArtsyShippingOptInMutationSuccess",
fields: () => ({
updatedPartnerArtworks: { type: BulkUpdatePartnerArtworksResponseType },
skippedPartnerArtworks: { type: BulkUpdatePartnerArtworksResponseType },
updatedPartnerArtworks: { type: ArtsyShippingOptInResponseType },
skippedPartnerArtworks: { type: ArtsyShippingOptInResponseType },
}),
})

const BulkUpdatePartnerArtworksMutationFailureType = new GraphQLObjectType<
const ArtsyShippingOptInMutationFailureType = new GraphQLObjectType<
any,
ResolverContext
>({
name: "BulkUpdatePartnerArtworksMutationFailure",
name: "ArtsyShippingOptInMutationFailure",
isTypeOf: (data) => {
return data._type === "GravityMutationError"
},
Expand All @@ -60,26 +58,26 @@ const BulkUpdatePartnerArtworksMutationFailureType = new GraphQLObjectType<
}),
})

const BulkUpdatePartnerArtworksMutationType = new GraphQLUnionType({
name: "BulkUpdatePartnerArtworksMutationType",
const ArtsyShippingOptInMutationType = new GraphQLUnionType({
name: "ArtsyShippingOptInMutationType",
types: [
BulkUpdatePartnerArtworksMutationSuccessType,
BulkUpdatePartnerArtworksMutationFailureType,
ArtsyShippingOptInMutationSuccessType,
ArtsyShippingOptInMutationFailureType,
],
resolveType: (object) => {
if (object.mutationError) {
return BulkUpdatePartnerArtworksMutationFailureType
return ArtsyShippingOptInMutationFailureType
}
return BulkUpdatePartnerArtworksMutationSuccessType
return ArtsyShippingOptInMutationSuccessType
},
})

export const bulkUpdatePartnerArtworksMutation = mutationWithClientMutationId<
export const artsyShippingOptInMutation = mutationWithClientMutationId<
Input,
any,
ResolverContext
>({
name: "BulkUpdatePartnerArtworksMutation",
name: "ArtsyShippingOptInMutation",
description: "Update all artworks that belong to the partner",
inputFields: {
id: {
Expand All @@ -96,8 +94,8 @@ export const bulkUpdatePartnerArtworksMutation = mutationWithClientMutationId<
},
},
outputFields: {
bulkUpdatePartnerArtworksOrError: {
type: BulkUpdatePartnerArtworksMutationType,
ArtsyShippingOptInOrError: {
type: ArtsyShippingOptInMutationType,
resolve: (result) => {
// In the future it could be helpful to have a list of successfully opted in ids, can add this to gravity at a later date
return {
Expand All @@ -112,19 +110,19 @@ export const bulkUpdatePartnerArtworksMutation = mutationWithClientMutationId<
},
mutateAndGetPayload: async (
{ id, artsyShippingDomestic, artsyShippingInternational },
{ updatePartnerArtworksLoader }
{ artsyShippingOptInLoader }
) => {
const gravityOptions = {
artsy_shipping_domestic: artsyShippingDomestic,
artsy_shipping_international: artsyShippingInternational,
}

if (!updatePartnerArtworksLoader) {
if (!artsyShippingOptInLoader) {
throw new Error("You need to be signed in to perform this action")
}

try {
return await updatePartnerArtworksLoader(id, gravityOptions)
return await artsyShippingOptInLoader(id, gravityOptions)
} catch (error) {
const formattedErr = formatGravityError(error)
if (formattedErr) {
Expand Down
4 changes: 2 additions & 2 deletions src/schema/v2/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ import { artworksForUser } from "./artworksForUser"
import { authenticationStatus } from "./authenticationStatus"
import { BankAccount } from "./bank_account"
import { bulkUpdateArtworksMetadataMutation } from "./partner/BulkOperation/bulkUpdateArtworksMetadataMutation"
import { bulkUpdatePartnerArtworksMutation } from "./bulkUpdatePartnerArtworksMutation"
import { artsyShippingOptInMutation } from "./partner/ArtsyShippingOptIn/artsyShippingOptInMutation"
import { CollectorProfileForUser } from "./CollectorProfile/collectorProfile"
import { CollectorProfilesConnection } from "./CollectorProfile/collectorProfiles"
import { createConsignmentInquiryMutation } from "./consignments/createConsignmentInquiryMutation"
Expand Down Expand Up @@ -429,7 +429,7 @@ export default new GraphQLSchema({
artworksCollectionsBatchUpdate: artworksCollectionsBatchUpdateMutation,
assignArtworkImportArtist: AssignArtworkImportArtistMutation,
bulkUpdateArtworksMetadata: bulkUpdateArtworksMetadataMutation,
bulkUpdatePartnerArtworks: bulkUpdatePartnerArtworksMutation,
artsyShippingOptIn: artsyShippingOptInMutation,
commerceOptIn: commerceOptInMutation,
commerceOptInReport: commerceOptInReportMutation,
createAccountRequest: createAccountRequestMutation,
Expand Down