// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

package shared

// PermissionResponse - Provides details of a single permission.
type PermissionResponse struct {
	PermissionID string `json:"permissionId"`
	// Describes what actions/endpoints the permission entitles to
	PermissionType PermissionType `json:"permissionType"`
	// Internal Airbyte user ID
	UserID         string  `json:"userId"`
	WorkspaceID    *string `json:"workspaceId,omitempty"`
	OrganizationID *string `json:"organizationId,omitempty"`
}

func (o *PermissionResponse) GetPermissionID() string {
	if o == nil {
		return ""
	}
	return o.PermissionID
}

func (o *PermissionResponse) GetPermissionType() PermissionType {
	if o == nil {
		return PermissionType("")
	}
	return o.PermissionType
}

func (o *PermissionResponse) GetUserID() string {
	if o == nil {
		return ""
	}
	return o.UserID
}

func (o *PermissionResponse) GetWorkspaceID() *string {
	if o == nil {
		return nil
	}
	return o.WorkspaceID
}

func (o *PermissionResponse) GetOrganizationID() *string {
	if o == nil {
		return nil
	}
	return o.OrganizationID
}
