github.com/hellofresh/janus@v0.0.0-20230925145208-ce8de8183c67/docs/upgrade/3x.md (about)

     1  # 2.x to 3.x Upgrade Notes
     2  
     3  If you're using `MongoDB` as configuration database run the following script against `api_specs` collection:
     4  
     5  ```javascript
     6  db.getCollection('api_specs').find({}).forEach(function(doc) {
     7      doc.plugins = [];
     8  
     9      var corsMeta = doc.cors_meta || {enabled: false};
    10      doc.plugins.push({
    11          "name": "cors",
    12          "enabled": !!corsMeta.enabled,
    13          "config": corsMeta
    14      });
    15      delete doc.plugins[0].config.enabled;
    16  
    17      var rateLimit = doc.rate_limit || {enabled: false, limit: 0};
    18      doc.plugins.push({
    19          "name": "rate_limit",
    20          "enabled": !!rateLimit.enabled,
    21          "config": {
    22              "limit": rateLimit.limit,
    23              "policy": "local"
    24          }
    25      });
    26  
    27      doc.plugins.push({
    28          "name": "oauth2",
    29          "enabled": !!doc.use_oauth2,
    30          "config": {"server_name": doc.oauth_server_name || null}
    31      });
    32  
    33      doc.plugins.push({
    34          "name": "compression",
    35          "enabled": !!doc.use_compression
    36      });
    37  
    38      delete doc.rate_limit;
    39      delete doc.cors_meta;
    40      delete doc.use_oauth2;
    41      delete doc.use_basic_auth;
    42      delete doc.use_compression;
    43  
    44      doc.updated_at = new Date();
    45      db.api_specs.update({"_id": doc._id}, doc);
    46  });
    47  ```