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

[BUG] Generated code handling records with more than 30 fields fails silently. #285

Closed
RoarGronmo opened this issue Dec 14, 2021 · 31 comments · Fixed by #288
Closed

[BUG] Generated code handling records with more than 30 fields fails silently. #285

RoarGronmo opened this issue Dec 14, 2021 · 31 comments · Fixed by #288
Assignees
Labels
bug Something isn't working

Comments

@RoarGronmo
Copy link

Describe the bug
After adding some fields to a (working) record, the generated code fails out of the blue. It fails silently with no error casting or reason. Code generation seems ok (no significant warnings or errors). I have pinpointed the failing reason in the swagger file to be when a record contains more than 30 fields, then the generated code will not return anything from that record.

To Reproduce
Working swagger code

{
  "openapi": "3.0.1",
  "info": {
    "title": "MOrdreAPI",
    "version": "637744809542676228"
  },
  "paths": {
    "/FileIO/firms/{frmNo}/orders/{ordNo}/note": {
      "get": {
        "tags": [
          "FileIO"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ordNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "noteNm",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hash",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              }
            }
          }
        }
      }
    },
    "/FileIO/firms/{frmNo}/orders/{ordNo}/orderlines/{lnNo}/note": {
      "get": {
        "tags": [
          "FileIO"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ordNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lnNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "noteNm",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hash",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/textTypes": {
      "get": {
        "tags": [
          "Order"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StringInt32IDictionaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringInt32IDictionaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringInt32IDictionaryResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firmCountries": {
      "get": {
        "tags": [
          "Order"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Int32IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Int32IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Int32IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "ctry",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FrmIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrmIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrmIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/texts": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "txtTp",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/TextTp"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TxtIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TxtIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TxtIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/units": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UnitIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnitIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnitIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/products": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProdIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/products/{prodNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "prodNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProdResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/offices": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/offices/{rNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "rNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/sections": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "r10",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R1IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/sections/{rNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "rNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R1Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1Result"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/customers/{custNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "custNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ActorCustomerResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorCustomerResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorCustomerResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/actors/{actNo}/deliveryAddresses": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "actNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ActorDeliveryAddressIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorDeliveryAddressIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorDeliveryAddressIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/actors/{actNo}/contactPersons": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "actNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ActorContactPersonIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorContactPersonIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorContactPersonIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/offices/{r10}/work": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "r10",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WorkResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkResult"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ActorContactPerson": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "actNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ad1": {
            "type": "string",
            "nullable": true
          },
          "ad2": {
            "type": "string",
            "nullable": true
          },
          "pNo": {
            "type": "string",
            "nullable": true
          },
          "ad4": {
            "type": "string",
            "nullable": true
          },
          "pArea": {
            "type": "string",
            "nullable": true
          },
          "mobPh": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
            "type": "integer",
            "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ActorContactPersonIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActorContactPerson"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActorCustomer": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "actNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ad1": {
            "type": "string",
            "nullable": true
          },
          "ad2": {
            "type": "string",
            "nullable": true
          },
          "ad4": {
            "type": "string",
            "nullable": true
          },
          "pNo": {
            "type": "string",
            "nullable": true
          },
          "pArea": {
            "type": "string",
            "nullable": true
          },
          "mobPh": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
             "type": "integer",
             "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          },
          "custNo": {
            "type": "integer",
            "format": "int32"
          },
          "crSusp": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActorCustomerResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/ActorCustomer"
          }
        },
        "additionalProperties": false
      },
      "ActorDeliveryAddress": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "actNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ad1": {
            "type": "string",
            "nullable": true
          },
          "ad2": {
            "type": "string",
            "nullable": true
          },
          "ad4": {
            "type": "string",
            "nullable": true
          },
          "pNo": {
            "type": "string",
            "nullable": true
          },
          "pArea": {
            "type": "string",
            "nullable": true
          },
          "mobPh": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
            "type": "integer",
            "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ActorDeliveryAddressIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActorDeliveryAddress"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Frm": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FrmIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Frm"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Int32IEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Ord": {
        "type": "object",
        "properties": {
          "frmNo":{
            "type": "integer",
            "format": "int32"
          },
          "ordNo": {
            "type": "integer",
            "format": "int32"
          },
          "r1": {
            "type": "string",
            "nullable": true
          },
          "r2": {
            "type": "string",
            "nullable": true
          },
          "r10": {
            "type": "string",
            "nullable": true
          },
          "r11": {
            "type": "string",
            "nullable": true
          },
          "empNo": {
            "type": "integer",
            "format": "int32"
          },
          "rsp": {
            "type": "integer",
            "format": "int32"
          },
          "custNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
            "type": "integer",
            "format": "int32"
          },
          "delAd1": {
            "type": "string",
            "nullable": true
          },
          "delAd2": {
            "type": "string",
            "nullable": true
          },
          "delAd4": {
            "type": "string",
            "nullable": true
          },
          "delPArea": {
            "type": "string",
            "nullable": true
          },
          "cfDelDt": {
            "type": "integer",
            "format": "int32"
          },
          "gr": {
            "type": "integer",
            "format": "int32"
          },
          "gr2": {
            "type": "integer",
            "format": "int32"
          },
          "gr6": {
            "type": "integer",
            "format": "int32"
          },
          "ourRef": {
            "type": "string",
            "nullable": true
          },
          "yrRef": {
            "type": "string",
            "nullable": true
          },
          "csOrdNo": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "inf": {
            "type": "string",
            "nullable": true
          },
          "inf2": {
            "type": "string",
            "nullable": true
          },
          "inf3": {
            "type": "string",
            "nullable": true
          },
          "inf4": {
            "type": "string",
            "nullable": true
          },
          "inf5": {
            "type": "string",
            "nullable": true
          },
          "inf6": {
            "type": "string",
            "nullable": true
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrdLn": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "ordNo": {
            "type": "integer",
            "format": "int32"
          },
          "lnNo": {
            "type": "integer",
            "format": "int32"
          },
          "prodNo": {
            "type": "string",
            "nullable": true
          },
          "descr": {
            "type": "string",
            "nullable": true
          },
          "r1": {
            "type": "integer",
            "format": "int32"
          },
          "cfDelDt": {
            "type": "integer",
            "format": "int32"
          },
          "durDt": {
            "type": "integer",
            "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Prod": {
        "type": "object",
        "properties": {
          "prodNo": {
            "type": "string",
            "nullable": true
          },
          "descr": {
            "type": "string",
            "nullable": true
          },
          "prodTp3": {
            "type": "integer",
            "format": "int32"
          },
          "prodGr": {
            "type": "integer",
            "format": "int32"
          },
          "prodPrG2": {
            "type": "integer",
            "format": "int32"
          },
          "stSaleUn": {
            "type": "integer",
            "format": "int32"
          },
          "webPg2": {
            "type": "string",
            "nullable": true
          },
          "r3": {
            "type": "integer",
            "format": "int32"
          },
          "r4": {
            "type": "integer",
            "format": "int32"
          },
          "procMt": {
            "type": "integer",
            "format": "int32"
          },
          "excPrint": {
            "type": "integer",
            "format": "int32"
          },
          "editPref": {
            "type": "integer",
            "format": "int32"
          },
          "edFmt": {
            "type": "integer",
            "format": "int32"
          },
          "specFunc": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProdIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prod"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProdResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/Prod"
          }
        },
        "additionalProperties": false
      },
      "R1": {
        "type": "object",
        "properties": {
          "rNo": {
            "type": "integer",
            "format": "int32"
          },
          "r10": {
            "type": "string",
            "nullable": true
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R10": {
        "type": "object",
        "properties": {
          "rNo": {
            "type": "string",
            "nullable": true
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R10IEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/R10"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R1IEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/R1"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R1Result": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/R1"
          }
        },
        "additionalProperties": false
      },
      "StringInt32IDictionaryResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
          },
          "additionalProperties": false
        },
        "StringResult": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
        },
      "TextTp": {
        "enum": [
          16,
          21,
          48,
          53
        ],
        "type": "integer",
        "format": "int32"
      },
      "Txt": {
        "type": "object",
        "properties": {
          "txtNo": {
            "type": "integer",
            "format": "int32"
          },
          "txt": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TxtIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Txt"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Unit": {
        "type": "object",
        "properties": {
          "un": {
            "type": "integer",
            "format": "int32"
          },
          "descr": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UnitIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Unit"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Work": {
        "type": "object",
        "properties": {
          "ords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ord"
            },
            "nullable": true
          },
          "ordLns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrdLn"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/Work"
          }
        },
        "additionalProperties": false
      }
    }
  }
}

Failing swagger code:

{
  "openapi": "3.0.1",
  "info": {
    "title": "MOrdreAPI",
    "version": "637747295269157904"
  },
  "paths": {
    "/FileIO/firms/{frmNo}/orders/{ordNo}/note": {
      "get": {
        "tags": [
          "FileIO"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ordNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "noteNm",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hash",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              }
            }
          }
        }
      }
    },
    "/FileIO/firms/{frmNo}/orders/{ordNo}/orderlines/{lnNo}/note": {
      "get": {
        "tags": [
          "FileIO"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ordNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lnNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "noteNm",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hash",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/textTypes": {
      "get": {
        "tags": [
          "Order"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StringInt32IDictionaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringInt32IDictionaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringInt32IDictionaryResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firmCountries": {
      "get": {
        "tags": [
          "Order"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Int32IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Int32IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Int32IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "ctry",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FrmIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrmIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrmIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/texts": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "txtTp",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/TextTp"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TxtIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TxtIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TxtIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/units": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UnitIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnitIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnitIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/products": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProdIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/products/{prodNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "prodNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProdResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProdResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/offices": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/offices/{rNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "rNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R10IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/sections": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "r10",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R1IEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1IEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1IEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/sections/{rNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "rNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/R1Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/R1Result"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/customers/{custNo}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "custNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ActorCustomerResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorCustomerResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorCustomerResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/actors/{actNo}/deliveryAddresses": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "actNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ActorDeliveryAddressIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorDeliveryAddressIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorDeliveryAddressIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/actors/{actNo}/contactPersons": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "actNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ActorContactPersonIEnumerableResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorContactPersonIEnumerableResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActorContactPersonIEnumerableResult"
                }
              }
            }
          }
        }
      }
    },
    "/Order/firms/{frmNo}/offices/{r10}/work": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "frmNo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "r10",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WorkResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkResult"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ActorContactPerson": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "actNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ad1": {
            "type": "string",
            "nullable": true
          },
          "ad2": {
            "type": "string",
            "nullable": true
          },
          "ad4": {
            "type": "string",
            "nullable": true
          },
          "pNo": {
            "type": "string",
            "nullable": true
          },
          "pArea": {
            "type": "string",
            "nullable": true
          },
          "mobPh": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
            "type": "integer",
            "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ActorContactPersonIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActorContactPerson"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActorCustomer": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "actNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ad1": {
            "type": "string",
            "nullable": true
          },
          "ad2": {
            "type": "string",
            "nullable": true
          },
          "ad4": {
            "type": "string",
            "nullable": true
          },
          "pNo": {
            "type": "string",
            "nullable": true
          },
          "pArea": {
            "type": "string",
            "nullable": true
          },
          "mobPh": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
            "type": "integer",
            "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          },
          "custNo": {
            "type": "integer",
            "format": "int32"
          },
          "crSusp": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ActorCustomerResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/ActorCustomer"
          }
        },
        "additionalProperties": false
      },
      "ActorDeliveryAddress": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "actNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ad1": {
            "type": "string",
            "nullable": true
          },
          "ad2": {
            "type": "string",
            "nullable": true
          },
          "ad4": {
            "type": "string",
            "nullable": true
          },
          "pNo": {
            "type": "string",
            "nullable": true
          },
          "pArea": {
            "type": "string",
            "nullable": true
          },
          "mobPh": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
            "type": "integer",
            "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ActorDeliveryAddressIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActorDeliveryAddress"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Frm": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FrmIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Frm"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Int32IEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Ord": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "ordNo": {
            "type": "integer",
            "format": "int32"
          },
          "r1": {
            "type": "string",
            "nullable": true
          },
          "r2": {
            "type": "string",
            "nullable": true
          },
          "r10": {
            "type": "string",
            "nullable": true
          },
          "r11": {
            "type": "string",
            "nullable": true
          },
          "empNo": {
            "type": "integer",
            "format": "int32"
          },
          "rsp": {
            "type": "integer",
            "format": "int32"
          },
          "custNo": {
            "type": "integer",
            "format": "int32"
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "ctry": {
            "type": "integer",
            "format": "int32"
          },
          "delAd1": {
            "type": "string",
            "nullable": true
          },
          "delAd2": {
            "type": "string",
            "nullable": true
          },
          "delAd4": {
            "type": "string",
            "nullable": true
          },
          "delPArea": {
            "type": "string",
            "nullable": true
          },
          "cfDelDt": {
            "type": "integer",
            "format": "int32"
          },
          "gr": {
            "type": "integer",
            "format": "int32"
          },
          "gr2": {
            "type": "integer",
            "format": "int32"
          },
          "gr6": {
            "type": "integer",
            "format": "int32"
          },
          "ourRef": {
            "type": "string",
            "nullable": true
          },
          "yrRef": {
            "type": "string",
            "nullable": true
          },
          "csOrdNo": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "inf": {
            "type": "string",
            "nullable": true
          },
          "inf2": {
            "type": "string",
            "nullable": true
          },
          "inf3": {
            "type": "string",
            "nullable": true
          },
          "inf4": {
            "type": "string",
            "nullable": true
          },
          "inf5": {
            "type": "string",
            "nullable": true
          },
          "inf6": {
            "type": "string",
            "nullable": true
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "OrdLn": {
        "type": "object",
        "properties": {
          "frmNo": {
            "type": "integer",
            "format": "int32"
          },
          "ordNo": {
            "type": "integer",
            "format": "int32"
          },
          "lnNo": {
            "type": "integer",
            "format": "int32"
          },
          "prodNo": {
            "type": "string",
            "nullable": true
          },
          "descr": {
            "type": "string",
            "nullable": true
          },
          "r1": {
            "type": "integer",
            "format": "int32"
          },
          "cfDelDt": {
            "type": "integer",
            "format": "int32"
          },
          "durDt": {
            "type": "integer",
            "format": "int32"
          },
          "noteNm": {
            "type": "string",
            "nullable": true
          },
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Prod": {
        "type": "object",
        "properties": {
          "prodNo": {
            "type": "string",
            "nullable": true
          },
          "descr": {
            "type": "string",
            "nullable": true
          },
          "prodTp3": {
            "type": "integer",
            "format": "int32"
          },
          "prodGr": {
            "type": "integer",
            "format": "int32"
          },
          "prodPrG2": {
            "type": "integer",
            "format": "int32"
          },
          "stSaleUn": {
            "type": "integer",
            "format": "int32"
          },
          "webPg2": {
            "type": "string",
            "nullable": true
          },
          "r3": {
            "type": "integer",
            "format": "int32"
          },
          "r4": {
            "type": "integer",
            "format": "int32"
          },
          "procMt": {
            "type": "integer",
            "format": "int32"
          },
          "excPrint": {
            "type": "integer",
            "format": "int32"
          },
          "editPref": {
            "type": "integer",
            "format": "int32"
          },
          "edFmt": {
            "type": "integer",
            "format": "int32"
          },
          "specFunc": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProdIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prod"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProdResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/Prod"
          }
        },
        "additionalProperties": false
      },
      "R1": {
        "type": "object",
        "properties": {
          "rNo": {
            "type": "integer",
            "format": "int32"
          },
          "r10": {
            "type": "string",
            "nullable": true
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R10": {
        "type": "object",
        "properties": {
          "rNo": {
            "type": "string",
            "nullable": true
          },
          "nm": {
            "type": "string",
            "nullable": true
          },
          "mailAd": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R10IEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/R10"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R1IEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/R1"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "R1Result": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/R1"
          }
        },
        "additionalProperties": false
      },
      "StringInt32IDictionaryResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StringResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TextTp": {
        "enum": [
          16,
          21,
          48,
          53
        ],
        "type": "integer",
        "format": "int32"
      },
      "Txt": {
        "type": "object",
        "properties": {
          "txtNo": {
            "type": "integer",
            "format": "int32"
          },
          "txt": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TxtIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Txt"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Unit": {
        "type": "object",
        "properties": {
          "un": {
            "type": "integer",
            "format": "int32"
          },
          "descr": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UnitIEnumerableResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Unit"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Work": {
        "type": "object",
        "properties": {
          "ords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ord"
            },
            "nullable": true
          },
          "ordLns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrdLn"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/Work"
          }
        },
        "additionalProperties": false
      }
    }
  }
}

The only difference between those two is in line 1241 to 1246 in the non-working one:

                ,
          "noteHash": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }

where that section is omitted in the working swagger file, and is the 31'st field in that Ord record.

Expected behavior
Read the data as the working one

Library version used:
pubspec.yaml:

name: mwork
description: A new Flutter project.

# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 0.0.3+3

environment:
  sdk: ">=2.15.0-116.0.dev <3.0.0"

# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies:
  msal_js: ^2.14.0
  aad_oauth: ^0.3.0
  provider: ^6.0.1
  path_to_regexp: ^0.4.0
  quiver: ^3.0.0
  introduction_screen: ^2.1.0
  intl: ^0.17.0
  socket_io_client: ^2.0.0-beta.4-nullsafety.0
  flutter:
    sdk: flutter

  #--jwt--- makes it possible to analyze jwt

  jwt_decode: ^0.3.1

  #---Swagger changes---
  chopper: ^4.0.4
  json_annotation: ^4.4.0

  #---Google Maps---
  google_maps_flutter: ^2.1.1
  google_maps_flutter_web: ^0.3.2

  #---Location data (GPS)---
  location: ^4.3.0

  #---Get---
  get: ^4.3.8

  #---Settings / preferences ---
  flutter_settings_screens: ^0.3.2-null-safety

  #---Camera function---
  camera: ^0.9.4+5
  path_provider: ^2.0.7
  path: ^1.8.0

  #---Floor functionality---
  floor: ^1.2.0

  #---Drift functionality---
  drift: ^1.0.1
  sqlite3_flutter_libs: ^0.5.0


  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2



#---Icons---

flutter_icons:
  android: "launcher_icon"
  ios: true
  image_path: "assets/icons/logo_round.png"
  adaptive_icon_background: "#666666"


dev_dependencies:
  flutter_test:
    sdk: flutter

  #---swagger changes---
  build_runner: ^2.1.5
  chopper_generator: ^4.0.3
  json_serializable: ^6.1.1
  swagger_dart_code_generator: ^2.2.7

  #---Launcher icons---
  flutter_launcher_icons: ^0.9.2

  #---floor generators---
  floor_generator: ^1.2.0

  #---drift generators---
  drift_dev: ^1.0.2


  # The "flutter_lints" package below contains a set of recommended lints to
  # encourage good coding practices. The lint set provided by the package is
  # activated in the `analysis_options.yaml` file located at the root of your
  # package. See that file for information about deactivating specific lint
  # rules and activating additional ones.
  flutter_lints: ^1.0.0

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    - assets/icons/


  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages



Additional context
Add any other context about the problem here.

@RoarGronmo RoarGronmo added bug Something isn't working Triage needed labels Dec 14, 2021
@RoarGronmo
Copy link
Author

Or... it may be the fact the omitted field is an "int64" field ?

How is that handled in the generated code ?

@Vovanella95
Copy link
Collaborator

Hi @RoarGronmo

Will check it today

@Vovanella95
Copy link
Collaborator

@RoarGronmo I have generated your 2 files and everything is OK with Ord object. noteHash field is generated.

@JsonKey(name: 'noteHash', includeIfNull: false)
  final int? noteHash;

Could you please explain what is problem here?

I see only problem with TextTp field. This integer has generated like class.

@RoarGronmo
Copy link
Author

RoarGronmo commented Dec 14, 2021

Thanx for reaching back to me,

Have used some time to really dive into the code here and the json's which is read.

  1. I am truly sorry that I have mislead you intially when I didn't saw more of the fail "picture"

  2. The problem isn't the 30'th ot 31'th element read for that record, but actually that the swagger defines it like this

          "noteHash": {
            "type": "integer",
            "format": "int64",     <----- int64 (signed int in dart?, what happens if >63 bits ?, double ?)
            "nullable": true,
            "readOnly": true
          }

when my record is like this:

,
      {
        "frmNo": 10,
        "ordNo": 434232,
        "r1": "0",
        "r2": "0",
        "r10": " ",
        "r11": " ",
        "empNo": 0,
        "rsp": 392,
        "custNo": 361071,
        "nm": "Olimb Rørfornying AS",
        "ctry": 47,
        "delAd1": "Bønes Gravplass",
        "delAd2": " ",
        "delAd4": "47; ;Bønes Gravplass;60.32949,5.29938",
        "delPArea": " ",
        "cfDelDt": 20211207,
        "gr": 5,
        "gr2": 0,
        "gr6": 0,
        "ourRef": " ",
        "yrRef": "Prosjekt 110248",
        "csOrdNo": " ",
        "label": "9A Bønes",
        "inf": "Tømme sandfang Bøes Gravplass",
        "inf2": " ",
        "inf3": " ",
        "inf4": " ",
        "inf5": " ",
        "inf6": " ",
        "noteNm": "\\\\VISMA01\\Vismadata\\UtgFakt\\F0010\\M210003800.txt",
        "noteHash": 15479906050049593000    <--- May this be too large ? >63bits ?
      }

, after reworking my code to test that part, I got this error message (sorry that I can't pinpoint to the actual records, the reason is not the record above):

I/flutter (24656): getFirmsOfficesWork(): mWorkApi = Instance of '_$MworkApi'
E/flutter (24656): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type 'double' is not a subtype of type 'int?' in type cast
E/flutter (24656): #0      _$OrdFromJson (package:mwork/services/api/generated/mwork_api.swagger.g.dart:258:34)
E/flutter (24656): #1      new Ord.fromJson (package:mwork/services/api/generated/mwork_api.swagger.dart:987:54)
E/flutter (24656): #2      _$WorkFromJson.<anonymous closure> (package:mwork/services/api/generated/mwork_api.swagger.g.dart:555:32)
E/flutter (24656): #3      MappedListIterable.elementAt (dart:_internal/iterable.dart:413:31)
E/flutter (24656): #4      ListIterator.moveNext (dart:_internal/iterable.dart:342:26)
E/flutter (24656): #5      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:188:27)
E/flutter (24656): #6      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
E/flutter (24656): #7      new List.of (dart:core-patch/array_patch.dart:51:28)
E/flutter (24656): #8      ListIterable.toList (dart:_internal/iterable.dart:213:44)
E/flutter (24656): #9      _$WorkFromJson (package:mwork/services/api/generated/mwork_api.swagger.g.dart:556:16)
E/flutter (24656): #10     new Work.fromJson (package:mwork/services/api/generated/mwork_api.swagger.dart:2152:55)
E/flutter (24656): #11     _$WorkResultFromJson (package:mwork/services/api/generated/mwork_api.swagger.g.dart:574:18)
E/flutter (24656): #12     $CustomJsonDecoder._decodeMap (package:mwork/services/api/generated/mwork_api.swagger.dart:2299:23)
E/flutter (24656): #13     $CustomJsonDecoder.decode (package:mwork/services/api/generated/mwork_api.swagger.dart:2287:14)
E/flutter (24656): #14     $JsonSerializableConverter.convertResponse (package:mwork/services/api/generated/mwork_api.swagger.dart:2318:28)
E/flutter (24656): #15     ChopperClient._decodeResponse (package:chopper/src/base.dart:186:29)
E/flutter (24656): #16     ChopperClient._handleSuccessResponse (package:chopper/src/base.dart:260:17)
E/flutter (24656): #17     ChopperClient.send (package:chopper/src/base.dart:333:19)
E/flutter (24656): <asynchronous suspension>

Is there a way to guarantee that even if int64 from swagger is saved as an signed dart int, so that is not interpreted as a double when it is over 63 bit (actually negative dart int)

  1. Anyhow, I known, a hash should be defined as a String, but the backend engeneers will not change, due to larger consequences other places.

@RoarGronmo
Copy link
Author

And yes the TexTp field is failing, but that is a missing include, actually had a plan to report that too, but that one I got an intermediate manual solution for => include the missing library manually.

@RoarGronmo
Copy link
Author

Here's the point where code says it crashher (from mwork_api.swagger.g.dart)

Ord _$OrdFromJson(Map<String, dynamic> json) => Ord(
      frmNo: json['frmNo'] as int?,
      ordNo: json['ordNo'] as int?,
      r1: json['r1'] as String?,
      r2: json['r2'] as String?,
      r10: json['r10'] as String?,
      r11: json['r11'] as String?,
      empNo: json['empNo'] as int?,
      rsp: json['rsp'] as int?,
      custNo: json['custNo'] as int?,
      nm: json['nm'] as String?,
      ctry: json['ctry'] as int?,
      delAd1: json['delAd1'] as String?,
      delAd2: json['delAd2'] as String?,
      delAd4: json['delAd4'] as String?,
      delPArea: json['delPArea'] as String?,
      cfDelDt: json['cfDelDt'] as int?,
      gr: json['gr'] as int?,
      gr2: json['gr2'] as int?,
      gr6: json['gr6'] as int?,
      ourRef: json['ourRef'] as String?,
      yrRef: json['yrRef'] as String?,
      csOrdNo: json['csOrdNo'] as String?,
      label: json['label'] as String?,
      inf: json['inf'] as String?,
      inf2: json['inf2'] as String?,
      inf3: json['inf3'] as String?,
      inf4: json['inf4'] as String?,
      inf5: json['inf5'] as String?,
      inf6: json['inf6'] as String?,
      noteNm: json['noteNm'] as String?,
      noteHash: json['noteHash'] as int?,   <--- Fails here...
    );

And here's a typical json which the orderFirmsFrmNoOfficesR10WorkGet(...) reads:
response.json.txt
(it is saved as a .txt file, it is a originally json)

and where it fails.

@Vovanella95
Copy link
Collaborator

Hi again @RoarGronmo TexTp is failing because of our bug :) We don't recognize it like Enum. Actually, it's enum with integer values.

To define swagger type we using next map:

const kBasicTypesMap = <String, String>{
  'integer': 'int',
  'int': 'int',
  'int32': 'int',
  'int64': 'int',
  'boolean': 'bool',
  'bool': 'bool',
  'string': 'String',
  'file': 'List<String>',
  'number': 'num',
  'object': 'Object',
};

If we want to recognize int128 as double we should just add it here.

@Vovanella95
Copy link
Collaborator

@RoarGronmo int64 is parsing in integer. It can't be larger. Dart does not have 'long' type or something like this. We can parse it into double if it will help.

@RoarGronmo
Copy link
Author

Yes, that would be better, but the problem is when you parse it like that you might be in a missing information situation. At this particular case we have 64bit int hash, where I need the bits to be "in place" even if it is double... can you guarantee that when converting from int64 to double, and back ?

@Vovanella95
Copy link
Collaborator

@RoarGronmo can you please provide example, what should we generate in this case? That will really help me

@RoarGronmo
Copy link
Author

The really best would I setting (or annotation somewhat) to parse it to byte array or int array, when you may surpass int64 or int128 boundaries, or even to a string.

@RoarGronmo
Copy link
Author

At the moment would it be best to convert it to a String, then you gurantee that you keep the information.

@RoarGronmo
Copy link
Author

With a setting

@RoarGronmo
Copy link
Author

My manual approach now is actually to read it as a number in the swagger file (need to actually change the swagger file manually from {"type":"integer", "format":"int64"} to {"type":"number"}), but that's a known risk that I may loose information if the number is large enough...

@RoarGronmo
Copy link
Author

So a setting/annotation so I can convert from and two different interchangeable types would have been very nice.

@Vovanella95
Copy link
Collaborator

@RoarGronmo actually your number is bigger than

15479906050049593000

max value of int64 is
9223372036854775807

is it possible to return String from backend?

@Vovanella95
Copy link
Collaborator

We can parse it in double. I think it will help.

This was referenced Dec 14, 2021
@Vovanella95
Copy link
Collaborator

@RoarGronmo I have fixed your swagger in PR above. I generate int64 values to double fields. Is it fine? Also I've fixed issue with enum. You not need any imports to compile your file.

Please check v2.2.8

@RoarGronmo
Copy link
Author

Thanx a lot, I'll give it a try, early tomorrow, or later this evening.

@RoarGronmo
Copy link
Author

Observing that somehow the swagger int64 is still converted to dart int with 2.2.8, so that particular case is not fixed.

(Another approach is defining it as a dart num, but here you might run upon the fractional (double) hiding or obscuring information. Look here: https://dart.dev/guides/language/numbers. In a information preservation perspective, you should convert it to a String... )

The issue with the missing include seems to be fixed !

@Vovanella95
Copy link
Collaborator

Hi @RoarGronmo Oh no :D Everything worked on my side) Will try to parse int64 to num. Give me few minutes

@Vovanella95
Copy link
Collaborator

@RoarGronmo Please check 2.2.9 version ))

@RoarGronmo
Copy link
Author

RoarGronmo commented Dec 15, 2021

Ill do soon !!

BTW: We have had an intense internally discussion with our backend team, and found a strange issue (not related to you directly but more on how Flutter / Chrome handles 64bit data sets).

image

This may explain the cause where int64 values got overflow, and even Flutter DevTool does this strange thing:

image

And here's same call in PostMan:

image

So, you see in this particular situation the three latest digits are omitted/changed/added.

I am not sure where this come from (no links at the moment, the guy who gave me this have gone home for dinner...)

And yes, maybe we managed to persuade the backend team to use string instead ;)

@RoarGronmo
Copy link
Author

Here's the reference to why 000 may be added to int64:
https://developer.twitter.com/en/docs/twitter-ids

@RoarGronmo
Copy link
Author

swagger int64 do still land in dart int ... in 2.2.9...

image

image

image

@Vovanella95
Copy link
Collaborator

Ahh yes. I fixed int64 in request parameters. Still need to fix model parameters

@Vovanella95
Copy link
Collaborator

@RoarGronmo I've fixed it. Please check 2.2.10 version. Please let me know if everything OK.

@JsonKey(name: 'noteHash', includeIfNull: false)
  final num? noteHash;

@RoarGronmo
Copy link
Author

...at least... it is translated as a num, and then it is up tp Dart to decide if 64 bits are preserved or not...

image

happy result:

image

@RoarGronmo
Copy link
Author

RoarGronmo commented Dec 17, 2021

But anyhow, I can't blame you for the result here then, the trouble is how Dart is handling num, mostly because they translate it to double and back, and there we have the information preservation situation loss...

and maybe a BIG issue for Dart ?

image

As I said prior here, you could have a kind of setting / annotation where you could convert int64 to string, and all the digits got preserved.

I refer to the post here discussing different number representations in Dart:
https://dart.dev/guides/language/numbers


And thank you for your big effort to make this work.

We just need to persuade our back-end team to convert hashes to strings, as you clearly said before.

Happy Holiday !

@Vovanella95
Copy link
Collaborator

Hi @RoarGronmo
I am closing an issue. If there is any way how can we generate it - please let me know. I am closing issue for now.

@RoarGronmo
Copy link
Author

PS:
BTW!!

The above was from web version of the app , this below is from native test:
image

At least here it is read correctly, so there might be some hope... (53 bit problem in web ?).

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
3 participants