Giter Site home page Giter Site logo

Comments (8)

xuzhg avatar xuzhg commented on May 18, 2024 1

fixed with suffix index. Thanks.

from openapi.net.odata.

madansr7 avatar madansr7 commented on May 18, 2024

the keys are generated based on the segment type. So, in this case both calendarView and instances are of type event. We can either change it such that when the second (duplicate) key segment is generated it will take after the segment name or change it universally so all key segments will take their name from the prior segment.
I am leaning towards option #2.

from openapi.net.odata.

darrelmiller avatar darrelmiller commented on May 18, 2024

Just using the segment name is not going to be clear what needs to be passed. In the above case, it would end up be calendarView-Id and instances-id which is not very helpful.

I think we should prefix the event-id with the previous segment if there is a duplicate. Therefore we would have event-id and instances-event-id

We have the same issue with https://graph.microsoft.com/v1.0/workbooks/{driveItemId}/children/{driveItemId}

So this would give us driveItem-id and children-driveItem-id

from openapi.net.odata.

madansr7 avatar madansr7 commented on May 18, 2024

We can work to change the way you propose but that would create extremely long parameter names in a few cases. Here are a few examples where it starts to get crazy. But the benefits out weigh the negatives, so i am fine to move forward with this approach.

enrollmentTroubleshootingEvent
macOSGeneralDeviceConfiguration
deviceConfigurationUserOverview
deviceConfigurationDeviceStatus
telecomExpenseManagementPartner
directoryObjectPartnerReference
windows10MobileCompliancePolicy
inferenceClassificationOverride
targetedManagedAppConfiguration
macOSDeviceFeaturesConfiguration
plannerBucketTaskBoardTaskFormat
deviceCompliancePolicyAssignment
applePushNotificationCertificate
multiValueLegacyExtendedProperty
deviceConfigurationDeviceOverview
singleValueLegacyExtendedProperty
windowsPhone81CustomConfiguration
windows10TeamGeneralConfiguration
deviceManagementExchangeConnector
managedAppPolicyDeploymentSummary
enrollmentConfigurationAssignment
androidGeneralDeviceConfiguration
targetedManagedAppPolicyAssignment
deviceEnrollmentLimitConfiguration
termsAndConditionsAcceptanceStatus
androidWorkProfileCompliancePolicy
windowsInformationProtectionPolicy
plannerProgressTaskBoardTaskFormat
windowsPhone81GeneralConfiguration
onPremisesConditionalAccessSettings
managedDeviceMobileAppConfiguration
appleDeviceFeaturesConfigurationBase
deviceAndAppManagementRoleAssignment
deviceAndAppManagementRoleDefinition
plannerAssignedToTaskBoardTaskFormat
deviceManagementTroubleshootingEvent
windowsUpdateForBusinessConfiguration
deviceConfigurationDeviceStateSummary
mdmWindowsInformationProtectionPolicy
androidWorkProfileCustomConfiguration
windows10SecureAssessmentConfiguration
deviceComplianceScheduledActionForRule
windows10EndpointProtectionConfiguration
deviceCompliancePolicyDeviceStateSummary
deviceCompliancePolicySettingStateSummary
windowsInformationProtectionAppLockerFile
androidWorkProfileGeneralDeviceConfiguration
managedDeviceMobileAppConfigurationAssignment
managedDeviceMobileAppConfigurationUserStatus
windowsInformationProtectionAppLearningSummary
managedDeviceMobileAppConfigurationUserSummary
managedDeviceMobileAppConfigurationDeviceStatus
managedDeviceMobileAppConfigurationDeviceSummary
deviceEnrollmentPlatformRestrictionsConfiguration
windowsInformationProtectionNetworkLearningSummary
windows10EnterpriseModernAppManagementConfiguration
deviceEnrollmentWindowsHelloForBusinessConfiguration
windowsDefenderAdvancedThreatProtectionConfiguration

from openapi.net.odata.

darrelmiller avatar darrelmiller commented on May 18, 2024

Are these based on actual cases where there are duplicate parameter names?

from openapi.net.odata.

xuzhg avatar xuzhg commented on May 18, 2024

@darrelmiller What should we do for this case

/groups/{group-id}/events/{event-id}/calendar/events/{event-id}/accept

from openapi.net.odata.

xuzhg avatar xuzhg commented on May 18, 2024

@darrelmiller @madansr7

can we suffix number after the duplicated key:

"/groups/{group-id}/events/{event-id1}/calendar/calendarView/{event-id2}/cancel": {
      "post": {
        "tags": [
          "groups.Actions"
        ],
        "summary": "Invoke action cancel",
        "operationId": "groups.events.calendar.calendarView.cancel",
        "parameters": [
          {
            "name": "group-id",
            "in": "path",
            "description": "key: group-id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "group"
          },
          {
            "name": "event-id1",
            "in": "path",
            "description": "key: event-id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "event"
          },
          {
            "name": "event-id2",
            "in": "path",
            "description": "key: event-id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "event"
          }
        ],

from openapi.net.odata.

darrelmiller avatar darrelmiller commented on May 18, 2024

@xuzhg I'm fine with the number suffix.

from openapi.net.odata.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.