mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-08-24 01:08:09 +08:00
191 lines
3.8 KiB
Protocol Buffer
191 lines
3.8 KiB
Protocol Buffer
/*
|
|
* SPDX-FileCopyrightText: 2019-2021 Vishesh Handa <me@vhanda.in>
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
syntax = "proto3";
|
|
|
|
package gitjournal;
|
|
|
|
option go_package = "github.com/gitjournal/analytics_backend";
|
|
|
|
service AnalyticsService {
|
|
rpc SendData(AnalyticsMessage) returns (AnalyticsReply) {}
|
|
}
|
|
|
|
message AnalyticsReply {}
|
|
|
|
message AnalyticsMessage {
|
|
string appId = 1;
|
|
repeated Event events = 2;
|
|
|
|
DeviceInfo deviceInfo = 3;
|
|
PackageInfo packageInfo = 4;
|
|
}
|
|
|
|
// message Any {
|
|
// oneof value {
|
|
// string stringValue = 1;
|
|
// int64 intValue = 2;
|
|
// double doubleValue = 3;
|
|
// bool boolValue = 4;
|
|
// }
|
|
// }
|
|
|
|
message Event {
|
|
string name = 1;
|
|
uint64 date = 2; // unix timestamp
|
|
map<string, string> params = 3;
|
|
|
|
string userId = 4;
|
|
string pseudoId = 5;
|
|
map<string, string> userProperties = 6;
|
|
|
|
uint32 sessionID = 7;
|
|
}
|
|
|
|
message DeviceInfo {
|
|
Platform platform = 1;
|
|
oneof deviceInfo {
|
|
AndroidDeviceInfo androidDeviceInfo = 11;
|
|
IosDeviceInfo iosDeviceInfo = 12;
|
|
LinuxDeviceInfo linuxDeviceInfo = 13;
|
|
MacOSDeviceInfo macOSDeviceInfo = 14;
|
|
WindowsDeviceInfo windowsDeviceInfo = 15;
|
|
WebBrowserInfo webBrowserInfo = 16;
|
|
}
|
|
}
|
|
|
|
message PackageInfo {
|
|
string appName = 1;
|
|
string packageName = 2;
|
|
string version = 3;
|
|
string buildNumber = 4;
|
|
string buildSignature = 5;
|
|
string installSource = 6;
|
|
}
|
|
|
|
enum Platform {
|
|
android = 0;
|
|
ios = 1;
|
|
linux = 2;
|
|
macos = 3;
|
|
windows = 4;
|
|
web = 5;
|
|
}
|
|
|
|
message AndroidBuildVersion {
|
|
string baseOS = 1;
|
|
string codename = 2;
|
|
string incremental = 3;
|
|
uint32 previewSdkInt = 4;
|
|
string release = 5;
|
|
uint32 sdkInt = 6;
|
|
string securityPatch = 7;
|
|
}
|
|
|
|
message AndroidDeviceInfo {
|
|
AndroidBuildVersion version = 1;
|
|
string board = 2;
|
|
string bootloader = 3;
|
|
string brand = 4;
|
|
string device = 5;
|
|
string display = 6;
|
|
string fingerprint = 7;
|
|
string hardware = 8;
|
|
string host = 9;
|
|
string id = 10;
|
|
string manufacturer = 11;
|
|
string model = 12;
|
|
string product = 13;
|
|
repeated string supported32BitAbis = 14;
|
|
repeated string supported64BitAbis = 15;
|
|
repeated string supportedAbis = 16;
|
|
string tags = 17;
|
|
string type = 18;
|
|
bool isPhysicalDevice = 19;
|
|
string androidId = 20;
|
|
repeated string systemFeatures = 21;
|
|
}
|
|
|
|
message IosUtsname {
|
|
string sysname = 1;
|
|
string nodename = 2;
|
|
string release = 3;
|
|
string version = 4;
|
|
string machine = 5;
|
|
}
|
|
|
|
message IosDeviceInfo {
|
|
string name = 1;
|
|
string systemName = 2;
|
|
string systemVersion = 3;
|
|
string model = 4;
|
|
string localizedModel = 5;
|
|
string identifierForVendor = 6;
|
|
bool isPhysicalDevice = 7;
|
|
IosUtsname utsname = 8;
|
|
}
|
|
|
|
message LinuxDeviceInfo {
|
|
string name = 1;
|
|
string version = 2;
|
|
string id = 3;
|
|
repeated string idLike = 4;
|
|
string versionCodename = 5;
|
|
string versionId = 6;
|
|
string prettyName = 7;
|
|
string buildId = 8;
|
|
string variant = 9;
|
|
string variantId = 10;
|
|
string machineId = 11;
|
|
}
|
|
|
|
message MacOSDeviceInfo {
|
|
string computerName = 1;
|
|
string hostName = 2;
|
|
string arch = 3;
|
|
string model = 4;
|
|
string kernelVersion = 5;
|
|
string osRelease = 6;
|
|
uint32 activeCPUs = 7;
|
|
uint64 memorySize = 8;
|
|
uint64 cpuFrequency = 9;
|
|
}
|
|
|
|
message WindowsDeviceInfo {
|
|
string computerName = 1;
|
|
uint32 numberOfCores = 2;
|
|
uint32 systemMemoryInMegabytes = 3;
|
|
}
|
|
|
|
enum BrowserName {
|
|
unknown = 0;
|
|
firefox = 1;
|
|
samsungInternet = 2;
|
|
opera = 3;
|
|
msie = 4;
|
|
edge = 5;
|
|
chrome = 6;
|
|
safari = 7;
|
|
}
|
|
|
|
message WebBrowserInfo {
|
|
BrowserName browserName = 1;
|
|
string appCodeName = 2;
|
|
string appName = 3;
|
|
string appVersion = 4;
|
|
uint64 deviceMemory = 5;
|
|
string language = 6;
|
|
repeated string languages = 7;
|
|
string platform = 8;
|
|
string product = 9;
|
|
string productSub = 10;
|
|
string userAgent = 11;
|
|
string vendor = 12;
|
|
string vendorSub = 13;
|
|
uint32 hardwareConcurrency = 14;
|
|
uint32 maxTouchPoints = 15;
|
|
}
|