- Move src/, tests/, bin/, generated/, proto/, composer.json, composer.lock, phpunit.xml from php/ to repo root - Move ref/ to doc/reference_samples/ for better organization - Remove vendor/ from git tracking (now properly gitignored) - Update all test file paths (dirname adjustments and ref/ -> doc/reference_samples/) - Update all documentation paths (AGENTS.md, doc/*.md) - Remove php.bak/ directory - All 252 tests pass
449 lines
10 KiB
Protocol Buffer
Executable file
449 lines
10 KiB
Protocol Buffer
Executable file
syntax = "proto3";
|
|
|
|
package registration.core;
|
|
|
|
option csharp_namespace = "Pro.SerializationInterop.RVProtoData.Registration";
|
|
option swift_prefix = "RVData_Registration_";
|
|
|
|
message Request {
|
|
oneof request {
|
|
.registration.core.Register register = 1;
|
|
.registration.core.Unregister unregister = 2;
|
|
.registration.core.ChangeSeatType change_seat_type = 3;
|
|
.registration.core.GetFreeBibles get_free_bibles = 4;
|
|
.registration.core.GetPurchasedBibles get_purchased_bibles = 5;
|
|
.registration.core.ActivateBible activate_bible = 6;
|
|
.registration.core.DeactivateBible deactivate_bible = 7;
|
|
.registration.core.DownloadBible download_bible = 8;
|
|
.registration.core.RegistrationData registration_data = 9;
|
|
.registration.core.ProductInformation product_information = 10;
|
|
.registration.core.GetAvailableVersion get_upgrades_available = 11;
|
|
.registration.core.GetAvailableVersion get_downgrade_available = 12;
|
|
.registration.core.DownloadNewVersion download_new_version = 13;
|
|
.registration.core.Refresh refresh = 14;
|
|
.registration.core.ActivateLink activate_link = 15;
|
|
.registration.core.UpdateToken update_token = 16;
|
|
.registration.core.OldTokenData old_token_data = 17;
|
|
}
|
|
}
|
|
|
|
message Callback {
|
|
oneof callback {
|
|
.registration.core.SetWatermark set_watermark = 1;
|
|
.registration.core.DeactivationComplete deactivation_complete = 2;
|
|
.registration.core.FreeBibles free_bibles = 3;
|
|
.registration.core.PurchasedBibles purchased_bibles = 4;
|
|
.registration.core.BibleActivationComplete bible_activation_complete = 5;
|
|
.registration.core.BibleDeactivationComplete bible_deactivation_complete = 6;
|
|
.registration.core.BibleDownloadProgress bible_download_progress = 7;
|
|
.registration.core.HardExit hard_exit = 8;
|
|
.registration.core.ReadRegistrationData read_registration_data = 9;
|
|
.registration.core.WriteRegistrationData write_registration_data = 10;
|
|
.registration.core.GetProductInformation get_product_information = 11;
|
|
.registration.core.Log log = 12;
|
|
.registration.core.UpgradesAvailable upgrades_available = 13;
|
|
.registration.core.DowngradeAvailable downgrade_available = 14;
|
|
.registration.core.DownloadProgress download_progress = 15;
|
|
.registration.core.Alerts alerts = 16;
|
|
.registration.core.ShowExpirationDialog show_expiration_dialog = 17;
|
|
.registration.core.ReadOldToken read_old_token = 18;
|
|
.registration.core.Token token = 19;
|
|
.registration.core.VerificationComplete verification_complete = 20;
|
|
}
|
|
}
|
|
|
|
message Register {
|
|
string user_name = 1;
|
|
string registration_key = 2;
|
|
string display_name = 3;
|
|
.registration.core.SeatType seat_type = 4;
|
|
.registration.core.UpdateChannel channel = 5;
|
|
}
|
|
|
|
message ActivateLink {
|
|
string identifier = 1;
|
|
}
|
|
|
|
message Unregister {
|
|
}
|
|
|
|
message ChangeSeatType {
|
|
.registration.core.SeatType seat_type = 1;
|
|
.registration.core.UpdateChannel channel = 2;
|
|
}
|
|
|
|
message GetFreeBibles {
|
|
}
|
|
|
|
message GetPurchasedBibles {
|
|
}
|
|
|
|
message ActivateBible {
|
|
string bible_id = 1;
|
|
}
|
|
|
|
message DeactivateBible {
|
|
string bible_id = 1;
|
|
}
|
|
|
|
message DownloadBible {
|
|
string bible_id = 1;
|
|
string filename = 2;
|
|
}
|
|
|
|
message RegistrationData {
|
|
bytes data = 1;
|
|
.registration.core.UpdateChannel channel = 2;
|
|
}
|
|
|
|
message ProductInformation {
|
|
string product_name = 1;
|
|
string major_version = 2;
|
|
string minor_version = 3;
|
|
string patch_version = 4;
|
|
string build_number = 5;
|
|
int64 build_date = 6;
|
|
}
|
|
|
|
message GetAvailableVersion {
|
|
bool include_notes = 1;
|
|
string channel = 2;
|
|
string format = 3;
|
|
}
|
|
|
|
message DownloadNewVersion {
|
|
string url = 1;
|
|
string filename = 2;
|
|
}
|
|
|
|
message Refresh {
|
|
.registration.core.UpdateChannel channel = 1;
|
|
}
|
|
|
|
message UpdateToken {
|
|
.registration.core.TokenMetadata token_metadata = 1;
|
|
}
|
|
|
|
message OldTokenData {
|
|
.registration.core.ReadTokenStatus status = 1;
|
|
.registration.core.TokenMetadata token = 2;
|
|
}
|
|
|
|
message Token {
|
|
.registration.core.TokenMetadata token_metadata = 1;
|
|
}
|
|
|
|
message SetWatermark {
|
|
bool is_registered = 1;
|
|
bool active_seat = 2;
|
|
}
|
|
|
|
message ActivationComplete {
|
|
.registration.core.Status result = 1;
|
|
.registration.core.RegistrationInfo registration_info = 2;
|
|
.registration.core.Seats available_seats = 3;
|
|
.registration.core.Seats total_seats = 4;
|
|
}
|
|
|
|
message DeactivationComplete {
|
|
.registration.core.Status result = 1;
|
|
}
|
|
|
|
message ChangeSeatTypeComplete {
|
|
.registration.core.Status result = 1;
|
|
.registration.core.Seats available_seats = 2;
|
|
.registration.core.Seats total_seats = 3;
|
|
.registration.core.SeatType seat_type = 4;
|
|
}
|
|
|
|
message FreeBibles {
|
|
.registration.core.Status status = 1;
|
|
repeated .registration.core.Bible bibles = 2;
|
|
}
|
|
|
|
message PurchasedBibles {
|
|
.registration.core.Status status = 1;
|
|
repeated .registration.core.PurchasedBible bibles = 2;
|
|
}
|
|
|
|
message BibleActivationComplete {
|
|
.registration.core.Status status = 1;
|
|
string bible_id = 2;
|
|
string download_link = 3;
|
|
repeated .registration.core.PurchasedBible bibles = 4;
|
|
}
|
|
|
|
message BibleDeactivationComplete {
|
|
.registration.core.Status status = 1;
|
|
string bible_id = 2;
|
|
repeated .registration.core.PurchasedBible bibles = 3;
|
|
}
|
|
|
|
message BibleDownloadProgress {
|
|
.registration.core.Status status = 1;
|
|
bool complete = 2;
|
|
float progress = 3;
|
|
string bible_id = 4;
|
|
string file_name = 5;
|
|
string download_link = 6;
|
|
}
|
|
|
|
message HardExit {
|
|
enum Reason {
|
|
HostsFile = 0;
|
|
SystemTime = 1;
|
|
}
|
|
|
|
.registration.core.HardExit.Reason reason = 1;
|
|
}
|
|
|
|
message ReadRegistrationData {
|
|
string fingerprint = 1;
|
|
string identifier = 2;
|
|
}
|
|
|
|
message ReadOldToken {
|
|
}
|
|
|
|
message WriteRegistrationData {
|
|
bytes data = 1;
|
|
}
|
|
|
|
message GetProductInformation {
|
|
}
|
|
|
|
message Log {
|
|
enum Level {
|
|
Debug = 0;
|
|
Info = 1;
|
|
Warning = 2;
|
|
Error = 3;
|
|
}
|
|
|
|
.registration.core.Log.Level level = 1;
|
|
string message = 2;
|
|
}
|
|
|
|
message UpgradesAvailable {
|
|
.registration.core.Status status = 1;
|
|
bool is_non_production_active = 2;
|
|
string active_channel = 3;
|
|
string release_notes = 4;
|
|
repeated .registration.core.BuildInformation upgrades = 5;
|
|
}
|
|
|
|
message DowngradeAvailable {
|
|
.registration.core.Status status = 1;
|
|
.registration.core.BuildInformation downgrade = 2;
|
|
string release_notes = 3;
|
|
}
|
|
|
|
message DownloadProgress {
|
|
.registration.core.Status status = 1;
|
|
bool complete = 2;
|
|
float progress = 3;
|
|
}
|
|
|
|
message Alerts {
|
|
repeated .registration.core.Alert alerts = 1;
|
|
}
|
|
|
|
message ShowExpirationDialog {
|
|
int32 days = 1;
|
|
}
|
|
|
|
message LicenseInfo {
|
|
.registration.core.RegistrationInfo registration_info = 1;
|
|
.registration.core.Seats available_seats = 2;
|
|
.registration.core.Seats total_seats = 3;
|
|
bool legacy = 4;
|
|
}
|
|
|
|
message VerificationComplete {
|
|
.registration.core.Status result = 1;
|
|
.registration.core.LicenseInfo license = 2;
|
|
.registration.core.Bibles bibles = 3;
|
|
.registration.core.TokenMetadata token = 4;
|
|
.registration.core.SubscriptionInfo subscription_info = 5;
|
|
.registration.core.PopupAlertMessage alert = 6;
|
|
.registration.core.BannerMessage banner = 7;
|
|
}
|
|
|
|
message Seats {
|
|
int32 basic = 1;
|
|
int32 advanced = 2;
|
|
}
|
|
|
|
message SupplementalInformation {
|
|
string download_link = 1;
|
|
}
|
|
|
|
message Bible {
|
|
string id = 1;
|
|
string name = 2;
|
|
string language = 3;
|
|
string publisher = 4;
|
|
string copyright = 5;
|
|
string display_abbreviation = 6;
|
|
string internal_abbreviation = 7;
|
|
string version = 8;
|
|
oneof additional {
|
|
.registration.core.SupplementalInformation info = 9;
|
|
}
|
|
}
|
|
|
|
message PurchasedBible {
|
|
.registration.core.Bible metadata = 1;
|
|
.registration.core.LicensingInfo licensing_info = 2;
|
|
}
|
|
|
|
message LicensingInfo {
|
|
int32 available_copies = 1;
|
|
int32 total_copies = 2;
|
|
bool is_active_locally = 3;
|
|
repeated .registration.core.ActiveCopy other_active_copies = 4;
|
|
}
|
|
|
|
message ActiveCopy {
|
|
string display_name = 1;
|
|
string hostname = 2;
|
|
}
|
|
|
|
message RegistrationInfo {
|
|
string user_name = 1;
|
|
string display_key = 2;
|
|
string display_name = 3;
|
|
int64 expiration_date = 4;
|
|
string activation_key = 5;
|
|
.registration.core.LicenseType license_type = 6;
|
|
int64 registration_date = 7;
|
|
.registration.core.SeatType seat_type = 8;
|
|
uint32 latest_available_build_number = 9;
|
|
string latest_available_version = 10;
|
|
bool has_worship_house_media_subscription = 11;
|
|
int64 maintenance_expiration_date = 12;
|
|
int64 non_extended_maintenance_expiration_date = 13;
|
|
bool is_auto_renewal_active = 14;
|
|
}
|
|
|
|
message BuildInformation {
|
|
int32 build_number = 1;
|
|
string version = 2;
|
|
string min_os_version = 3;
|
|
int64 release_date = 4;
|
|
int64 registration_date = 5;
|
|
int64 download_size = 6;
|
|
string download_url = 7;
|
|
string channel = 8;
|
|
bool is_beta = 9;
|
|
bool is_available = 10;
|
|
}
|
|
|
|
message Alert {
|
|
.registration.core.AlertType alert_type = 1;
|
|
string title = 2;
|
|
.registration.core.AlertContentType content_type = 3;
|
|
string content = 4;
|
|
}
|
|
|
|
message TokenMetadata {
|
|
string access_token = 1;
|
|
string refresh_token = 2;
|
|
int64 expires_at = 3;
|
|
}
|
|
|
|
message SubscriptionInfo {
|
|
string organization_name = 1;
|
|
.registration.core.ProContentLicenseType procontent_license_type = 2;
|
|
int64 procontent_license_expiration = 3;
|
|
}
|
|
|
|
message DownloadLink {
|
|
string id = 1;
|
|
string url = 2;
|
|
}
|
|
|
|
message Bibles {
|
|
repeated .registration.core.Bible free_bibles = 1;
|
|
repeated .registration.core.PurchasedBible purchased_bibles = 2;
|
|
}
|
|
|
|
message FeatureFlags {
|
|
bool use_staging = 1;
|
|
bool use_subscription = 2;
|
|
}
|
|
|
|
enum Status {
|
|
Success = 0;
|
|
ExpiredLicense = 1;
|
|
DeactivatedLicense = 2;
|
|
DisabledLicense = 3;
|
|
NoSeats = 4;
|
|
NoCopies = 5;
|
|
MissingLicense = 6;
|
|
TimeDiscrepancy = 7;
|
|
BibleMissing = 8;
|
|
BibleNotPurchased = 9;
|
|
BibleActivationMissing = 10;
|
|
BibleDeactivated = 11;
|
|
NetworkError = 12;
|
|
IOError = 13;
|
|
NotInitialized = 14;
|
|
UnknownError = 15;
|
|
}
|
|
|
|
enum SeatType {
|
|
Inactive = 0;
|
|
Basic = 1;
|
|
Advanced = 2;
|
|
}
|
|
|
|
enum LicenseType {
|
|
Trial = 0;
|
|
Rental = 1;
|
|
Standard = 2;
|
|
Campus = 3;
|
|
}
|
|
|
|
enum UpdateChannel {
|
|
Beta = 0;
|
|
Production = 1;
|
|
}
|
|
|
|
enum AlertType {
|
|
Info = 0;
|
|
Feature = 1;
|
|
Warning = 2;
|
|
}
|
|
|
|
enum AlertContentType {
|
|
ContentType = 0;
|
|
Text = 1;
|
|
InternalLink = 2;
|
|
ExternalLink = 3;
|
|
}
|
|
|
|
enum ReadTokenStatus {
|
|
ReadTokenSuccess = 0;
|
|
TokenNotPresent = 1;
|
|
}
|
|
|
|
enum ProContentLicenseType {
|
|
Free = 0;
|
|
Premium = 1;
|
|
}
|
|
|
|
enum PopupAlertMessage {
|
|
NoPopupAlert = 0;
|
|
Activation = 1;
|
|
ActivationNoSeat = 2;
|
|
NotSignedIn = 3;
|
|
SignedInNoSubscription = 4;
|
|
}
|
|
|
|
enum BannerMessage {
|
|
NoBanner = 0;
|
|
ActivateProPresenter = 1;
|
|
}
|
|
|