syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package kidsmanagement;
// Basic user profile information.
message FamilyMemberProfile {
// The user's full name, synthesized with structured and unstructured name
// fields informed by the user. Optional.
optional string display_name = 1;
optional string profile_url = 2;
// Portrait photo of the user. Optional.
optional string profile_image_url = 3;
// Primary email address of the user. Will always not be set for ULP accounts.
optional string email = 4;
}
// The role a user has within a family.
// Details on which actions are tied to those roles.
// LINT.IfChange
enum FamilyRole {
UNKNOWN_FAMILY_ROLE = 0;
// The (only) head of household of the family.
HEAD_OF_HOUSEHOLD = 1;
// A parent in the family.
PARENT = 2;
// A member of the family. Can be an overage child or any other member
// without approval rights.
MEMBER = 3;
// An underage child in the family. The user always has a Unicorn account.
CHILD = 4;
// An unconfirmed member of the family who has been directly added to the
// family.
UNCONFIRMED_MEMBER = 5;
}
// LINT.ThenChange(//components/supervised_user/core/browser/child_account_service.cc)
// Data about a family member.
message FamilyMember {
// Obfuscated Gaia ID of the member. Required.
optional string user_id = 1;
// The user's role in the family. Required.
optional FamilyRole role = 3;
// Profile of the family member.
optional FamilyMemberProfile profile = 4;
}