Skip to content

Commit

Permalink
device sync backups
Browse files Browse the repository at this point in the history
  • Loading branch information
codabrink committed Jan 8, 2025
1 parent 0bc2969 commit ee89a6e
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 0 deletions.
20 changes: 20 additions & 0 deletions proto/device_sync/consent_backup.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
syntax = "proto3";
package xmtp.device_sync.consent_backup;

message ConsentRecordSave {
ConsentTypeSave entity_type = 1;
ConsentStateSave state = 2;
string entity = 3;
}

enum ConsentTypeSave {
CONSENT_TYPE_SAVE_CONVERSATION_ID = 0;
CONSENT_TYPE_SAVE_INBOX_ID = 1;
CONSENT_TYPE_SAVE_ADDRESS = 2;
}

enum ConsentStateSave {
CONSENT_STATE_SAVE_UNKNOWN = 0;
CONSENT_STATE_SAVE_ALLOWED = 1;
CONSENT_STATE_SAVE_DENIED = 2;
}
27 changes: 27 additions & 0 deletions proto/device_sync/group_backup.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
syntax = "proto3";
package xmtp.device_sync.group_backup;

message StoredGroupSave {
bytes id = 1;
int64 created_at_ns = 2;
GroupMembershipStateSave membership_state = 3;
int64 installations_last_checked = 4;
string added_by_inbox_id = 5;
optional int64 welcome_id = 6;
int64 rotated_at_ns = 7;
ConversationTypeSave conversation_type = 8;
optional string dm_id = 9;
optional int64 last_message_ns = 10;
}

enum GroupMembershipStateSave {
GROUP_MEMBERSHIP_STATE_SAVE_ALLOWED = 0;
GROUP_MEMBERSHIP_STATE_SAVE_REJECTED = 1;
GROUP_MEMBERSHIP_STATE_SAVE_PENDING = 2;
}

enum ConversationTypeSave {
CONVERSATION_TYPE_SAVE_GROUP = 0;
CONVERSATION_TYPE_SAVE_DM = 1;
CONVERSATION_TYPE_SAVE_SYNC = 2;
}
41 changes: 41 additions & 0 deletions proto/device_sync/message_backup.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
syntax = "proto3";
package xmtp.device_sync.message_backup;

message GroupMessageSave {
bytes id = 1;
bytes group_id = 2;
bytes decrypted_message_bytes = 3;
int64 sent_at_ns = 4;
GroupMessageKindSave kind = 5;
bytes sender_installation_id = 6;
string sender_inbox_id = 7;
DeliveryStatusSave delivery_status = 8;
ContentTypeSave content_type = 9;
int32 version_major = 10;
int32 version_minor = 11;
string authority_id = 12;
}

enum GroupMessageKindSave {
GROUP_MESSAGE_KIND_SAVE_APPLICATION = 0;
GROUP_MESSAGE_KIND_SAVE_MEMBERSHIP_CHANGE = 1;
}

enum DeliveryStatusSave {
DELIVERY_STATUS_SAVE_UNPUBLISHED = 0;
DELIVERY_STATUS_SAVE_PUBLISHED = 1;
DELIVERY_STATUS_SAVE_FAILED = 2;
}

enum ContentTypeSave {
CONTENT_TYPE_SAVE_UNKNOWN = 0;
CONTENT_TYPE_SAVE_TEXT = 1;
CONTENT_TYPE_SAVE_GROUP_MEMBERSHIP_CHANGE = 2;
CONTENT_TYPE_SAVE_GROUP_UPDATED = 3;
CONTENT_TYPE_SAVE_REACTION = 4;
CONTENT_TYPE_SAVE_READ_RECEIPT = 5;
CONTENT_TYPE_SAVE_REPLY = 6;
CONTENT_TYPE_SAVE_ATTACHMENT = 7;
CONTENT_TYPE_SAVE_REMOTE_ATTACHMENT = 8;
CONTENT_TYPE_SAVE_TRANSACTION_REFERENCE = 9;
}

0 comments on commit ee89a6e

Please sign in to comment.