UNPKG

@ideal-photography/shared

Version:

Shared GraphQL (Apollo Server v5) and Mongoose logic for Ideal Photography PWAs: users, products, services, bookings, orders/cart, galleries, reviews, notifications, campaigns, settings, and audit logs.

54 lines (48 loc) 1.16 kB
import { gql } from 'graphql-tag'; const productTypeDefs = gql` type Product { _id: ID! name: String! description: String! price: Float! category: String! duration: Int images: [String!] features: [String!] isActive: Boolean! maxBookings: Int! tags: [String!] createdAt: String updatedAt: String } input ProductInput { name: String! description: String! price: Float! category: String! duration: Int images: [String!] features: [String!] maxBookings: Int tags: [String!] } input ProductFilter { category: String isActive: Boolean minPrice: Float maxPrice: Float tags: [String!] } type Query { products(filter: ProductFilter): [Product!]! product(id: ID!): Product featuredProducts: [Product!]! } type Mutation { createProduct(input: ProductInput!): Product! updateProduct(id: ID!, input: ProductInput!): Product! deleteProduct(id: ID!, input: ProductInput!): Product! toggleProductStatus(id: ID!): Product! } `; export default productTypeDefs;