rules:
- id: use-jsonify
  patterns:
  - pattern-inside: |
      @app.route(...)
      def $X():
        ...
  - pattern-either:
    - pattern: return json.dumps(...)
    - pattern: |
        $DATA = json.dumps(...)
        ...
        return <... $DATA ...>
  fix-regex:
    regex: (json\.){0,1}dumps
    replacement: flask.jsonify
    count: 1
  message: flask.jsonify() is a Flask helper method which handles the correct settings for returning JSON from Flask routes
  languages: [python]
  severity: ERROR
  metadata:
    category: best-practice
    technology:
    - flask
