# import DateTime, CartItemSubscriptionPayload, ShippingInfoSubscriptionPayload, SupplierProductSubscriptionPayload from "./generated/prisma.graphql" scalar Upload type Query { me: User file(id: ID!): File files: [File!]! mainCategories: [MainCategory!]! getAgentFacebookPages: [FacebookPagePayload!]! supplierProduct(id: ID!): SupplierProduct! supplierProducts: [SupplierProduct!]! agentSearchSupplierProducts: [SupplierProduct!]! agentProduct(id: ID!): AgentProduct! getStore(id: ID!): AgentStore! getCart(storeId: ID!): Cart! getShippingInfo: [ShippingInfo!]! getUserSupplierProducts: [SupplierProduct!]! getAgentUserOrders: [PurchaseOrder!]! getUserSupplierOrder(orderId: ID!): SupplierOrder! getUserSupplierOrders(orderBy: SupplierOrderOrderByInput): [SupplierOrder!]! getCustomerUserOrder(id: ID): PurchaseOrder! getCustomerUserOrders(storeId: ID!): [PurchaseOrder!]! } type Mutation { uploadFile(file: Upload!): File! uploadFiles(files: [Upload!]!): [File!]! renameFile(id: ID!, name: String!): File deleteFile(id: ID!): File surveySubscribe(email: String!, name: String!, mobile: String!): Survey! signup(email: String!, password: String!, role: String!): AuthPayload! signin(email: String!, password: String!): AuthPayload! customerSignup(email: String!, password: String!): AuthPayload! createUserPersonalInfo( firstName: String! lastName: String! phone: String! ): PersonalInfo! signupWithFacebook(facebookToken: String!, role: String!): AuthPayload! signinWithFacebook(facebookToken: String!): AuthPayload! createPersonalInfo( firstName: String! lastName: String! phone: String! ): PersonalInfo! createSupplier(supplierSupplierInfo: SupplierInfoInput!): Supplier! createSupplierProduct( files: [Upload!]! name: String! tags: [String!]! detail: String! inventory: Int! minInventory: Int! retailPrice: Int! wholesalePrice: Int! wholesaleRecommendPrice: Int! categoryId: String! ): SupplierProduct! createAgentStore(name: String!): AgentStore! addSupplierProductToAgentStore(id: String!, price: Int!): AgentProduct! addToCart(storeId: ID!, itemId: ID!, quantity: Int!): Cart! deleteCartItem(cartId: ID!, itemId: ID!): CartItem! addressToCart( cartId: ID! firstName: String! lastName: String! mobile: String! address: String! city: String! state: String! country: String! postCode: String! ): Cart! updateCartShipping(cartId: ID!, shippingId: ID!): Cart! paymentCharges(token: String!, cartId: ID!): PurchaseOrder! createShipping( firstName: String! lastName: String! mobile: String! address: String! city: String! state: String! country: String! postCode: String! ): ShippingInfo! supplierConfirmOrder(id: ID!): SupplierOrder! supplierShippingOrder( id: ID! trackingNumber: String! provider: String! image: Upload! ): SupplierOrder! postItemToFacebook(id: ID!, caption: String!, accessToken: String!): Boolean! } type AuthPayload { token: String! user: User! } type FacebookPagePayload { id: String! name: String! access_token: String! category: String! picture: PagePicture country_page_likes: Int! } type PagePicture { data: PictureData! } type PictureData { url: String! } type User { id: ID! email: String! role: Role personalInfo: PersonalInfo userSupplier: Supplier userAgent: Agent userCustomer: Customer externalProvider: ExternalProvider } input SupplierInfoInput { kind: SupplierKind! corporateName: String! identityNumber: String! supplierInfoAddress: AddressInput! } input AddressInput { address: String! city: String! state: String! country: String! postCode: String! } type Subscription { cart: CartSubscriptionPayload cartItem(where: CartItemSubscriptionWhereInput): CartItemSubscriptionPayload shippingInfo: ShippingInfoSubscriptionPayload supplierProduct: SupplierProductSubscriptionPayload }