All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rasa.signal-service-java.2.15.3_unofficial_102.source-code.Groups.proto Maven / Gradle / Ivy

There is a newer version: 2.15.3_unofficial_107
Show newest version
// Proto schema formatted by Wire, do not edit.
// Source: Groups.proto

syntax = "proto3";

option java_package = "org.signal.storageservice.protos.groups";
option java_multiple_files = true;

message AvatarUploadAttributes {
  string key = 1;

  string credential = 2;

  string acl = 3;

  string algorithm = 4;

  string date = 5;

  string policy = 6;

  string signature = 7;
}

message Member {
  bytes userId = 1;

  Role role = 2;

  bytes profileKey = 3;

  // Only set when sending to server
  bytes presentation = 4;

  uint32 joinedAtRevision = 5;

  enum Role {
    UNKNOWN = 0;
    DEFAULT = 1;
    ADMINISTRATOR = 2;
  }
}

message PendingMember {
  Member member = 1;

  bytes addedByUserId = 2;

  uint64 timestamp = 3;
}

message RequestingMember {
  bytes userId = 1;

  bytes profileKey = 2;

  // Only set when sending to server
  bytes presentation = 3;

  uint64 timestamp = 4;
}

message BannedMember {
  bytes userId = 1;

  uint64 timestamp = 2;
}

message AccessControl {
  AccessRequired attributes = 1;

  AccessRequired members = 2;

  AccessRequired addFromInviteLink = 3;

  enum AccessRequired {
    UNKNOWN = 0;
    ANY = 1;
    MEMBER = 2;
    ADMINISTRATOR = 3;
    UNSATISFIABLE = 4;
  }
}

message Group {
  bytes publicKey = 1;

  bytes title = 2;

  string avatar = 3;

  bytes disappearingMessagesTimer = 4;

  AccessControl accessControl = 5;

  uint32 revision = 6;

  repeated Member members = 7;

  repeated PendingMember pendingMembers = 8;

  repeated RequestingMember requestingMembers = 9;

  bytes inviteLinkPassword = 10;

  bytes description = 11;

  bool announcementsOnly = 12;

  repeated BannedMember bannedMembers = 13;
}

message GroupChange {
  bytes actions = 1;

  bytes serverSignature = 2;

  uint32 changeEpoch = 3;

  message Actions {
    bytes sourceServiceId = 1;
  
    uint32 revision = 2;
  
    repeated AddMemberAction addMembers = 3;
  
    repeated DeleteMemberAction deleteMembers = 4;
  
    repeated ModifyMemberRoleAction modifyMemberRoles = 5;
  
    repeated ModifyMemberProfileKeyAction modifyMemberProfileKeys = 6;
  
    repeated AddPendingMemberAction addPendingMembers = 7;
  
    repeated DeletePendingMemberAction deletePendingMembers = 8;
  
    repeated PromotePendingMemberAction promotePendingMembers = 9;
  
    ModifyTitleAction modifyTitle = 10;
  
    ModifyAvatarAction modifyAvatar = 11;
  
    ModifyDisappearingMessagesTimerAction modifyDisappearingMessagesTimer = 12;
  
    ModifyAttributesAccessControlAction modifyAttributesAccess = 13;
  
    ModifyMembersAccessControlAction modifyMemberAccess = 14;
  
    ModifyAddFromInviteLinkAccessControlAction modifyAddFromInviteLinkAccess = 15;
  
    repeated AddRequestingMemberAction addRequestingMembers = 16;
  
    repeated DeleteRequestingMemberAction deleteRequestingMembers = 17;
  
    repeated PromoteRequestingMemberAction promoteRequestingMembers = 18;
  
    ModifyInviteLinkPasswordAction modifyInviteLinkPassword = 19;
  
    ModifyDescriptionAction modifyDescription = 20;
  
    ModifyAnnouncementsOnlyAction modifyAnnouncementsOnly = 21;
  
    repeated AddBannedMemberAction addBannedMembers = 22;
  
    repeated DeleteBannedMemberAction deleteBannedMembers = 23;
  
    repeated PromotePendingPniAciMemberProfileKeyAction promotePendingPniAciMembers = 24;
  
    message AddMemberAction {
      Member added = 1;
    
      bool joinFromInviteLink = 2;
    }
  
    message DeleteMemberAction {
      bytes deletedUserId = 1;
    }
  
    message ModifyMemberRoleAction {
      bytes userId = 1;
    
      Member.Role role = 2;
    }
  
    message ModifyMemberProfileKeyAction {
      // Only set when sending to server
      bytes presentation = 1;
    
      // Only set when receiving from server
      bytes user_id = 2;
    
      // Only set when receiving from server
      bytes profile_key = 3;
    }
  
    message AddPendingMemberAction {
      PendingMember added = 1;
    }
  
    message DeletePendingMemberAction {
      bytes deletedUserId = 1;
    }
  
    message PromotePendingMemberAction {
      // Only set when sending to server
      bytes presentation = 1;
    
      // Only set when receiving from server
      bytes user_id = 2;
    
      // Only set when receiving from server
      bytes profile_key = 3;
    }
  
    message PromotePendingPniAciMemberProfileKeyAction {
      // Only set when sending to server
      bytes presentation = 1;
    
      // Only set when receiving from server
      bytes userId = 2;
    
      // Only set when receiving from server
      bytes pni = 3;
    
      // Only set when receiving from server
      bytes profileKey = 4;
    }
  
    message AddRequestingMemberAction {
      RequestingMember added = 1;
    }
  
    message DeleteRequestingMemberAction {
      bytes deletedUserId = 1;
    }
  
    message PromoteRequestingMemberAction {
      bytes userId = 1;
    
      Member.Role role = 2;
    }
  
    message AddBannedMemberAction {
      BannedMember added = 1;
    }
  
    message DeleteBannedMemberAction {
      bytes deletedUserId = 1;
    }
  
    message ModifyTitleAction {
      bytes title = 1;
    }
  
    message ModifyDescriptionAction {
      bytes description = 1;
    }
  
    message ModifyAvatarAction {
      string avatar = 1;
    }
  
    message ModifyDisappearingMessagesTimerAction {
      bytes timer = 1;
    }
  
    message ModifyAttributesAccessControlAction {
      AccessControl.AccessRequired attributesAccess = 1;
    }
  
    message ModifyMembersAccessControlAction {
      AccessControl.AccessRequired membersAccess = 1;
    }
  
    message ModifyAddFromInviteLinkAccessControlAction {
      AccessControl.AccessRequired addFromInviteLinkAccess = 1;
    }
  
    message ModifyInviteLinkPasswordAction {
      bytes inviteLinkPassword = 1;
    }
  
    message ModifyAnnouncementsOnlyAction {
      bool announcementsOnly = 1;
    }
  }
}

message GroupChanges {
  repeated GroupChangeState groupChanges = 1;

  message GroupChangeState {
    GroupChange groupChange = 1;
  
    Group groupState = 2;
  }
}

message GroupAttributeBlob {
  oneof content {
    string title = 1;
    bytes avatar = 2;
    uint32 disappearingMessagesDuration = 3;
    string description = 4;
  }
}

message GroupInviteLink {
  oneof contents {
    GroupInviteLinkContentsV1 v1Contents = 1;
  }

  message GroupInviteLinkContentsV1 {
    bytes groupMasterKey = 1;
  
    bytes inviteLinkPassword = 2;
  }
}

message GroupJoinInfo {
  bytes publicKey = 1;

  bytes title = 2;

  string avatar = 3;

  uint32 memberCount = 4;

  AccessControl.AccessRequired addFromInviteLink = 5;

  uint32 revision = 6;

  bool pendingAdminApproval = 7;

  bytes description = 8;
}

message GroupExternalCredential {
  string token = 1;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy