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

$id not converted to _id when querying ? #223

Closed
RageshAntony opened this issue Oct 3, 2020 · 6 comments
Closed

$id not converted to _id when querying ? #223

RageshAntony opened this issue Oct 3, 2020 · 6 comments
Labels
bug Something isn't working

Comments

@RageshAntony
Copy link

RageshAntony commented Oct 3, 2020

Bug description
I am querying MongoDB using a graphql backend via Artemis . The MongoDB having _id field as document id .

As per #116 , Artemis changing the variable name to $id from _id , to avoid Dart Naming rules conflicts

But now the problem is , when using queries with variables , Artemis ClassArguments.toJson producing $id only , not _id

So the GraphQL endpoint returning , "Variable \"$_id\" of required type \"MongoID!\" was not provided.

Why this happening ?

Specs
Artemis version: [6.12.3-beta.2]

build.yaml:
targets:
  $default:
    sources:
      - lib/**
      - lib/graphql/**
      - lib/graphql/schema.graphql
    builders:
      artemis:
        options:
          generate_helpers: true
          schema_mapping:
            - schema: lib/schema.graphql
              queries_glob: lib/graphql/*.gql
              output: lib/graphql_api.dart
          scalar_mapping:
            - graphql_type: MongoID
              dart_type: String
            - graphql_type: Date
              dart_type: DateTime
          
Artemis output:
[ +103 ms] executing: [/home/techrova/Documents/android/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +31 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] d408d302e22179d598f467e11da5dd968dbdc9ec
[   +1 ms] executing: [/home/techrova/Documents/android/flutter/] git tag --points-at HEAD
[  +16 ms] Exit code 0 from: git tag --points-at HEAD
[        ] 1.22.0
           1.22.0-12.3.pre
[  +11 ms] executing: [/home/techrova/Documents/android/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [/home/techrova/Documents/android/flutter/] git ls-remote --get-url origin
[   +4 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +50 ms] executing: [/home/techrova/Documents/android/flutter/] git rev-parse --abbrev-ref HEAD
[   +5 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +45 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[   +7 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[  +23 ms] Using /home/techrova/Documents/android/flutter/.pub-cache for the pub cache.
[        ] executing: /home/techrova/Documents/android/flutter/bin/cache/dart-sdk/bin/pub run build_runner build --verbose
[INFO] Generating build script...
[INFO] Generating build script completed, took 373ms

[WARNING] build.fallback:
The package `rovaclicks` does not include some required sources in any of its targets (see their build.yaml file).
The missing sources are:
  - $package$
[INFO] BuildDefinition:Initializing inputs
[INFO] BuildDefinition:Reading cached asset graph...
[INFO] BuildDefinition:Reading cached asset graph completed, took 81ms

[INFO] BuildDefinition:Checking for updates since last build...
[INFO] BuildDefinition:Checking for updates since last build completed, took 699ms

[INFO] Build:Running build...
[INFO] Heartbeat:1.0s elapsed, 0/4 actions completed.
[INFO] Heartbeat:2.3s elapsed, 0/4 actions completed.
[INFO] Heartbeat:3.4s elapsed, 0/4 actions completed.
[INFO] Heartbeat:4.4s elapsed, 0/4 actions completed.
[INFO] Heartbeat:8.3s elapsed, 0/4 actions completed.
[FINE] json_serializable:json_serializable on lib/screens/movie_screen.dart:Running JsonSerializableGenerator - 1 of 2
[FINE] json_serializable:json_serializable on lib/screens/movie_screen.dart:Running JsonLiteralGenerator - 2 of 2
[FINE] json_serializable:json_serializable on lib/screens/graphql_screen.dart:Running JsonSerializableGenerator - 1 of 2
[FINE] json_serializable:json_serializable on lib/screens/graphql_screen.dart:Running JsonLiteralGenerator - 2 of 2
[FINE] json_serializable:json_serializable on lib/screens/home_screen.dart:Running JsonSerializableGenerator - 1 of 2
[FINE] json_serializable:json_serializable on lib/screens/home_screen.dart:Running JsonLiteralGenerator - 2 of 2
[FINE] json_serializable:json_serializable on lib/main.dart:Running JsonSerializableGenerator - 1 of 2
[FINE] json_serializable:json_serializable on lib/main.dart:Running JsonLiteralGenerator - 2 of 2
[INFO] Build:Running build completed, took 14.3s

[INFO] Build:Caching finalized dependency graph...
[INFO] Build:Caching finalized dependency graph completed, took 48ms

[INFO] Build:Succeeded after 14.3s with 0 outputs (5 actions)

[+29243 ms] "flutter run" took 29,285ms.
[ +180 ms] ensureAnalyticsSent: 174ms
[   +3 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 0
GraphQL schema:
input _idOperatorsFilterCategoryInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFiltercontactusInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindManyCategoryInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindManycontactusInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindManySeriesInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindManyUserInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindOneCategoryInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindOnecontactusInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindOneSeriesInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterFindOneUserInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveManyCategoryInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveManycontactusInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveManySeriesInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveManyUserInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveOneCategoryInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveOnecontactusInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveOneSeriesInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterRemoveOneUserInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterSeriesInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateManyCategoryInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateManycontactusInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateManySeriesInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateManyUserInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateOneCategoryInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateOnecontactusInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateOneSeriesInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUpdateOneUserInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

input _idOperatorsFilterUserInput {
  gt: MongoID
  gte: MongoID
  lt: MongoID
  lte: MongoID
  ne: MongoID
  in: [MongoID]
  nin: [MongoID]
}

type Category {
  name: String!
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

"""A connection to a list of items."""
type CategoryConnection {
  """Total object count."""
  count: Int!

  """Information to aid in pagination."""
  pageInfo: PageInfo!

  """Information to aid in pagination."""
  edges: [CategoryEdge!]!
}

"""An edge in a connection."""
type CategoryEdge {
  """The item at the end of the edge"""
  node: Category!

  """A cursor for use in pagination"""
  cursor: String!
}

"""List of items with pagination."""
type CategoryPagination {
  """Total object count."""
  count: Int

  """Array of objects."""
  items: [Category!]

  """Information to aid in pagination."""
  pageInfo: PaginationInfo!
}

type contactus {
  createdBy: MongoID
  fullName: String!
  email: String!
  message: String!
  status: Float
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

"""A connection to a list of items."""
type contactusConnection {
  """Total object count."""
  count: Int!

  """Information to aid in pagination."""
  pageInfo: PageInfo!

  """Information to aid in pagination."""
  edges: [contactusEdge!]!
}

"""An edge in a connection."""
type contactusEdge {
  """The item at the end of the edge"""
  node: contactus!

  """A cursor for use in pagination"""
  cursor: String!
}

"""List of items with pagination."""
type contactusPagination {
  """Total object count."""
  count: Int

  """Array of objects."""
  items: [contactus!]

  """Information to aid in pagination."""
  pageInfo: PaginationInfo!
}

input CreatedAtOperatorsFilterCategoryInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFiltercontactusInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindManyCategoryInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindManycontactusInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindManySeriesInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindManyUserInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindOneCategoryInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindOnecontactusInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindOneSeriesInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterFindOneUserInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveManyCategoryInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveManycontactusInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveManySeriesInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveManyUserInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveOneCategoryInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveOnecontactusInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveOneSeriesInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterRemoveOneUserInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterSeriesInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateManyCategoryInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateManycontactusInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateManySeriesInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateManyUserInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateOneCategoryInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateOnecontactusInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateOneSeriesInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUpdateOneUserInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreatedAtOperatorsFilterUserInput {
  gt: Date
  gte: Date
  lt: Date
  lte: Date
  ne: Date
  in: [Date]
  nin: [Date]
}

input CreateManyCategoryInput {
  name: String!
  discription: String
  category_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateManyCategoryPayload {
  """Created document ID"""
  recordIds: [MongoID!]!

  """Created documents"""
  records: [Category!]!

  """Count of all documents created"""
  createCount: Int!
}

input CreateManycontactusInput {
  createdBy: MongoID
  fullName: String!
  email: String!
  message: String!
  status: Float
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateManycontactusPayload {
  """Created document ID"""
  recordIds: [MongoID!]!

  """Created documents"""
  records: [contactus!]!

  """Count of all documents created"""
  createCount: Int!
}

input CreateManySeriesInput {
  title: String!
  description: String!
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [SeriesSeasonsInfoInput]
  episodesData: [SeriesEpisodesDataInput]
  cast: [SeriesCastInput]
  studio: MongoID
  videoUrl: String!
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateManySeriesPayload {
  """Created document ID"""
  recordIds: [MongoID!]!

  """Created documents"""
  records: [Series!]!

  """Count of all documents created"""
  createCount: Int!
}

input CreateManyUserInput {
  userName: String!
  profileLink: String
  gender: String!
  like: [MongoID]
  email: String!
  dob: String!
  countryCode: String!
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateManyUserPayload {
  """Created document ID"""
  recordIds: [MongoID!]!

  """Created documents"""
  records: [User!]!

  """Count of all documents created"""
  createCount: Int!
}

input CreateOneCategoryInput {
  name: String!
  discription: String
  category_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateOneCategoryPayload {
  """Created document ID"""
  recordId: MongoID

  """Created document"""
  record: Category
}

input CreateOnecontactusInput {
  createdBy: MongoID
  fullName: String!
  email: String!
  message: String!
  status: Float
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateOnecontactusPayload {
  """Created document ID"""
  recordId: MongoID

  """Created document"""
  record: contactus
}

input CreateOneSeriesInput {
  title: String!
  description: String!
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [SeriesSeasonsInfoInput]
  episodesData: [SeriesEpisodesDataInput]
  cast: [SeriesCastInput]
  studio: MongoID
  videoUrl: String!
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateOneSeriesPayload {
  """Created document ID"""
  recordId: MongoID

  """Created document"""
  record: Series
}

input CreateOneUserInput {
  userName: String!
  profileLink: String
  gender: String!
  like: [MongoID]
  email: String!
  dob: String!
  countryCode: String!
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type CreateOneUserPayload {
  """Created document ID"""
  recordId: MongoID

  """Created document"""
  record: User
}

scalar Date

input EmailOperatorsFilterFindManyUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input EmailOperatorsFilterFindOneUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input EmailOperatorsFilterRemoveManyUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input EmailOperatorsFilterRemoveOneUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input EmailOperatorsFilterUpdateManyUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input EmailOperatorsFilterUpdateOneUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input EmailOperatorsFilterUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input FilterCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterCategoryInput
  OR: [FilterCategoryInput!]
  AND: [FilterCategoryInput!]
}

input FiltercontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFiltercontactusInput
  OR: [FiltercontactusInput!]
  AND: [FiltercontactusInput!]
}

input FilterFindManyCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindManyCategoryInput
  OR: [FilterFindManyCategoryInput!]
  AND: [FilterFindManyCategoryInput!]
}

input FilterFindManycontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindManycontactusInput
  OR: [FilterFindManycontactusInput!]
  AND: [FilterFindManycontactusInput!]
}

input FilterFindManySeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input FilterFindManySeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input FilterFindManySeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [FilterFindManySeriesSeasonsInfoInput]
  episodesData: [FilterFindManySeriesEpisodesDataInput]
  cast: [FilterFindManySeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindManySeriesInput
  OR: [FilterFindManySeriesInput!]
  AND: [FilterFindManySeriesInput!]
}

input FilterFindManySeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input FilterFindManyUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindManyUserInput
  OR: [FilterFindManyUserInput!]
  AND: [FilterFindManyUserInput!]
}

input FilterFindOneCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindOneCategoryInput
  OR: [FilterFindOneCategoryInput!]
  AND: [FilterFindOneCategoryInput!]
}

input FilterFindOnecontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindOnecontactusInput
  OR: [FilterFindOnecontactusInput!]
  AND: [FilterFindOnecontactusInput!]
}

input FilterFindOneSeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input FilterFindOneSeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input FilterFindOneSeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [FilterFindOneSeriesSeasonsInfoInput]
  episodesData: [FilterFindOneSeriesEpisodesDataInput]
  cast: [FilterFindOneSeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindOneSeriesInput
  OR: [FilterFindOneSeriesInput!]
  AND: [FilterFindOneSeriesInput!]
}

input FilterFindOneSeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input FilterFindOneUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterFindOneUserInput
  OR: [FilterFindOneUserInput!]
  AND: [FilterFindOneUserInput!]
}

input FilterRemoveManyCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveManyCategoryInput
  OR: [FilterRemoveManyCategoryInput!]
  AND: [FilterRemoveManyCategoryInput!]
}

input FilterRemoveManycontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveManycontactusInput
  OR: [FilterRemoveManycontactusInput!]
  AND: [FilterRemoveManycontactusInput!]
}

input FilterRemoveManySeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input FilterRemoveManySeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input FilterRemoveManySeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [FilterRemoveManySeriesSeasonsInfoInput]
  episodesData: [FilterRemoveManySeriesEpisodesDataInput]
  cast: [FilterRemoveManySeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveManySeriesInput
  OR: [FilterRemoveManySeriesInput!]
  AND: [FilterRemoveManySeriesInput!]
}

input FilterRemoveManySeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input FilterRemoveManyUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveManyUserInput
  OR: [FilterRemoveManyUserInput!]
  AND: [FilterRemoveManyUserInput!]
}

input FilterRemoveOneCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveOneCategoryInput
  OR: [FilterRemoveOneCategoryInput!]
  AND: [FilterRemoveOneCategoryInput!]
}

input FilterRemoveOnecontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveOnecontactusInput
  OR: [FilterRemoveOnecontactusInput!]
  AND: [FilterRemoveOnecontactusInput!]
}

input FilterRemoveOneSeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input FilterRemoveOneSeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input FilterRemoveOneSeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [FilterRemoveOneSeriesSeasonsInfoInput]
  episodesData: [FilterRemoveOneSeriesEpisodesDataInput]
  cast: [FilterRemoveOneSeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveOneSeriesInput
  OR: [FilterRemoveOneSeriesInput!]
  AND: [FilterRemoveOneSeriesInput!]
}

input FilterRemoveOneSeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input FilterRemoveOneUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterRemoveOneUserInput
  OR: [FilterRemoveOneUserInput!]
  AND: [FilterRemoveOneUserInput!]
}

input FilterSeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input FilterSeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input FilterSeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [FilterSeriesSeasonsInfoInput]
  episodesData: [FilterSeriesEpisodesDataInput]
  cast: [FilterSeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterSeriesInput
  OR: [FilterSeriesInput!]
  AND: [FilterSeriesInput!]
}

input FilterSeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input FilterUpdateManyCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateManyCategoryInput
  OR: [FilterUpdateManyCategoryInput!]
  AND: [FilterUpdateManyCategoryInput!]
}

input FilterUpdateManycontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateManycontactusInput
  OR: [FilterUpdateManycontactusInput!]
  AND: [FilterUpdateManycontactusInput!]
}

input FilterUpdateManySeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input FilterUpdateManySeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input FilterUpdateManySeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [FilterUpdateManySeriesSeasonsInfoInput]
  episodesData: [FilterUpdateManySeriesEpisodesDataInput]
  cast: [FilterUpdateManySeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateManySeriesInput
  OR: [FilterUpdateManySeriesInput!]
  AND: [FilterUpdateManySeriesInput!]
}

input FilterUpdateManySeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input FilterUpdateManyUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateManyUserInput
  OR: [FilterUpdateManyUserInput!]
  AND: [FilterUpdateManyUserInput!]
}

input FilterUpdateOneCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateOneCategoryInput
  OR: [FilterUpdateOneCategoryInput!]
  AND: [FilterUpdateOneCategoryInput!]
}

input FilterUpdateOnecontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateOnecontactusInput
  OR: [FilterUpdateOnecontactusInput!]
  AND: [FilterUpdateOnecontactusInput!]
}

input FilterUpdateOneSeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input FilterUpdateOneSeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input FilterUpdateOneSeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [FilterUpdateOneSeriesSeasonsInfoInput]
  episodesData: [FilterUpdateOneSeriesEpisodesDataInput]
  cast: [FilterUpdateOneSeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateOneSeriesInput
  OR: [FilterUpdateOneSeriesInput!]
  AND: [FilterUpdateOneSeriesInput!]
}

input FilterUpdateOneSeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input FilterUpdateOneUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUpdateOneUserInput
  OR: [FilterUpdateOneUserInput!]
  AND: [FilterUpdateOneUserInput!]
}

input FilterUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID
  updatedAt: Date
  createdAt: Date
  _ids: [MongoID]

  """List of *indexed* fields that can be filtered via operators."""
  _operators: OperatorsFilterUserInput
  OR: [FilterUserInput!]
  AND: [FilterUserInput!]
}

"""
The `ID` scalar type represents a unique MongoDB identifier in collection.
MongoDB by default use 12-byte ObjectId value
(https://docs.mongodb.com/manual/reference/bson-types/#objectid). But MongoDB
also may accepts string or integer as correct values for _id field.
"""
scalar MongoID

type Mutation {
  """
  Create one document with mongoose defaults, setters, hooks and validation
  """
  userCreateOne(record: CreateOneUserInput!): CreateOneUserPayload

  """
  Creates Many documents with mongoose defaults, setters, hooks and validation
  """
  userCreateMany(records: [CreateManyUserInput!]!): CreateManyUserPayload

  """
  Update one document: 1) Retrieve one document by findById. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  userUpdateById(record: UpdateByIdUserInput!): UpdateByIdUserPayload

  """
  Update one document: 1) Retrieve one document via findOne. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  userUpdateOne(
    record: UpdateOneUserInput!

    """Filter by fields"""
    filter: FilterUpdateOneUserInput
    sort: SortUpdateOneUserInput
    skip: Int
  ): UpdateOneUserPayload

  """
  Update many documents without returning them: Use Query.update mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  userUpdateMany(
    record: UpdateManyUserInput!

    """Filter by fields"""
    filter: FilterUpdateManyUserInput
    sort: SortUpdateManyUserInput
    skip: Int
    limit: Int = 1000
  ): UpdateManyUserPayload

  """
  Remove one document: 1) Retrieve one document and remove with hooks via findByIdAndRemove. 2) Return removed document.
  """
  userRemoveById(_id: MongoID!): RemoveByIdUserPayload

  """
  Remove one document: 1) Remove with hooks via findOneAndRemove. 2) Return removed document.
  """
  userRemoveOne(
    """Filter by fields"""
    filter: FilterRemoveOneUserInput
    sort: SortRemoveOneUserInput
  ): RemoveOneUserPayload

  """
  Remove many documents without returning them: Use Query.remove mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  userRemoveMany(
    """Filter by fields"""
    filter: FilterRemoveManyUserInput!
  ): RemoveManyUserPayload

  """
  Create one document with mongoose defaults, setters, hooks and validation
  """
  seriesCreateOne(record: CreateOneSeriesInput!): CreateOneSeriesPayload

  """
  Creates Many documents with mongoose defaults, setters, hooks and validation
  """
  seriesCreateMany(records: [CreateManySeriesInput!]!): CreateManySeriesPayload

  """
  Update one document: 1) Retrieve one document by findById. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  seriesUpdateById(record: UpdateByIdSeriesInput!): UpdateByIdSeriesPayload

  """
  Update one document: 1) Retrieve one document via findOne. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  seriesUpdateOne(
    record: UpdateOneSeriesInput!

    """Filter by fields"""
    filter: FilterUpdateOneSeriesInput
    sort: SortUpdateOneSeriesInput
    skip: Int
  ): UpdateOneSeriesPayload

  """
  Update many documents without returning them: Use Query.update mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  seriesUpdateMany(
    record: UpdateManySeriesInput!

    """Filter by fields"""
    filter: FilterUpdateManySeriesInput
    sort: SortUpdateManySeriesInput
    skip: Int
    limit: Int = 1000
  ): UpdateManySeriesPayload

  """
  Remove one document: 1) Retrieve one document and remove with hooks via findByIdAndRemove. 2) Return removed document.
  """
  seriesRemoveById(_id: MongoID!): RemoveByIdSeriesPayload

  """
  Remove one document: 1) Remove with hooks via findOneAndRemove. 2) Return removed document.
  """
  seriesRemoveOne(
    """Filter by fields"""
    filter: FilterRemoveOneSeriesInput
    sort: SortRemoveOneSeriesInput
  ): RemoveOneSeriesPayload

  """
  Remove many documents without returning them: Use Query.remove mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  seriesRemoveMany(
    """Filter by fields"""
    filter: FilterRemoveManySeriesInput!
  ): RemoveManySeriesPayload

  """
  Create one document with mongoose defaults, setters, hooks and validation
  """
  contactUsCreateOne(record: CreateOnecontactusInput!): CreateOnecontactusPayload

  """
  Creates Many documents with mongoose defaults, setters, hooks and validation
  """
  contactUsCreateMany(records: [CreateManycontactusInput!]!): CreateManycontactusPayload

  """
  Update one document: 1) Retrieve one document by findById. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  contactUsUpdateById(record: UpdateByIdcontactusInput!): UpdateByIdcontactusPayload

  """
  Update one document: 1) Retrieve one document via findOne. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  contactUsUpdateOne(
    record: UpdateOnecontactusInput!

    """Filter by fields"""
    filter: FilterUpdateOnecontactusInput
    sort: SortUpdateOnecontactusInput
    skip: Int
  ): UpdateOnecontactusPayload

  """
  Update many documents without returning them: Use Query.update mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  contactUsUpdateMany(
    record: UpdateManycontactusInput!

    """Filter by fields"""
    filter: FilterUpdateManycontactusInput
    sort: SortUpdateManycontactusInput
    skip: Int
    limit: Int = 1000
  ): UpdateManycontactusPayload

  """
  Remove one document: 1) Retrieve one document and remove with hooks via findByIdAndRemove. 2) Return removed document.
  """
  contactUsRemoveById(_id: MongoID!): RemoveByIdcontactusPayload

  """
  Remove one document: 1) Remove with hooks via findOneAndRemove. 2) Return removed document.
  """
  contactUsRemoveOne(
    """Filter by fields"""
    filter: FilterRemoveOnecontactusInput
    sort: SortRemoveOnecontactusInput
  ): RemoveOnecontactusPayload

  """
  Remove many documents without returning them: Use Query.remove mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  contactUsRemoveMany(
    """Filter by fields"""
    filter: FilterRemoveManycontactusInput!
  ): RemoveManycontactusPayload

  """
  Create one document with mongoose defaults, setters, hooks and validation
  """
  categoryCreateOne(record: CreateOneCategoryInput!): CreateOneCategoryPayload

  """
  Creates Many documents with mongoose defaults, setters, hooks and validation
  """
  categoryCreateMany(records: [CreateManyCategoryInput!]!): CreateManyCategoryPayload

  """
  Update one document: 1) Retrieve one document by findById. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  categoryUpdateById(record: UpdateByIdCategoryInput!): UpdateByIdCategoryPayload

  """
  Update one document: 1) Retrieve one document via findOne. 2) Apply updates to
  mongoose document. 3) Mongoose applies defaults, setters, hooks and
  validation. 4) And save it.
  """
  categoryUpdateOne(
    record: UpdateOneCategoryInput!

    """Filter by fields"""
    filter: FilterUpdateOneCategoryInput
    sort: SortUpdateOneCategoryInput
    skip: Int
  ): UpdateOneCategoryPayload

  """
  Update many documents without returning them: Use Query.update mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  categoryUpdateMany(
    record: UpdateManyCategoryInput!

    """Filter by fields"""
    filter: FilterUpdateManyCategoryInput
    sort: SortUpdateManyCategoryInput
    skip: Int
    limit: Int = 1000
  ): UpdateManyCategoryPayload

  """
  Remove one document: 1) Retrieve one document and remove with hooks via findByIdAndRemove. 2) Return removed document.
  """
  categoryRemoveById(_id: MongoID!): RemoveByIdCategoryPayload

  """
  Remove one document: 1) Remove with hooks via findOneAndRemove. 2) Return removed document.
  """
  categoryRemoveOne(
    """Filter by fields"""
    filter: FilterRemoveOneCategoryInput
    sort: SortRemoveOneCategoryInput
  ): RemoveOneCategoryPayload

  """
  Remove many documents without returning them: Use Query.remove mongoose
  method. Do not apply mongoose defaults, setters, hooks and validation. 
  """
  categoryRemoveMany(
    """Filter by fields"""
    filter: FilterRemoveManyCategoryInput!
  ): RemoveManyCategoryPayload
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterCategoryInput {
  _id: _idOperatorsFilterCategoryInput
  createdAt: CreatedAtOperatorsFilterCategoryInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFiltercontactusInput {
  _id: _idOperatorsFiltercontactusInput
  createdAt: CreatedAtOperatorsFiltercontactusInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindManyCategoryInput {
  _id: _idOperatorsFilterFindManyCategoryInput
  createdAt: CreatedAtOperatorsFilterFindManyCategoryInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindManycontactusInput {
  _id: _idOperatorsFilterFindManycontactusInput
  createdAt: CreatedAtOperatorsFilterFindManycontactusInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindManySeriesInput {
  _id: _idOperatorsFilterFindManySeriesInput
  createdAt: CreatedAtOperatorsFilterFindManySeriesInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindManyUserInput {
  email: EmailOperatorsFilterFindManyUserInput
  phoneNumber: PhoneNumberOperatorsFilterFindManyUserInput
  _id: _idOperatorsFilterFindManyUserInput
  createdAt: CreatedAtOperatorsFilterFindManyUserInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindOneCategoryInput {
  _id: _idOperatorsFilterFindOneCategoryInput
  createdAt: CreatedAtOperatorsFilterFindOneCategoryInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindOnecontactusInput {
  _id: _idOperatorsFilterFindOnecontactusInput
  createdAt: CreatedAtOperatorsFilterFindOnecontactusInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindOneSeriesInput {
  _id: _idOperatorsFilterFindOneSeriesInput
  createdAt: CreatedAtOperatorsFilterFindOneSeriesInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterFindOneUserInput {
  email: EmailOperatorsFilterFindOneUserInput
  phoneNumber: PhoneNumberOperatorsFilterFindOneUserInput
  _id: _idOperatorsFilterFindOneUserInput
  createdAt: CreatedAtOperatorsFilterFindOneUserInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveManyCategoryInput {
  _id: _idOperatorsFilterRemoveManyCategoryInput
  createdAt: CreatedAtOperatorsFilterRemoveManyCategoryInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveManycontactusInput {
  _id: _idOperatorsFilterRemoveManycontactusInput
  createdAt: CreatedAtOperatorsFilterRemoveManycontactusInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveManySeriesInput {
  _id: _idOperatorsFilterRemoveManySeriesInput
  createdAt: CreatedAtOperatorsFilterRemoveManySeriesInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveManyUserInput {
  email: EmailOperatorsFilterRemoveManyUserInput
  phoneNumber: PhoneNumberOperatorsFilterRemoveManyUserInput
  _id: _idOperatorsFilterRemoveManyUserInput
  createdAt: CreatedAtOperatorsFilterRemoveManyUserInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveOneCategoryInput {
  _id: _idOperatorsFilterRemoveOneCategoryInput
  createdAt: CreatedAtOperatorsFilterRemoveOneCategoryInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveOnecontactusInput {
  _id: _idOperatorsFilterRemoveOnecontactusInput
  createdAt: CreatedAtOperatorsFilterRemoveOnecontactusInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveOneSeriesInput {
  _id: _idOperatorsFilterRemoveOneSeriesInput
  createdAt: CreatedAtOperatorsFilterRemoveOneSeriesInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterRemoveOneUserInput {
  email: EmailOperatorsFilterRemoveOneUserInput
  phoneNumber: PhoneNumberOperatorsFilterRemoveOneUserInput
  _id: _idOperatorsFilterRemoveOneUserInput
  createdAt: CreatedAtOperatorsFilterRemoveOneUserInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterSeriesInput {
  _id: _idOperatorsFilterSeriesInput
  createdAt: CreatedAtOperatorsFilterSeriesInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateManyCategoryInput {
  _id: _idOperatorsFilterUpdateManyCategoryInput
  createdAt: CreatedAtOperatorsFilterUpdateManyCategoryInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateManycontactusInput {
  _id: _idOperatorsFilterUpdateManycontactusInput
  createdAt: CreatedAtOperatorsFilterUpdateManycontactusInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateManySeriesInput {
  _id: _idOperatorsFilterUpdateManySeriesInput
  createdAt: CreatedAtOperatorsFilterUpdateManySeriesInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateManyUserInput {
  email: EmailOperatorsFilterUpdateManyUserInput
  phoneNumber: PhoneNumberOperatorsFilterUpdateManyUserInput
  _id: _idOperatorsFilterUpdateManyUserInput
  createdAt: CreatedAtOperatorsFilterUpdateManyUserInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateOneCategoryInput {
  _id: _idOperatorsFilterUpdateOneCategoryInput
  createdAt: CreatedAtOperatorsFilterUpdateOneCategoryInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateOnecontactusInput {
  _id: _idOperatorsFilterUpdateOnecontactusInput
  createdAt: CreatedAtOperatorsFilterUpdateOnecontactusInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateOneSeriesInput {
  _id: _idOperatorsFilterUpdateOneSeriesInput
  createdAt: CreatedAtOperatorsFilterUpdateOneSeriesInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUpdateOneUserInput {
  email: EmailOperatorsFilterUpdateOneUserInput
  phoneNumber: PhoneNumberOperatorsFilterUpdateOneUserInput
  _id: _idOperatorsFilterUpdateOneUserInput
  createdAt: CreatedAtOperatorsFilterUpdateOneUserInput
}

"""For performance reason this type contains only *indexed* fields."""
input OperatorsFilterUserInput {
  email: EmailOperatorsFilterUserInput
  phoneNumber: PhoneNumberOperatorsFilterUserInput
  _id: _idOperatorsFilterUserInput
  createdAt: CreatedAtOperatorsFilterUserInput
}

"""Information about pagination in a connection."""
type PageInfo {
  """When paginating forwards, are there more items?"""
  hasNextPage: Boolean!

  """When paginating backwards, are there more items?"""
  hasPreviousPage: Boolean!

  """When paginating backwards, the cursor to continue."""
  startCursor: String

  """When paginating forwards, the cursor to continue."""
  endCursor: String
}

type PaginationInfo {
  currentPage: Int!
  perPage: Int!
  pageCount: Int
  itemCount: Int
  hasNextPage: Boolean
  hasPreviousPage: Boolean
}

input PhoneNumberOperatorsFilterFindManyUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input PhoneNumberOperatorsFilterFindOneUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input PhoneNumberOperatorsFilterRemoveManyUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input PhoneNumberOperatorsFilterRemoveOneUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input PhoneNumberOperatorsFilterUpdateManyUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input PhoneNumberOperatorsFilterUpdateOneUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

input PhoneNumberOperatorsFilterUserInput {
  gt: String
  gte: String
  lt: String
  lte: String
  ne: String
  in: [String]
  nin: [String]
}

type Query {
  userById(_id: MongoID!): User
  userByIds(_ids: [MongoID]!, limit: Int = 1000, sort: SortFindByIdsUserInput): [User!]
  userOne(
    """Filter by fields"""
    filter: FilterFindOneUserInput
    skip: Int
    sort: SortFindOneUserInput
  ): User
  userMany(
    """Filter by fields"""
    filter: FilterFindManyUserInput
    skip: Int
    limit: Int = 1000
    sort: SortFindManyUserInput
  ): [User!]
  userCount(
    """Filter by fields"""
    filter: FilterUserInput
  ): Int
  userConnection(
    """Forward pagination argument for returning at most first edges"""
    first: Int

    """Forward pagination argument for returning at most first edges"""
    after: String

    """Backward pagination argument for returning at most last edges"""
    last: Int

    """Backward pagination argument for returning at most last edges"""
    before: String

    """Filter by fields"""
    filter: FilterFindManyUserInput

    """Sort argument for data ordering"""
    sort: SortConnectionUserEnum = _ID_DESC
  ): UserConnection
  userPagination(
    """Page number for displaying"""
    page: Int
    perPage: Int = 20

    """Filter by fields"""
    filter: FilterFindManyUserInput
    sort: SortFindManyUserInput
  ): UserPagination
  seriesById(_id: MongoID!): Series
  seriesByIds(_ids: [MongoID]!, limit: Int = 1000, sort: SortFindByIdsSeriesInput): [Series!]
  seriesOne(
    """Filter by fields"""
    filter: FilterFindOneSeriesInput
    skip: Int
    sort: SortFindOneSeriesInput
  ): Series
  seriesMany(
    """Filter by fields"""
    filter: FilterFindManySeriesInput
    skip: Int
    limit: Int = 1000
    sort: SortFindManySeriesInput
  ): [Series!]
  seriesCount(
    """Filter by fields"""
    filter: FilterSeriesInput
  ): Int
  seriesConnection(
    """Forward pagination argument for returning at most first edges"""
    first: Int

    """Forward pagination argument for returning at most first edges"""
    after: String

    """Backward pagination argument for returning at most last edges"""
    last: Int

    """Backward pagination argument for returning at most last edges"""
    before: String

    """Filter by fields"""
    filter: FilterFindManySeriesInput

    """Sort argument for data ordering"""
    sort: SortConnectionSeriesEnum = _ID_DESC
  ): SeriesConnection
  seriesPagination(
    """Page number for displaying"""
    page: Int
    perPage: Int = 20

    """Filter by fields"""
    filter: FilterFindManySeriesInput
    sort: SortFindManySeriesInput
  ): SeriesPagination
  contactUsById(_id: MongoID!): contactus
  contactUsByIds(_ids: [MongoID]!, limit: Int = 1000, sort: SortFindByIdscontactusInput): [contactus!]
  contactUsOne(
    """Filter by fields"""
    filter: FilterFindOnecontactusInput
    skip: Int
    sort: SortFindOnecontactusInput
  ): contactus
  contactUsMany(
    """Filter by fields"""
    filter: FilterFindManycontactusInput
    skip: Int
    limit: Int = 1000
    sort: SortFindManycontactusInput
  ): [contactus!]
  contactUsCount(
    """Filter by fields"""
    filter: FiltercontactusInput
  ): Int
  contactUsConnection(
    """Forward pagination argument for returning at most first edges"""
    first: Int

    """Forward pagination argument for returning at most first edges"""
    after: String

    """Backward pagination argument for returning at most last edges"""
    last: Int

    """Backward pagination argument for returning at most last edges"""
    before: String

    """Filter by fields"""
    filter: FilterFindManycontactusInput

    """Sort argument for data ordering"""
    sort: SortConnectioncontactusEnum = _ID_DESC
  ): contactusConnection
  contactUsPagination(
    """Page number for displaying"""
    page: Int
    perPage: Int = 20

    """Filter by fields"""
    filter: FilterFindManycontactusInput
    sort: SortFindManycontactusInput
  ): contactusPagination
  categoryById(_id: MongoID!): Category
  categoryByIds(_ids: [MongoID]!, limit: Int = 1000, sort: SortFindByIdsCategoryInput): [Category!]
  categoryOne(
    """Filter by fields"""
    filter: FilterFindOneCategoryInput
    skip: Int
    sort: SortFindOneCategoryInput
  ): Category
  categoryMany(
    """Filter by fields"""
    filter: FilterFindManyCategoryInput
    skip: Int
    limit: Int = 1000
    sort: SortFindManyCategoryInput
  ): [Category!]
  categoryCount(
    """Filter by fields"""
    filter: FilterCategoryInput
  ): Int
  categoryConnection(
    """Forward pagination argument for returning at most first edges"""
    first: Int

    """Forward pagination argument for returning at most first edges"""
    after: String

    """Backward pagination argument for returning at most last edges"""
    last: Int

    """Backward pagination argument for returning at most last edges"""
    before: String

    """Filter by fields"""
    filter: FilterFindManyCategoryInput

    """Sort argument for data ordering"""
    sort: SortConnectionCategoryEnum = _ID_DESC
  ): CategoryConnection
  categoryPagination(
    """Page number for displaying"""
    page: Int
    perPage: Int = 20

    """Filter by fields"""
    filter: FilterFindManyCategoryInput
    sort: SortFindManyCategoryInput
  ): CategoryPagination
}

type RemoveByIdCategoryPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: Category
}

type RemoveByIdcontactusPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: contactus
}

type RemoveByIdSeriesPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: Series
}

type RemoveByIdUserPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: User
}

type RemoveManyCategoryPayload {
  """Affected documents number"""
  numAffected: Int
}

type RemoveManycontactusPayload {
  """Affected documents number"""
  numAffected: Int
}

type RemoveManySeriesPayload {
  """Affected documents number"""
  numAffected: Int
}

type RemoveManyUserPayload {
  """Affected documents number"""
  numAffected: Int
}

type RemoveOneCategoryPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: Category
}

type RemoveOnecontactusPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: contactus
}

type RemoveOneSeriesPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: Series
}

type RemoveOneUserPayload {
  """Removed document ID"""
  recordId: MongoID

  """Removed document"""
  record: User
}

type Series {
  title: String!
  description: String!
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [SeriesSeasonsInfo]
  episodesData: [SeriesEpisodesData]
  cast: [SeriesCast]
  studio: MongoID
  videoUrl: String!
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

type SeriesCast {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input SeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

"""A connection to a list of items."""
type SeriesConnection {
  """Total object count."""
  count: Int!

  """Information to aid in pagination."""
  pageInfo: PageInfo!

  """Information to aid in pagination."""
  edges: [SeriesEdge!]!
}

"""An edge in a connection."""
type SeriesEdge {
  """The item at the end of the edge"""
  node: Series!

  """A cursor for use in pagination"""
  cursor: String!
}

type SeriesEpisodesData {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input SeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

"""List of items with pagination."""
type SeriesPagination {
  """Total object count."""
  count: Int

  """Array of objects."""
  items: [Series!]

  """Information to aid in pagination."""
  pageInfo: PaginationInfo!
}

type SeriesSeasonsInfo {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input SeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

enum SortConnectionCategoryEnum {
  _ID_DESC
  _ID_ASC
}

enum SortConnectioncontactusEnum {
  _ID_DESC
  _ID_ASC
}

enum SortConnectionSeriesEnum {
  _ID_DESC
  _ID_ASC
}

enum SortConnectionUserEnum {
  _ID_DESC
  _ID_ASC
  EMAIL_DESC
  EMAIL_ASC
  PHONENUMBER_DESC
  PHONENUMBER_ASC
}

enum SortFindByIdsCategoryInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindByIdscontactusInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindByIdsSeriesInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindByIdsUserInput {
  _ID_ASC
  _ID_DESC
  EMAIL_ASC
  EMAIL_DESC
  PHONENUMBER_ASC
  PHONENUMBER_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindManyCategoryInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindManycontactusInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindManySeriesInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindManyUserInput {
  _ID_ASC
  _ID_DESC
  EMAIL_ASC
  EMAIL_DESC
  PHONENUMBER_ASC
  PHONENUMBER_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindOneCategoryInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindOnecontactusInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindOneSeriesInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortFindOneUserInput {
  _ID_ASC
  _ID_DESC
  EMAIL_ASC
  EMAIL_DESC
  PHONENUMBER_ASC
  PHONENUMBER_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortRemoveOneCategoryInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortRemoveOnecontactusInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortRemoveOneSeriesInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortRemoveOneUserInput {
  _ID_ASC
  _ID_DESC
  EMAIL_ASC
  EMAIL_DESC
  PHONENUMBER_ASC
  PHONENUMBER_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateManyCategoryInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateManycontactusInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateManySeriesInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateManyUserInput {
  _ID_ASC
  _ID_DESC
  EMAIL_ASC
  EMAIL_DESC
  PHONENUMBER_ASC
  PHONENUMBER_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateOneCategoryInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateOnecontactusInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateOneSeriesInput {
  _ID_ASC
  _ID_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

enum SortUpdateOneUserInput {
  _ID_ASC
  _ID_DESC
  EMAIL_ASC
  EMAIL_DESC
  PHONENUMBER_ASC
  PHONENUMBER_DESC
  CREATEDAT_ASC
  CREATEDAT_DESC
  CREATEDAT__UPDATEDAT_ASC
  CREATEDAT__UPDATEDAT_DESC
}

input UpdateByIdCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

type UpdateByIdCategoryPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: Category
}

input UpdateByIdcontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

type UpdateByIdcontactusPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: contactus
}

input UpdateByIdSeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input UpdateByIdSeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input UpdateByIdSeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [UpdateByIdSeriesSeasonsInfoInput]
  episodesData: [UpdateByIdSeriesEpisodesDataInput]
  cast: [UpdateByIdSeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

type UpdateByIdSeriesPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: Series
}

input UpdateByIdSeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input UpdateByIdUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

type UpdateByIdUserPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: User
}

input UpdateManyCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateManyCategoryPayload {
  """Affected documents number"""
  numAffected: Int
}

input UpdateManycontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateManycontactusPayload {
  """Affected documents number"""
  numAffected: Int
}

input UpdateManySeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input UpdateManySeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input UpdateManySeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [UpdateManySeriesSeasonsInfoInput]
  episodesData: [UpdateManySeriesEpisodesDataInput]
  cast: [UpdateManySeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateManySeriesPayload {
  """Affected documents number"""
  numAffected: Int
}

input UpdateManySeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input UpdateManyUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateManyUserPayload {
  """Affected documents number"""
  numAffected: Int
}

input UpdateOneCategoryInput {
  name: String
  discription: String
  category_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateOneCategoryPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: Category
}

input UpdateOnecontactusInput {
  createdBy: MongoID
  fullName: String
  email: String
  message: String
  status: Float
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateOnecontactusPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: contactus
}

input UpdateOneSeriesCastInput {
  name: String
  roll: String
  info: String
  _id: MongoID
}

input UpdateOneSeriesEpisodesDataInput {
  seasonNo: Float
  number: String
  title: String
  desc: String
  airDate: Date
  durationMins: Float
  poster: String
  uri: String
  _id: MongoID
}

input UpdateOneSeriesInput {
  title: String
  description: String
  rating: [String]
  maturity: Float
  release: Date
  language: String
  seasons: Float
  seasonsInfo: [UpdateOneSeriesSeasonsInfoInput]
  episodesData: [UpdateOneSeriesEpisodesDataInput]
  cast: [UpdateOneSeriesCastInput]
  studio: MongoID
  videoUrl: String
  videoImage: String
  createdBy: MongoID
  for: String
  isPaid: Boolean
  categoryId: MongoID
  likes: [MongoID]
  disLikes: [MongoID]
  views: [MongoID]
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateOneSeriesPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: Series
}

input UpdateOneSeriesSeasonsInfoInput {
  seasonNo: Float
  info: String
  release: Date
  episodes: Float
  _id: MongoID
}

input UpdateOneUserInput {
  userName: String
  profileLink: String
  gender: String
  like: [MongoID]
  email: String
  dob: String
  countryCode: String
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  updatedAt: Date
  createdAt: Date
}

type UpdateOneUserPayload {
  """Updated document ID"""
  recordId: MongoID

  """Updated document"""
  record: User
}

type User {
  userName: String!
  profileLink: String
  gender: String!
  like: [MongoID]
  email: String!
  dob: String!
  countryCode: String!
  phoneNumber: String
  userType: String
  password: String
  profile_img: String
  isDeleted: Boolean
  _id: MongoID!
  updatedAt: Date
  createdAt: Date
}

"""A connection to a list of items."""
type UserConnection {
  """Total object count."""
  count: Int!

  """Information to aid in pagination."""
  pageInfo: PageInfo!

  """Information to aid in pagination."""
  edges: [UserEdge!]!
}

"""An edge in a connection."""
type UserEdge {
  """The item at the end of the edge"""
  node: User!

  """A cursor for use in pagination"""
  cursor: String!
}

"""List of items with pagination."""
type UserPagination {
  """Total object count."""
  count: Int

  """Array of objects."""
  items: [User!]

  """Information to aid in pagination."""
  pageInfo: PaginationInfo!
}

GraphQL query:
query seriesById($_id: MongoID!){
    seriesById(_id: $_id){
        title
        description
        rating
        maturity
        release
        language
        seasons
        seasonsInfo{
            seasonNo
            info
            release
            episodes
            _id
        }
        episodesData{
            seasonNo
            number
            title
            desc
            airDate
            durationMins
            poster
            uri
            _id
        }
        cast{
            name
            roll
            info
            _id
        }
        studio
        videoUrl
        videoImage
        createdBy
        for
        isPaid
        categoryId
        likes
        disLikes
        views
        isDeleted
        _id
        updatedAt
        createdAt
    }
}

Flutter implementation Code

This is my code to run query . theSeriesByIdArguments(..).toJson()produces {$id: 5f660d7a929072166f5addb2} instead of {_id: 5f660d7a929072166f5addb2}

Future getSeries() async {
  final args = SeriesByIdArguments($id: "5f660d7a929072166f5addb2");
  final WatchQueryOptions _options = WatchQueryOptions(
      errorPolicy: ErrorPolicy.all,
      fetchResults: true,
      variables: <String, dynamic>{
        '_id': "5f660d7a929072166f5addb2", // if I gave args.toJson() , it produces {$id: 5f660d7a929072166f5addb2}
      },
      documentNode: SeriesByIdQuery(
              variables: SeriesByIdArguments($id: "5f660d7a929072166f5addb2"))
          .document);

  final client = GraphQLClient(
    cache: InMemoryCache(),
    link: HttpLink(uri: 'http://192.168.31.107:8000/graphql'),
  );

  QueryResult result = await client.query(_options);
  final series = SeriesById$Query$Series.fromJson(result.data);
  print('series ' + result.data.toString());
  print(args.toJson());
}

Artemis Client

The same issue occurs When I used Artemis Client Helper class


Future getSeriesDetails() async {
  final client = ArtemisClient('http://192.168.31.107:8000/graphql');
  final serqur = SeriesByIdQuery(
      variables: SeriesByIdArguments($id: "5f660d7a929072166f5addb2"));
  final response = await client.execute(serqur);

  print('series ' + response.data.seriesById.description);
}

I am getting error "Variable \"$_id\" of required type \"MongoID!\" was not provided.

I checked the generated code, The implementation in generated class is only having $id for both fromJson and toJson

image

So I think there is some issue here . Please help .

Thanks in advance

@vasilich6107
Copy link
Collaborator

Thanks, I’ll try to create a test based on your case

@vasilich6107
Copy link
Collaborator

vasilich6107 commented Oct 4, 2020

use this to install the fixed version until @comigor merges fix into beta branch

https://tppr.me/jfLOK

  artemis:
    git:
      url: git://github.com/comigor/artemis.git
      ref: input-underscore-bugfix

@RageshAntony
Copy link
Author

use this to install the fixed version until @comigor merges fix into beta branch

https://tppr.me/jfLOK

  artemis:
    git:
      url: git://github.com/comigor/artemis.git
      ref: input-underscore-bugfix

Thanks very much 💞 .Let me try 🙏

@vasilich6107
Copy link
Collaborator

@RageshAntony any updates?

@vasilich6107
Copy link
Collaborator

Fixed in 6.13.1-beta.1
Feel free to re open the issue if needed.

@RageshAntony
Copy link
Author

@RageshAntony any updates?

Yeah it's working . I was busy so I can't test it . Today I used latest beta and it's working . Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants