You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
986 lines
36 KiB
C#
986 lines
36 KiB
C#
1 month ago
|
#if !DISABLE_PLAYFABENTITY_API
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using PlayFab.SharedModels;
|
||
|
|
||
|
namespace PlayFab.GroupsModels
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Accepts an outstanding invitation to to join a group if the invited entity is not blocked by the group. Nothing is
|
||
|
/// returned in the case of success.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class AcceptGroupApplicationRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// Type of the entity to accept as. Must be the same entity as the claimant or an entity that is a child of the claimant
|
||
|
/// entity.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Accepts an outstanding invitation to join the group if the invited entity is not blocked by the group. Only the invited
|
||
|
/// entity or a parent in its chain (e.g. title) may accept the invitation on the invited entity's behalf. Nothing is
|
||
|
/// returned in the case of success.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class AcceptGroupInvitationRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Adds members to a group or role. Existing members of the group will added to roles within the group, but if the user is
|
||
|
/// not already a member of the group, only title claimants may add them to the group, and others must use the group
|
||
|
/// application or invite system to add new members to a group. Returns nothing if successful.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class AddMembersRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// List of entities to add to the group. Only entities of type title_player_account and character may be added to groups.
|
||
|
/// </summary>
|
||
|
public List<EntityKey> Members;
|
||
|
/// <summary>
|
||
|
/// Optional: The ID of the existing role to add the entities to. If this is not specified, the default member role for the
|
||
|
/// group will be used. Role IDs must be between 1 and 64 characters long.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Creates an application to join a group. Calling this while a group application already exists will return the same
|
||
|
/// application instead of an error and will not refresh the time before the application expires. By default, if the entity
|
||
|
/// has an invitation to join the group outstanding, this will accept the invitation to join the group instead and return an
|
||
|
/// error indicating such, rather than creating a duplicate application to join that will need to be cleaned up later.
|
||
|
/// Returns information about the application or an error indicating an invitation was accepted instead.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ApplyToGroupRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Optional, default true. Automatically accept an outstanding invitation if one exists instead of creating an application
|
||
|
/// </summary>
|
||
|
public bool? AutoAcceptOutstandingInvite;
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Describes an application to join a group
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ApplyToGroupResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Type of entity that requested membership
|
||
|
/// </summary>
|
||
|
public EntityWithLineage Entity;
|
||
|
/// <summary>
|
||
|
/// When the application to join will expire and be deleted
|
||
|
/// </summary>
|
||
|
public DateTime Expires;
|
||
|
/// <summary>
|
||
|
/// ID of the group that the entity requesting membership to
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Blocks a list of entities from joining a group. Blocked entities may not create new applications to join, be invited to
|
||
|
/// join, accept an invitation, or have an application accepted. Failure due to being blocked does not clean up existing
|
||
|
/// applications or invitations to the group. No data is returned in the case of success.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class BlockEntityRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The entity to perform this action on.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Changes the role membership of a list of entities from one role to another in in a single operation. The destination
|
||
|
/// role must already exist. This is equivalent to adding the entities to the destination role and removing from the origin
|
||
|
/// role. Returns nothing if successful.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ChangeMemberRoleRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The ID of the role that the entities will become a member of. This must be an existing role. Role IDs must be between 1
|
||
|
/// and 64 characters long.
|
||
|
/// </summary>
|
||
|
public string DestinationRoleId;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// List of entities to move between roles in the group. All entities in this list must be members of the group and origin
|
||
|
/// role.
|
||
|
/// </summary>
|
||
|
public List<EntityKey> Members;
|
||
|
/// <summary>
|
||
|
/// The ID of the role that the entities currently are a member of. Role IDs must be between 1 and 64 characters long.
|
||
|
/// </summary>
|
||
|
public string OriginRoleId;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Creates a new group, as well as administration and member roles, based off of a title's group template. Returns
|
||
|
/// information about the group that was created.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class CreateGroupRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The name of the group. This is unique at the title level by default.
|
||
|
/// </summary>
|
||
|
public string GroupName;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class CreateGroupResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The ID of the administrator role for the group.
|
||
|
/// </summary>
|
||
|
public string AdminRoleId;
|
||
|
/// <summary>
|
||
|
/// The server date and time the group was created.
|
||
|
/// </summary>
|
||
|
public DateTime Created;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The name of the group.
|
||
|
/// </summary>
|
||
|
public string GroupName;
|
||
|
/// <summary>
|
||
|
/// The ID of the default member role for the group.
|
||
|
/// </summary>
|
||
|
public string MemberRoleId;
|
||
|
/// <summary>
|
||
|
/// The current version of the profile, can be used for concurrency control during updates.
|
||
|
/// </summary>
|
||
|
public int ProfileVersion;
|
||
|
/// <summary>
|
||
|
/// The list of roles and names that belong to the group.
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> Roles;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Creates a new role within an existing group, with no members. Both the role ID and role name must be unique within the
|
||
|
/// group, but the name can be the same as the ID. The role ID is set at creation and cannot be changed. Returns information
|
||
|
/// about the role that was created.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class CreateGroupRoleRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The ID of the role. This must be unique within the group and cannot be changed. Role IDs must be between 1 and 64
|
||
|
/// characters long and are restricted to a-Z, A-Z, 0-9, '(', ')', '_', '-' and '.'.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
/// <summary>
|
||
|
/// The name of the role. This must be unique within the group and can be changed later. Role names must be between 1 and
|
||
|
/// 100 characters long
|
||
|
/// </summary>
|
||
|
public string RoleName;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class CreateGroupRoleResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The current version of the group profile, can be used for concurrency control during updates.
|
||
|
/// </summary>
|
||
|
public int ProfileVersion;
|
||
|
/// <summary>
|
||
|
/// ID for the role
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
/// <summary>
|
||
|
/// The name of the role
|
||
|
/// </summary>
|
||
|
public string RoleName;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Deletes a group and all roles, invitations, join requests, and blocks associated with it. Permission to delete is only
|
||
|
/// required the group itself to execute this action. The group and data cannot be cannot be recovered once removed, but any
|
||
|
/// abuse reports about the group will remain. No data is returned in the case of success.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class DeleteGroupRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// ID of the group or role to remove
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Returns information about the role
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class DeleteRoleRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The ID of the role to delete. Role IDs must be between 1 and 64 characters long.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class EmptyResponse : PlayFabResultCommon
|
||
|
{
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Combined entity type and ID structure which uniquely identifies a single entity.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class EntityKey : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Unique ID of the entity.
|
||
|
/// </summary>
|
||
|
public string Id;
|
||
|
/// <summary>
|
||
|
/// Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
|
||
|
/// </summary>
|
||
|
public string Type;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class EntityMemberRole : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The list of members in the role
|
||
|
/// </summary>
|
||
|
public List<EntityWithLineage> Members;
|
||
|
/// <summary>
|
||
|
/// The ID of the role.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
/// <summary>
|
||
|
/// The name of the role
|
||
|
/// </summary>
|
||
|
public string RoleName;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Entity wrapper class that contains the entity key and the entities that make up the lineage of the entity.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class EntityWithLineage : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The entity key for the specified entity
|
||
|
/// </summary>
|
||
|
public EntityKey Key;
|
||
|
/// <summary>
|
||
|
/// Dictionary of entity keys for related entities. Dictionary key is entity type.
|
||
|
/// </summary>
|
||
|
public Dictionary<string,EntityKey> Lineage;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Returns the ID, name, role list and other non-membership related information about a group.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class GetGroupRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The full name of the group
|
||
|
/// </summary>
|
||
|
public string GroupName;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class GetGroupResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The ID of the administrator role for the group.
|
||
|
/// </summary>
|
||
|
public string AdminRoleId;
|
||
|
/// <summary>
|
||
|
/// The server date and time the group was created.
|
||
|
/// </summary>
|
||
|
public DateTime Created;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The name of the group.
|
||
|
/// </summary>
|
||
|
public string GroupName;
|
||
|
/// <summary>
|
||
|
/// The ID of the default member role for the group.
|
||
|
/// </summary>
|
||
|
public string MemberRoleId;
|
||
|
/// <summary>
|
||
|
/// The current version of the profile, can be used for concurrency control during updates.
|
||
|
/// </summary>
|
||
|
public int ProfileVersion;
|
||
|
/// <summary>
|
||
|
/// The list of roles and names that belong to the group.
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> Roles;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Describes an application to join a group
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class GroupApplication : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Type of entity that requested membership
|
||
|
/// </summary>
|
||
|
public EntityWithLineage Entity;
|
||
|
/// <summary>
|
||
|
/// When the application to join will expire and be deleted
|
||
|
/// </summary>
|
||
|
public DateTime Expires;
|
||
|
/// <summary>
|
||
|
/// ID of the group that the entity requesting membership to
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Describes an entity that is blocked from joining a group.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class GroupBlock : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The entity that is blocked
|
||
|
/// </summary>
|
||
|
public EntityWithLineage Entity;
|
||
|
/// <summary>
|
||
|
/// ID of the group that the entity is blocked from
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Describes an invitation to a group.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class GroupInvitation : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// When the invitation will expire and be deleted
|
||
|
/// </summary>
|
||
|
public DateTime Expires;
|
||
|
/// <summary>
|
||
|
/// The group that the entity invited to
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The entity that created the invitation
|
||
|
/// </summary>
|
||
|
public EntityWithLineage InvitedByEntity;
|
||
|
/// <summary>
|
||
|
/// The entity that is invited
|
||
|
/// </summary>
|
||
|
public EntityWithLineage InvitedEntity;
|
||
|
/// <summary>
|
||
|
/// ID of the role in the group to assign the user to.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Describes a group role
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class GroupRole : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// ID for the role
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
/// <summary>
|
||
|
/// The name of the role
|
||
|
/// </summary>
|
||
|
public string RoleName;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Describes a group and the roles that it contains
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class GroupWithRoles : PlayFabBaseModel
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// ID for the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The name of the group
|
||
|
/// </summary>
|
||
|
public string GroupName;
|
||
|
/// <summary>
|
||
|
/// The current version of the profile, can be used for concurrency control during updates.
|
||
|
/// </summary>
|
||
|
public int ProfileVersion;
|
||
|
/// <summary>
|
||
|
/// The list of roles within the group
|
||
|
/// </summary>
|
||
|
public List<GroupRole> Roles;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Invites a player to join a group, if they are not blocked by the group. An optional role can be provided to
|
||
|
/// automatically assign the player to the role if they accept the invitation. By default, if the entity has an application
|
||
|
/// to the group outstanding, this will accept the application instead and return an error indicating such, rather than
|
||
|
/// creating a duplicate invitation to join that will need to be cleaned up later. Returns information about the new
|
||
|
/// invitation or an error indicating an existing application to join was accepted.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class InviteToGroupRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Optional, default true. Automatically accept an application if one exists instead of creating an invitation
|
||
|
/// </summary>
|
||
|
public bool? AutoAcceptOutstandingApplication;
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The entity to perform this action on.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// Optional. ID of an existing a role in the group to assign the user to. The group's default member role is used if this
|
||
|
/// is not specified. Role IDs must be between 1 and 64 characters long.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Describes an invitation to a group.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class InviteToGroupResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// When the invitation will expire and be deleted
|
||
|
/// </summary>
|
||
|
public DateTime Expires;
|
||
|
/// <summary>
|
||
|
/// The group that the entity invited to
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// The entity that created the invitation
|
||
|
/// </summary>
|
||
|
public EntityWithLineage InvitedByEntity;
|
||
|
/// <summary>
|
||
|
/// The entity that is invited
|
||
|
/// </summary>
|
||
|
public EntityWithLineage InvitedEntity;
|
||
|
/// <summary>
|
||
|
/// ID of the role in the group to assign the user to.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Checks to see if an entity is a member of a group or role within the group. A result indicating if the entity is a
|
||
|
/// member of the group is returned, or a permission error if the caller does not have permission to read the group's member
|
||
|
/// list.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class IsMemberRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The entity to perform this action on.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// Optional: ID of the role to check membership of. Defaults to any role (that is, check to see if the entity is a member
|
||
|
/// of the group in any capacity) if not specified.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class IsMemberResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// A value indicating whether or not the entity is a member.
|
||
|
/// </summary>
|
||
|
public bool IsMember;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Lists all outstanding requests to join a group. Returns a list of all requests to join, as well as when the request will
|
||
|
/// expire. To get the group applications for a specific entity, use ListMembershipOpportunities.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ListGroupApplicationsRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class ListGroupApplicationsResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The requested list of applications to the group.
|
||
|
/// </summary>
|
||
|
public List<GroupApplication> Applications;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Lists all entities blocked from joining a group. A list of blocked entities is returned
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ListGroupBlocksRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class ListGroupBlocksResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The requested list blocked entities.
|
||
|
/// </summary>
|
||
|
public List<GroupBlock> BlockedEntities;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Lists all outstanding invitations for a group. Returns a list of entities that have been invited, as well as when the
|
||
|
/// invitation will expire. To get the group invitations for a specific entity, use ListMembershipOpportunities.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ListGroupInvitationsRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class ListGroupInvitationsResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The requested list of group invitations.
|
||
|
/// </summary>
|
||
|
public List<GroupInvitation> Invitations;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Gets a list of members and the roles they belong to within the group. If the caller does not have permission to view the
|
||
|
/// role, and the member is in no other role, the member is not displayed. Returns a list of entities that are members of
|
||
|
/// the group.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ListGroupMembersRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// ID of the group to list the members and roles for
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class ListGroupMembersResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The requested list of roles and member entity IDs.
|
||
|
/// </summary>
|
||
|
public List<EntityMemberRole> Members;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Lists all outstanding group applications and invitations for an entity. Anyone may call this for any entity, but data
|
||
|
/// will only be returned for the entity or a parent of that entity. To list invitations or applications for a group to
|
||
|
/// check if a player is trying to join, use ListGroupInvitations and ListGroupApplications.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ListMembershipOpportunitiesRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class ListMembershipOpportunitiesResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The requested list of group applications.
|
||
|
/// </summary>
|
||
|
public List<GroupApplication> Applications;
|
||
|
/// <summary>
|
||
|
/// The requested list of group invitations.
|
||
|
/// </summary>
|
||
|
public List<GroupInvitation> Invitations;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Lists the groups and roles that an entity is a part of, checking to see if group and role metadata and memberships
|
||
|
/// should be visible to the caller. If the entity is not in any roles that are visible to the caller, the group is not
|
||
|
/// returned in the results, even if the caller otherwise has permission to see that the entity is a member of that group.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class ListMembershipRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class ListMembershipResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The list of groups
|
||
|
/// </summary>
|
||
|
public List<GroupWithRoles> Groups;
|
||
|
}
|
||
|
|
||
|
public enum OperationTypes
|
||
|
{
|
||
|
Created,
|
||
|
Updated,
|
||
|
Deleted,
|
||
|
None
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Removes an existing application to join the group. This is used for both rejection of an application as well as
|
||
|
/// withdrawing an application. The applying entity or a parent in its chain (e.g. title) may withdraw the application, and
|
||
|
/// any caller with appropriate access in the group may reject an application. No data is returned in the case of success.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class RemoveGroupApplicationRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The entity to perform this action on.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Removes an existing invitation to join the group. This is used for both rejection of an invitation as well as rescinding
|
||
|
/// an invitation. The invited entity or a parent in its chain (e.g. title) may reject the invitation by calling this
|
||
|
/// method, and any caller with appropriate access in the group may rescind an invitation. No data is returned in the case
|
||
|
/// of success.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class RemoveGroupInvitationRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The entity to perform this action on.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Removes members from a group. A member can always remove themselves from a group, regardless of permissions. Returns
|
||
|
/// nothing if successful.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class RemoveMembersRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// List of entities to remove
|
||
|
/// </summary>
|
||
|
public List<EntityKey> Members;
|
||
|
/// <summary>
|
||
|
/// The ID of the role to remove the entities from.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Unblocks a list of entities from joining a group. No data is returned in the case of success.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class UnblockEntityRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// The entity to perform this action on.
|
||
|
/// </summary>
|
||
|
public EntityKey Entity;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Updates data about a group, such as the name or default member role. Returns information about whether the update was
|
||
|
/// successful. Only title claimants may modify the administration role for a group.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class UpdateGroupRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Optional: the ID of an existing role to set as the new administrator role for the group
|
||
|
/// </summary>
|
||
|
public string AdminRoleId;
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// Optional field used for concurrency control. By specifying the previously returned value of ProfileVersion from the
|
||
|
/// GetGroup API, you can ensure that the group data update will only be performed if the group has not been updated by any
|
||
|
/// other clients since the version you last loaded.
|
||
|
/// </summary>
|
||
|
public int? ExpectedProfileVersion;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// Optional: the new name of the group
|
||
|
/// </summary>
|
||
|
public string GroupName;
|
||
|
/// <summary>
|
||
|
/// Optional: the ID of an existing role to set as the new member role for the group
|
||
|
/// </summary>
|
||
|
public string MemberRoleId;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class UpdateGroupResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Optional reason to explain why the operation was the result that it was.
|
||
|
/// </summary>
|
||
|
public string OperationReason;
|
||
|
/// <summary>
|
||
|
/// New version of the group data.
|
||
|
/// </summary>
|
||
|
public int ProfileVersion;
|
||
|
/// <summary>
|
||
|
/// Indicates which operation was completed, either Created, Updated, Deleted or None.
|
||
|
/// </summary>
|
||
|
public OperationTypes? SetResult;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Updates the role name. Returns information about whether the update was successful.
|
||
|
/// </summary>
|
||
|
[Serializable]
|
||
|
public class UpdateGroupRoleRequest : PlayFabRequestCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
||
|
/// </summary>
|
||
|
public Dictionary<string,string> CustomTags;
|
||
|
/// <summary>
|
||
|
/// Optional field used for concurrency control. By specifying the previously returned value of ProfileVersion from the
|
||
|
/// GetGroup API, you can ensure that the group data update will only be performed if the group has not been updated by any
|
||
|
/// other clients since the version you last loaded.
|
||
|
/// </summary>
|
||
|
public int? ExpectedProfileVersion;
|
||
|
/// <summary>
|
||
|
/// The identifier of the group
|
||
|
/// </summary>
|
||
|
public EntityKey Group;
|
||
|
/// <summary>
|
||
|
/// ID of the role to update. Role IDs must be between 1 and 64 characters long.
|
||
|
/// </summary>
|
||
|
public string RoleId;
|
||
|
/// <summary>
|
||
|
/// The new name of the role
|
||
|
/// </summary>
|
||
|
public string RoleName;
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
public class UpdateGroupRoleResponse : PlayFabResultCommon
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Optional reason to explain why the operation was the result that it was.
|
||
|
/// </summary>
|
||
|
public string OperationReason;
|
||
|
/// <summary>
|
||
|
/// New version of the role data.
|
||
|
/// </summary>
|
||
|
public int ProfileVersion;
|
||
|
/// <summary>
|
||
|
/// Indicates which operation was completed, either Created, Updated, Deleted or None.
|
||
|
/// </summary>
|
||
|
public OperationTypes? SetResult;
|
||
|
}
|
||
|
}
|
||
|
#endif
|