1 /* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.adservices.service.stats; 18 19 import com.google.auto.value.AutoValue; 20 21 /** Class for AdServicesEncryptionKeyFetched atom. */ 22 @AutoValue 23 public abstract class AdServicesEnrollmentTransactionStats { 24 /** 25 * @return query type. 26 */ transactionType()27 public abstract TransactionType transactionType(); 28 29 /** 30 * @return transaction status. 31 */ transactionStatus()32 public abstract TransactionStatus transactionStatus(); 33 34 /** 35 * @return transaction parameter count. 36 */ transactionParameterCount()37 public abstract int transactionParameterCount(); 38 39 /** 40 * @return transaction result count. 41 */ transactionResultCount()42 public abstract int transactionResultCount(); 43 44 /** 45 * @return query result count. 46 */ queryResultCount()47 public abstract int queryResultCount(); 48 49 /** 50 * @return Datasource Record count pre query. 51 */ dataSourceRecordCountPre()52 public abstract int dataSourceRecordCountPre(); 53 54 /** 55 * @return Datasource Record count post query. 56 */ dataSourceRecordCountPost()57 public abstract int dataSourceRecordCountPost(); 58 59 /** 60 * @return Enrollment File Id. 61 */ enrollmentFileBuildId()62 public abstract int enrollmentFileBuildId(); 63 64 /** 65 * @return generic builder. 66 */ builder()67 public static AdServicesEnrollmentTransactionStats.Builder builder() { 68 return new AutoValue_AdServicesEnrollmentTransactionStats.Builder(); 69 } 70 71 @AutoValue.Builder 72 public abstract static class Builder { 73 74 /** Set query parameter collection count */ setTransactionParameterCount(int value)75 public abstract Builder setTransactionParameterCount(int value); 76 77 /** Set query result count. */ setQueryResultCount(int value)78 public abstract Builder setQueryResultCount(int value); 79 80 /** Set transaction result count. After query processing. */ setTransactionResultCount(int value)81 public abstract Builder setTransactionResultCount(int value); 82 83 /** Set source record count prior to transaction. */ setDataSourceRecordCountPre(int value)84 public abstract Builder setDataSourceRecordCountPre(int value); 85 86 /** Set source record count following transaction. */ setDataSourceRecordCountPost(int value)87 public abstract Builder setDataSourceRecordCountPost(int value); 88 89 /** Set Enrollment File Identifier record at time of operation. */ setEnrollmentFileBuildId(int value)90 public abstract Builder setEnrollmentFileBuildId(int value); 91 92 /** Set Enrollment Transaction Type. */ setTransactionType(TransactionType value)93 public abstract Builder setTransactionType(TransactionType value); 94 95 /** Set Enrollment Transaction Status. */ setTransactionStatus(TransactionStatus value)96 public abstract Builder setTransactionStatus(TransactionStatus value); 97 98 /** Build AdServicesEnrollmentTransactionStats */ build()99 public abstract AdServicesEnrollmentTransactionStats build(); 100 } 101 102 public enum TransactionType { 103 UNKNOWN(0), 104 INSERT(1), 105 DELETE(2), 106 DELETE_ALL(3), 107 OVERWRITE_DATA(4), 108 GET_ENROLLMENT_DATA(5), 109 GET_ALL_ENROLLMENT_DATA(6), 110 GET_ENROLLMENT_DATA_FROM_SDK_NAME(7), 111 GET_ENROLLMENT_DATA_FROM_MEASUREMENT_URL(8), 112 GET_ALL_FLEDGE_ENROLLED_ADTECHS(9), 113 GET_ENROLLMENT_DATA_FOR_FLEDGE_BY_ADTECH_IDENTIFIER(10), 114 GET_ENROLLMENT_DATA_FOR_FLEDGE_BY_MATCHING_ADTECH_IDENTIFIER(11), 115 GET_ALL_PAS_ENROLLED_ADTECHS(12), 116 117 GET_ENROLLMENT_DATA_FOR_PAS_BY_ADTECH_IDENTIFIER(13), 118 GET_ENROLLMENT_DATA_FOR_PAS_BY_MATCHING_ADTECH_IDENTIFIER(14); 119 120 final int mValue; 121 TransactionType(int val)122 TransactionType(int val) { 123 this.mValue = val; 124 } 125 getValue()126 public int getValue() { 127 return mValue; 128 } 129 } 130 131 public enum TransactionStatus { 132 UNKNOWN(0), 133 SUCCESS(1), 134 DB_NOT_FOUND(2), 135 INVALID_INPUT(3), 136 INVALID_OUTPUT(4), 137 MATCH_NOT_FOUND(5), 138 DATASTORE_EXCEPTION(6); 139 final int mValue; 140 TransactionStatus(int val)141 TransactionStatus(int val) { 142 this.mValue = val; 143 } 144 getValue()145 public int getValue() { 146 return mValue; 147 } 148 } 149 } 150