Skip to content

The types for Permission are not as in the API. #756

@SimonSimCity

Description

@SimonSimCity

Describe the bug

The response for https://learn.microsoft.com/en-us/graph/api/filestoragecontainer-list-permissions?view=graph-rest-beta&tabs=http#response should be of type permission.

The type permission is described in the BETA package as:

export interface Permission extends Entity {
    /**
     * A format of yyyy-MM-ddTHH:mm:ssZ of DateTimeOffset indicates the expiration time of the permission. DateTime.MinValue
     * indicates there's no expiration set for this permission. Optional.
     */
    expirationDateTime?: NullableOption<string>;
    // For user type permissions, the details of the users and applications for this permission. Read-only.
    grantedTo?: NullableOption<IdentitySet>;
    // For type permissions, the details of the users to whom permission was granted. Read-only.
    grantedToIdentities?: NullableOption<IdentitySet[]>;
    // For link type permissions, the details of the users to whom permission was granted. Read-only.
    grantedToIdentitiesV2?: NullableOption<SharePointIdentitySet[]>;
    // For user type permissions, the details of the users and applications for this permission. Read-only.
    grantedToV2?: NullableOption<SharePointIdentitySet>;
    /**
     * Indicates whether the password is set for this permission. This property only appears in the response. Optional.
     * Read-only. For OneDrive Personal only.
     */
    hasPassword?: NullableOption<boolean>;
    // Provides a reference to the ancestor of the current permission, if it's inherited from an ancestor. Read-only.
    inheritedFrom?: NullableOption<ItemReference>;
    // Details of any associated sharing invitation for this permission. Read-only.
    invitation?: NullableOption<SharingInvitation>;
    // Provides the link details of the current permission, if it's a link type permission. Read-only.
    link?: NullableOption<SharingLink>;
    // The type of permission, for example, read. See the Roles property values section for the full list of roles. Read-only.
    roles?: NullableOption<string[]>;
    // A unique token that can be used to access this shared item via the shares API. Read-only.
    shareId?: NullableOption<string>;
}

As you can see, the value for grantedToV2 is an optional SharePointIdentitySet. That does neither match the response in the documentation (https://learn.microsoft.com/en-us/graph/api/filestoragecontainer-list-permissions?view=graph-rest-beta&tabs=http#response-1) nor the response I receive.

The response I receive is of the same structure as in the documentation. What I get as value on grantedToV2 rather reminds me of Person or User - it at least does have the property userPrincipalName.

Expected behavior

The types should match both the documentation and what I receive from the GraphAPI server.

How to reproduce

Download the types and try to match the response of the API request to the defined types.

SDK Version

0.43.0-preview

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output

Click to expand log ```
</details>


### Configuration

_No response_

### Other information

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:waiting-for-triageAn issue that is yet to be reviewed or assignedtype:bugA broken experience

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions