syntax = "proto3"; package qpq.v1; // Device register/list/revoke (3 methods). // Method IDs: 700-702. message RegisterDeviceRequest { bytes device_id = 1; string device_name = 2; } message RegisterDeviceResponse { bool success = 1; } message ListDevicesRequest {} message ListDevicesResponse { repeated Device devices = 1; } message Device { bytes device_id = 1; string device_name = 2; uint64 registered_at = 3; } message RevokeDeviceRequest { bytes device_id = 1; } message RevokeDeviceResponse { bool success = 1; } // Push notification token registration. // Method ID: 710. // Clients call this after login to register their device for push notifications. enum PushPlatform { PUSH_PLATFORM_UNSPECIFIED = 0; PUSH_PLATFORM_APNS = 1; // Apple Push Notification Service (iOS) PUSH_PLATFORM_FCM = 2; // Firebase Cloud Messaging (Android) PUSH_PLATFORM_WEB_PUSH = 3; // Web Push (browsers) } message RegisterPushTokenRequest { bytes device_id = 1; PushPlatform platform = 2; string token = 3; // Platform-specific push token } message RegisterPushTokenResponse { bool success = 1; }