process()

in src/processors/FlaggingProcessor.js [29:83]


  process(specs, metadata) {
    const APISpecs = specs.api_specs;
    const versionedFeatures = metadata.versionedFeatures;

    for (const clsName in APISpecs) {
      const APIClsSpec = APISpecs[clsName];
      APIClsSpec.name = clsName;
      APIClsSpec['cls_is_' + clsName] = true;
      // add versioned features for SDK
      APIClsSpec.version = versionedFeatures;
      for (const index in APIClsSpec.apis) {
        const APISpec = APIClsSpec.apis[index];
        const method = APISpec.method;
        APISpec.is_method_get = method === 'GET';
        APISpec.is_method_post = method === 'POST';
        APISpec.is_method_delete = method === 'DELETE';
        if (
          APISpec.name === 'get' ||
          APISpec.name === 'update' ||
          APISpec.name === 'delete'
        ) {
          APISpec.is_node_api = true;
          APISpec.return_single_node = true;
        }

        if (APISpec.endpoint === 'insights') {
          APISpec.is_insights = true;
          if (APISpec.method === 'GET') {
            APISpec.is_insights_sync = true;
          } else if (APISpec.method === 'POST') {
            APISpec.is_insights_async = true;
            APISpec.return_single_node = true;
          }
        } else {
          if (method === 'POST') {
            APISpec.return_single_node = true;
          }
        }
      }

      for (const index in APIClsSpec.fields) {
        const fieldSpec = APIClsSpec.fields[index];
        if (fieldSpec.name === 'id') {
          const parts = codeGenNameConventions
            .parsePascalName(clsName)
            .concat(['id']);
          fieldSpec.context = parts.join('_');
          APIClsSpec.has_id = true;
          APIClsSpec.is_crud = true;
        }
      }
    }

    return specs;
  },