diff --git a/.changeset/early-news-attend.md b/.changeset/early-news-attend.md new file mode 100644 index 0000000000..4af1bc3d3e --- /dev/null +++ b/.changeset/early-news-attend.md @@ -0,0 +1,5 @@ +--- +"@comet/cms-api": major +--- + +Remove lastUpdatedAt argument from update mutations diff --git a/demo/admin/src/news/generated/NewsForm.gql.ts b/demo/admin/src/news/generated/NewsForm.gql.ts index d01a097fd2..543e76760b 100644 --- a/demo/admin/src/news/generated/NewsForm.gql.ts +++ b/demo/admin/src/news/generated/NewsForm.gql.ts @@ -47,8 +47,8 @@ export const createNewsMutation = gql` `; export const updateNewsMutation = gql` - mutation UpdateNews($id: ID!, $input: NewsUpdateInput!, $lastUpdatedAt: DateTime) { - updateNews(id: $id, input: $input, lastUpdatedAt: $lastUpdatedAt) { + mutation UpdateNews($id: ID!, $input: NewsUpdateInput!) { + updateNews(id: $id, input: $input) { id updatedAt ...NewsForm diff --git a/demo/admin/src/news/generated/NewsForm.tsx b/demo/admin/src/news/generated/NewsForm.tsx index 63116e1d98..d544041fd6 100644 --- a/demo/admin/src/news/generated/NewsForm.tsx +++ b/demo/admin/src/news/generated/NewsForm.tsx @@ -118,7 +118,7 @@ export function NewsForm({ id }: FormProps): React.ReactElement { } await client.mutate({ mutation: updateNewsMutation, - variables: { id, input: output, lastUpdatedAt: data?.news?.updatedAt }, + variables: { id, input: output }, }); } else { const { data: mutationResponse } = await client.mutate({ diff --git a/demo/admin/src/products/ProductForm.gql.ts b/demo/admin/src/products/ProductForm.gql.ts index 9305524507..0948923ac6 100644 --- a/demo/admin/src/products/ProductForm.gql.ts +++ b/demo/admin/src/products/ProductForm.gql.ts @@ -43,8 +43,8 @@ export const createProductMutation = gql` `; export const updateProductMutation = gql` - mutation UpdateProduct($id: ID!, $input: ProductUpdateInput!, $lastUpdatedAt: DateTime) { - updateProduct(id: $id, input: $input, lastUpdatedAt: $lastUpdatedAt) { + mutation UpdateProduct($id: ID!, $input: ProductUpdateInput!) { + updateProduct(id: $id, input: $input) { id updatedAt ...ProductFormManual diff --git a/demo/admin/src/products/ProductForm.tsx b/demo/admin/src/products/ProductForm.tsx index 039a7bc17f..cda66c0f9a 100644 --- a/demo/admin/src/products/ProductForm.tsx +++ b/demo/admin/src/products/ProductForm.tsx @@ -113,7 +113,7 @@ function ProductForm({ id }: FormProps): React.ReactElement { if (!id) throw new Error(); await client.mutate({ mutation: updateProductMutation, - variables: { id, input: output, lastUpdatedAt: data?.product.updatedAt }, + variables: { id, input: output }, }); } else { const { data: mutationResponse } = await client.mutate({ diff --git a/demo/admin/src/products/ProductPriceForm.gql.ts b/demo/admin/src/products/ProductPriceForm.gql.ts index 65f3c901b6..dbc6cd7345 100644 --- a/demo/admin/src/products/ProductPriceForm.gql.ts +++ b/demo/admin/src/products/ProductPriceForm.gql.ts @@ -18,8 +18,8 @@ export const productPriceFormQuery = gql` `; export const updateProductPriceFormMutation = gql` - mutation ProductPriceFormUpdateProduct($id: ID!, $input: ProductUpdateInput!, $lastUpdatedAt: DateTime) { - updateProduct(id: $id, input: $input, lastUpdatedAt: $lastUpdatedAt) { + mutation ProductPriceFormUpdateProduct($id: ID!, $input: ProductUpdateInput!) { + updateProduct(id: $id, input: $input) { id updatedAt ...ProductPriceForm diff --git a/demo/admin/src/products/ProductPriceForm.tsx b/demo/admin/src/products/ProductPriceForm.tsx index 930d382c77..ff754a5bea 100644 --- a/demo/admin/src/products/ProductPriceForm.tsx +++ b/demo/admin/src/products/ProductPriceForm.tsx @@ -59,7 +59,7 @@ function ProductPriceForm({ id }: FormProps): React.ReactElement { }; await client.mutate({ mutation: updateProductPriceFormMutation, - variables: { id, input: output, lastUpdatedAt: data?.product.updatedAt }, + variables: { id, input: output }, }); }; diff --git a/demo/admin/src/products/categories/ProductCategoryForm.gql.ts b/demo/admin/src/products/categories/ProductCategoryForm.gql.ts index 6965d1ea62..fb02d4a08c 100644 --- a/demo/admin/src/products/categories/ProductCategoryForm.gql.ts +++ b/demo/admin/src/products/categories/ProductCategoryForm.gql.ts @@ -38,8 +38,8 @@ export const createProductCategoryMutation = gql` `; export const updateProductCategoryMutation = gql` - mutation ProductCategoryFormUpdateProductCategory($id: ID!, $input: ProductCategoryUpdateInput!, $lastUpdatedAt: DateTime) { - updateProductCategory(id: $id, input: $input, lastUpdatedAt: $lastUpdatedAt) { + mutation ProductCategoryFormUpdateProductCategory($id: ID!, $input: ProductCategoryUpdateInput!) { + updateProductCategory(id: $id, input: $input) { id updatedAt ...ProductCategoryForm diff --git a/demo/admin/src/products/categories/ProductCategoryForm.tsx b/demo/admin/src/products/categories/ProductCategoryForm.tsx index 0135657548..7327059c8c 100644 --- a/demo/admin/src/products/categories/ProductCategoryForm.tsx +++ b/demo/admin/src/products/categories/ProductCategoryForm.tsx @@ -95,7 +95,7 @@ function ProductCategoryForm({ id }: FormProps): React.ReactElement { if (!id) throw new Error(); await client.mutate({ mutation: updateProductCategoryMutation, - variables: { id, input: output, lastUpdatedAt: data?.productCategory.updatedAt }, + variables: { id, input: output }, }); } else { const { data: mutationResponse } = await client.mutate< diff --git a/demo/admin/src/products/future/generated/ProductForm.gql.tsx b/demo/admin/src/products/future/generated/ProductForm.gql.tsx index 3f0e399718..de7c10ffc6 100644 --- a/demo/admin/src/products/future/generated/ProductForm.gql.tsx +++ b/demo/admin/src/products/future/generated/ProductForm.gql.tsx @@ -55,8 +55,8 @@ export const createProductMutation = gql` ${productFormFragment} `; export const updateProductMutation = gql` - mutation UpdateProduct($id: ID!, $input: ProductUpdateInput!, $lastUpdatedAt: DateTime) { - updateProduct(id: $id, input: $input, lastUpdatedAt: $lastUpdatedAt) { + mutation UpdateProduct($id: ID!, $input: ProductUpdateInput!) { + updateProduct(id: $id, input: $input) { id updatedAt ...ProductFormDetails diff --git a/demo/admin/src/products/future/generated/ProductForm.tsx b/demo/admin/src/products/future/generated/ProductForm.tsx index a8389abb40..1732edc85f 100644 --- a/demo/admin/src/products/future/generated/ProductForm.tsx +++ b/demo/admin/src/products/future/generated/ProductForm.tsx @@ -112,7 +112,7 @@ export function ProductForm({ id }: FormProps): React.ReactElement { if (!id) throw new Error(); await client.mutate({ mutation: updateProductMutation, - variables: { id, input: output, lastUpdatedAt: data?.product.updatedAt }, + variables: { id, input: output }, }); } else { const { data: mutationResponse } = await client.mutate({ diff --git a/demo/admin/src/products/generated/ProductForm.gql.ts b/demo/admin/src/products/generated/ProductForm.gql.ts index 7a02cf280c..3b851ef4af 100644 --- a/demo/admin/src/products/generated/ProductForm.gql.ts +++ b/demo/admin/src/products/generated/ProductForm.gql.ts @@ -48,8 +48,8 @@ export const createProductMutation = gql` `; export const updateProductMutation = gql` - mutation UpdateProduct($id: ID!, $input: ProductUpdateInput!, $lastUpdatedAt: DateTime) { - updateProduct(id: $id, input: $input, lastUpdatedAt: $lastUpdatedAt) { + mutation UpdateProduct($id: ID!, $input: ProductUpdateInput!) { + updateProduct(id: $id, input: $input) { id updatedAt ...ProductForm diff --git a/demo/admin/src/products/generated/ProductForm.tsx b/demo/admin/src/products/generated/ProductForm.tsx index d65f0d4d84..8577d4c636 100644 --- a/demo/admin/src/products/generated/ProductForm.tsx +++ b/demo/admin/src/products/generated/ProductForm.tsx @@ -111,7 +111,7 @@ export function ProductForm({ id }: FormProps): React.ReactElement { } await client.mutate({ mutation: updateProductMutation, - variables: { id, input: output, lastUpdatedAt: data?.product?.updatedAt }, + variables: { id, input: output }, }); } else { const { data: mutationResponse } = await client.mutate({ diff --git a/demo/admin/src/products/tags/ProductTagForm.gql.ts b/demo/admin/src/products/tags/ProductTagForm.gql.ts index 4176eb847b..e9fdad6870 100644 --- a/demo/admin/src/products/tags/ProductTagForm.gql.ts +++ b/demo/admin/src/products/tags/ProductTagForm.gql.ts @@ -37,8 +37,8 @@ export const createProductTagMutation = gql` `; export const updateProductTagMutation = gql` - mutation ProductTagFormUpdateProductTag($id: ID!, $input: ProductTagUpdateInput!, $lastUpdatedAt: DateTime) { - updateProductTag(id: $id, input: $input, lastUpdatedAt: $lastUpdatedAt) { + mutation ProductTagFormUpdateProductTag($id: ID!, $input: ProductTagUpdateInput!) { + updateProductTag(id: $id, input: $input) { id updatedAt ...ProductTagForm diff --git a/demo/admin/src/products/tags/ProductTagForm.tsx b/demo/admin/src/products/tags/ProductTagForm.tsx index d0dea723e0..cda49e8e30 100644 --- a/demo/admin/src/products/tags/ProductTagForm.tsx +++ b/demo/admin/src/products/tags/ProductTagForm.tsx @@ -92,7 +92,7 @@ function ProductTagForm({ id }: FormProps): React.ReactElement { if (!id) throw new Error(); await client.mutate({ mutation: updateProductTagMutation, - variables: { id, input: output, lastUpdatedAt: data?.productTag.updatedAt }, + variables: { id, input: output }, }); } else { const { data: mutationResponse } = await client.mutate< diff --git a/demo/api/schema.gql b/demo/api/schema.gql index 98ed082fdd..cc581c4d5e 100644 --- a/demo/api/schema.gql +++ b/demo/api/schema.gql @@ -1098,29 +1098,29 @@ type Mutation { moveDamFolders(folderIds: [ID!]!, targetFolderId: ID, scope: DamScopeInput!): [DamFolder!]! deleteDamFolder(id: ID!): Boolean! createNews(scope: NewsContentScopeInput!, input: NewsInput!): News! - updateNews(id: ID!, input: NewsUpdateInput!, lastUpdatedAt: DateTime): News! + updateNews(id: ID!, input: NewsUpdateInput!): News! deleteNews(id: ID!): Boolean! createNewsComment(newsId: ID!, input: NewsCommentInput!): NewsComment! - updateNewsComment(id: ID!, input: NewsCommentInput!, lastUpdatedAt: DateTime): NewsComment! + updateNewsComment(id: ID!, input: NewsCommentInput!): NewsComment! deleteNewsComment(id: ID!): Boolean! updateMainMenuItem(pageTreeNodeId: ID!, input: MainMenuItemInput!, lastUpdatedAt: DateTime): MainMenuItem! - saveFooter(scope: FooterContentScopeInput!, input: FooterInput!, lastUpdatedAt: DateTime): Footer! + saveFooter(scope: FooterContentScopeInput!, input: FooterInput!): Footer! savePredefinedPage(id: ID!, input: PredefinedPageInput!, attachedPageTreeNodeId: ID!, lastUpdatedAt: DateTime): PredefinedPage! triggerKubernetesCronJob(name: String!): KubernetesJob! createProduct(input: ProductInput!): Product! - updateProduct(id: ID!, input: ProductUpdateInput!, lastUpdatedAt: DateTime): Product! + updateProduct(id: ID!, input: ProductUpdateInput!): Product! deleteProduct(id: ID!): Boolean! createProductCategory(input: ProductCategoryInput!): ProductCategory! - updateProductCategory(id: ID!, input: ProductCategoryUpdateInput!, lastUpdatedAt: DateTime): ProductCategory! + updateProductCategory(id: ID!, input: ProductCategoryUpdateInput!): ProductCategory! deleteProductCategory(id: ID!): Boolean! createProductTag(input: ProductTagInput!): ProductTag! - updateProductTag(id: ID!, input: ProductTagUpdateInput!, lastUpdatedAt: DateTime): ProductTag! + updateProductTag(id: ID!, input: ProductTagUpdateInput!): ProductTag! deleteProductTag(id: ID!): Boolean! createProductVariant(product: ID!, input: ProductVariantInput!): ProductVariant! - updateProductVariant(id: ID!, input: ProductVariantUpdateInput!, lastUpdatedAt: DateTime): ProductVariant! + updateProductVariant(id: ID!, input: ProductVariantUpdateInput!): ProductVariant! deleteProductVariant(id: ID!): Boolean! createManufacturer(input: ManufacturerInput!): Manufacturer! - updateManufacturer(id: ID!, input: ManufacturerUpdateInput!, lastUpdatedAt: DateTime): Manufacturer! + updateManufacturer(id: ID!, input: ManufacturerUpdateInput!): Manufacturer! deleteManufacturer(id: ID!): Boolean! } diff --git a/demo/api/src/footer/generated/footer.resolver.ts b/demo/api/src/footer/generated/footer.resolver.ts index 2d0d828c0b..f89bd1e701 100644 --- a/demo/api/src/footer/generated/footer.resolver.ts +++ b/demo/api/src/footer/generated/footer.resolver.ts @@ -1,6 +1,6 @@ // This file has been generated by comet api-generator. // You may choose to use this file as scaffold by moving this file out of generated folder and removing this comment. -import { RequiredPermission, validateNotModified } from "@comet/cms-api"; +import { RequiredPermission } from "@comet/cms-api"; import { InjectRepository } from "@mikro-orm/nestjs"; import { EntityManager, EntityRepository } from "@mikro-orm/postgresql"; import { Args, Mutation, Query, Resolver } from "@nestjs/graphql"; @@ -33,7 +33,6 @@ export class FooterResolver { async saveFooter( @Args("scope", { type: () => FooterContentScope }) scope: FooterContentScope, @Args("input", { type: () => FooterInput }) input: FooterInput, - @Args("lastUpdatedAt", { type: () => Date, nullable: true }) lastUpdatedAt?: Date, ): Promise