Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql / src / models / Customer.graphql.ts
Size: Mime:
import { gql } from 'apollo-server'

export default gql`
  # Addresses object - It refers to the customer's Address
  type Addresses {
    # AddressLine1 of customer address. It is a value of String type. No string validation occurs for minimum and maximum lengths.
    addressLine1: String!
    # addressLine2 of customer address. It is a value of String type. No string validation occurs for minimum and maximum lengths.
    addressLine2: String
    # addressLine3 of customer address. It is a value of String type. No string validation occurs for minimum and maximum lengths.
    addressLine3: String
    # City of customer address. It is a value of String type. No string validation occurs for minimum and maximum lengths.
    city: String!
    # Country of customer address. It is a value of String type. No string validation occurs for minimum and maximum lengths.
    country: String!
    # First name of customer Address. It is a value of String type. No string validation occurs for minimum and maximum lengths.
    firstName: String!
    # A unique ID given to the address.It is autogenerated id.
    id: String
    # Boolean to represent if the given address is default for the customer. For each customer only one  address is default.
    isDefault: Boolean
    # Last name of the customer address.  It is a value of String type. No string validation occurs for minimum and maximum lengths.
    lastName: String!
    # Phone number of customer address. It is a value of String type. Phone number should not be null. Phone number is being validated by regex.
    phoneNumber: String!
    # State of the customer address. It is a value of String type. No string validation occurs for minimum and maximum lengths.
    state: String!
    # Zipcode of the customer address.It is validated by regex. It is a value of String type. Zipcode should not be null.
    zipCode: String!
  }

  # CustomerCard object - It refers to Payment Cards Details of the customer
  type Cards {
    # Refers payment card number of the customer. It is of string type. Card number is being validated by regex.
    cardNumber: String!
    # Refers card expiration month of the customer. It's range is between 1 to 12. Its value should be between 1 to 12.
    expirationMonth: String!
    # Refers card expiration year of the customer. Its format is YYYY.
    expirationYear: String!
    # Refers payment card holder first name of the customer. It is of string type. There is no string validation occurs for minimum and maximum lengths.
    firstName: String!
    # Refers id of the payment card in which the ID is randomly generated.
    id: String
    # Boolean to represent if the given card is default for the customer. For each customer only one card will be default.
    isDefault: Boolean
    # Refers payment card holder last name of the customer. It is of string type. There is no string validation occurs for minimum and maximum lengths.
    lastName: String!
    # Refers card provider/Brand name of the customer. It is of String type. No string validation occurs for minimum and maximum lengths.
    provider: String
    # Refers paymentToken that is generated by the payment gateway service. It is of String type. There is no string validation occurs for minimum and maximum lengths.
    token: String
  }

  # Credentials object - It refers to credentials Details  like password, security questions of the customer
  type Credentials {
    # Refers customer new password that needs to be provided while resetting a password. This is hidden property will be active on resetting a customer passwordPassword must contain 1 Uppercase, 1 Special Character and numeric value. Password validation is configurable in zookeeper key prop.passwordvalidatorclassname and password validatorconfig is prop.customer.passwordvalidatorconfig.Eg:Test@123.
    password: String!
    # SecurityQuestions object - Refers to customer's Security questions and answers, used to reset the password.
    securityQuestions: String
  }

  # CredentialsRequest object - It refers to credentials Details  like password, security questions of the customer
  type CredentialsRequest {
    # Refers customer new password that needs to be provided while resetting a password. This is hidden property will be active on resetting a customer passwordPassword must contain 1 Uppercase, 1 Special Character and numeric value. Password validation is configurable in zookeeper key prop.passwordvalidatorclassname and password validatorconfig is prop.customer.passwordvalidatorconfig.Eg:Test@123.
    password: String!
    # SecurityQuestionsRequest object - Refers to customer's Security questions and answers, used to reset the password.
    securityQuestions: String
  }

  # Credentials object - It refers to credentials Details  like security questions of the customer
  type CredentialsResponse {
    # SecurityQuestions object - Refers to customer's Security questions and answers, used to reset the password.
    securityQuestions: String
  }

  type Customer {
    # Custom properties map, holds all additional properties which needs to be added to a customer account apart from the available default properties. It is of JSON type whose Keys denoting the customer property-name and Values denoting the property values. Eg., customProperties : {‘segment’:‘gold’,‘customerRollNumber’:‘123’}
    customProperties: JSON
    # Holds customer’s date of birth and values is of String type Eg: ‘Aug 10 1990’ or ‘08-10-1990’. No specific date format defined, it can be customized based on the client’s need. This value has no string validation for minimum and maximum lengths and it is not mandatory.
    dateOfBirth: String
    # Holds customer's unique email address with which he registers himself. This value should contain only a valid email address and for this value, a relevant identity will be created.This can be used to login this customer and it should not be duplicate. Eg., dev@skava.com
    email: String!
    # Refers customer's first name of String type Eg: testCustomerFirstName. There is no string validation occurs for minimum and maximum lengths as it is not mandatory.
    firstName: String
    # Refers customer’s gender of String type Eg: male. No string validation occurs for minimum and maximum lengths as it is not mandatory.
    gender: String
    # A unique ID given to the customer.It is autogenerated id.
    id: String
    # Refers customer's last name of String type Eg: testCustomerLastName. No string validation occurs for minimum and maximum lengths as it is not mandatory.
    lastName: String
    # Holds customer's unique phone number with which he registers himself. This value should contain only a valid number and for this value, a relevant identity will be created. This can be used to login this customer and it should not be duplicate. Eg., 1234567890
    phoneNumber: String
    # Holds the uploaded image Url of the customer’s profile photo. It is of String type which can hold any Url.It is not a mandatory property. No string validation occurs for minimum and maximum lengths.
    photo: String
  }

  type CustomerAddressResponse {
    address: String
    customer: String
    responseCode: String
    responseMessage: String
  }

  type CustomerCreateRequest {
    credentials: String
    # Custom properties map, holds all additional properties which needs to be added to a customer account apart from the available default properties. It is of JSON type whose Keys denoting the customer property-name and Values denoting the property values. Eg., customProperties : {‘segment’:‘gold’,‘customerRollNumber’:‘123’}
    customProperties: JSON
    # Holds customer's date of birth and values is of String type Eg: 'Aug 10 1990' or '08-10-1990'. No specific date format defined, it can be customized based on the client's need. This value has no string validation for minimum and maximum lengths and it is not mandatory.
    dateOfBirth: String
    # Holds customer's unique email address with which he registers himself. This value should contain only a valid email address and for this value, a relevant identity will be created.This can be used to login this customer and it should not be duplicate. Eg., dev@skava.com
    email: String!
    # Refers customer's first name of String type Eg: testCustomerFirstName. This is mandatory field when isGuestCustomer flag is "False".There is no string validation occurs for minimum and maximum lengths as it is not mandatory for isGuestUser -"True".
    firstName: String
    # Refers customer's gender of String type Eg: male. No string validation occurs for minimum and maximum lengths as it is not mandatory.
    gender: String
    # Represents input request flag which denotes whether the request needs to create a guest customer. It holds the boolean values 'true' or 'false'
    isGuestCustomer: Boolean
    # Refers customer's last name of String type Eg: testCustomerLastName. This is mandatory field when isGuestUser flag is "False".There is no string validation occurs for minimum and maximum lengths as it is not mandatory for isGuestCustomer -"True".
    lastName: String
    # Holds customer's unique phone number with which he registers himself. This value should contain only a valid number and for this value, a relevant identity will be created. This can be used to login this customer and it should not be duplicate. Eg., 1234567890
    phoneNumber: String
    # Holds the uploaded image Url of the customer's profile photo. It is of String type which can hold any Url.It is not a mandatory property.  No string validation occurs for minimum and maximum lengths.
    photo: String
  }

  type CustomerCreateResponse {
    customer: String
    responseCode: String
    responseMessage: String
  }

  type CustomerLoginResponse {
    customer: String
    # Indicates Session Id for the logged in customer
    sessionId: String
  }

  type CustomerPasswordResponse {
    responseCode: String
    responseMessage: String
  }

  type CustomerPaymentsResponse {
    payments: String
    responseCode: String
    responseMessage: String
  }

  type CustomerResetSecurityResponse {
    customer: String
    responseCode: String
    responseMessage: String
    securityQuestions: String
  }

  type CustomerResponse {
    customer: String
    responseCode: String
    responseMessage: String
  }

  # CustomerSecurityRequest object - It refers to CustomerSecurityRequest contains email/phoneNumber and password and security questions and answers.
  type CustomerSecurityRequest {
    # Identity holds the string value of customer's unique identity like phoneNumber, email.
    identity: String!
    SecurityQuestionsRequest: String
  }

  type CustomerSecurityResponse {
    responseCode: String
    responseMessage: String
    securityQuestions: String
  }

  type CustomerUpdateRequest {
    # Custom properties map, holds all additional properties which needs to be added to a customer account apart from the available default properties. It is of JSON type whose Keys denoting the customer property-name and values denoting the property values. Eg., customProperties : {‘segment’:‘gold’,‘customerRollNumber’:‘123’}
    customProperties: JSON
    # Holds customer’s date of birth and values is of String type Eg: ‘Aug 10 1990’ or ‘08-10-1990’. No specific date format defined, it can be customized based on the client’s need. This value has no string validation for minimum and maximum lengths and it is not mandatory.
    dateOfBirth: String
    # Holds customer's unique email address with which he registers himself. This value should contain only a valid email address and for this value, a relevant identity will be created.This can be used to login this customer and it should not be duplicate. Eg., dev@skava.com
    email: String!
    # Refers customer's first name of String type Eg: testCustomerFirstName. There is no string validation occurs for minimum and maximum lengths as it is not mandatory.
    firstName: String
    # Refers customer’s gender of String type Eg: male. No string validation occurs for minimum and maximum lengths as it is not mandatory.
    gender: String
    # Refers customer's last name of String type Eg: testCustomerLastName. No string validation occurs for minimum and maximum lengths as it is not mandatory.
    lastName: String
    # Holds customer's unique phone number with which he registers himself. This value should contain only a valid number and for this value, a relevant identity will be created. This can be used to login this customer and it should not be duplicate. Eg., 1234567890
    phoneNumber: String
    # Holds the uploaded image Url of the customer’s profile photo. It is of String type which can hold any Url.It is not a mandatory property. No string validation occurs for minimum and maximum lengths.
    photo: String
    securityQuestions: String
  }

  type Customers {
    address: String
    # Custom properties map, holds all additional properties which needs to be added to a customer account apart from the available default properties. It is of JSON type whose Keys denoting the customer property-name and Values denoting the property values. Eg., customProperties : {‘segment’:‘gold’,‘customerRollNumber’:‘123’}
    customProperties: JSON
    # Holds customer’s date of birth and values is of String type Eg: ‘Aug 10 1990’ or ‘08-10-1990’. No specific date format defined, it can be customized based on the client’s need. This value has no string validation for minimum and maximum lengths and it is not mandatory.
    dateOfBirth: String
    # Holds customer's unique email address with which he registers himself. This value should contain only a valid email address and for this value, a relevant identity will be created.This can be used to login this customer and it should not be duplicate. Eg., dev@skava.com
    email: String
    # Refers customer's first name of String type Eg: testUserFirstName. There is no string validation occurs for minimum and maximum lengths as it is not mandatory.
    firstName: String
    # Refers customer’s gender of String type Eg: male. No string validation occurs for minimum and maximum lengths as it is not mandatory.
    gender: String
    # A unique ID given to the customer.It is autogenerated id.
    id: String
    # Refers customer's last name of String type Eg: testCustomerLastName. No string validation occurs for minimum and maximum lengths as it is not mandatory.
    lastName: String
    payments: String
    # Holds customer's unique phone number with which he registers himself. This value should contain only a valid number and for this value, a relevant identity will be created. This can be used to login this customer and it should not be duplicate. Eg., 1234567890
    phoneNumber: String
    # Holds the uploaded image Url of the customer's profile photo. It is of String type which can hold any Url.It is not a mandatory property. No string validation occurs for minimum and maximum lengths.
    photo: String
  }

  type LoadCustomerAddressResponse {
    address: String
    customer: String
    responseCode: String
    responseMessage: String
  }

  type LoadCustomerResponse {
    customers: String
    responseCode: String
    responseMessage: String
  }

  type LoadPaymentsResponse {
    payments: String
    responseCode: String
    responseMessage: String
  }

  type Payments {
    billingAddresses: String
    cards: String
    # A unique ID given to the payment.It is autogenerated id.
    id: String
    paymentDetails: String
  }

  type PaymentsDetails {
    # Unique Id of an account
    accountId: String
    # A unique ID given to the payment.It is autogenerated id.
    id: String
    # Name of a Payment.
    name: String
    # It consists if the paymentItem is Active or not.
    status: String
    # Type of paymentItem.
    type: String
  }

  # SecurityQuestions object - It refers to SecurityQuestions of the customer
  type SecurityQuestions {
    # Has string value and refers security answer details. No string validation occurs for minimum and maximum lengths
    answer: String!
    # Has string value and refers security question details. No string validation occurs for minimum and maximum lengths
    question: String!
  }

  # SecurityQuestionsRequest object - It refers to SecurityQuestions of the customer
  type SecurityQuestionsRequest {
    # Has string value and refers security answer details. No string validation occurs for minimum and maximum lengths
    answer: String
    # Has string value and refers security question details. No string validation occurs for minimum and maximum lengths
    question: String
  }

  # SecurityQuestions object - It refers to SecurityQuestions of the customer
  type SecurityQuestionsWithoutAnswers {
    # Has string value and refers security question details. No string validation occurs for minimum and maximum lengths
    question: String
  }
`