1 /* 2 * Copyright (C) 2021 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.data.enrollment; 18 19 import java.util.List; 20 21 /** Container class for Enrollment table definitions and constants. */ 22 public final class EnrollmentTables { 23 public static final String[] ENROLLMENT_TABLES = { 24 EnrollmentTables.EnrollmentDataContract.TABLE, 25 }; 26 27 /** Contract for Adtech enrollment data. */ 28 public interface EnrollmentDataContract { 29 String TABLE = "enrollment_data"; 30 String ENROLLMENT_ID = "enrollment_id"; 31 String COMPANY_ID = "company_id"; 32 // Following six string columns each consist of a space separated list. 33 String SDK_NAMES = "sdk_names"; 34 String ATTRIBUTION_SOURCE_REGISTRATION_URL = "attribution_source_registration_url"; 35 String ATTRIBUTION_TRIGGER_REGISTRATION_URL = "attribution_trigger_registration_url"; 36 String ATTRIBUTION_REPORTING_URL = "attribution_reporting_url"; 37 String REMARKETING_RESPONSE_BASED_REGISTRATION_URL = 38 "remarketing_response_based_registration_url"; 39 String ENCRYPTION_KEY_URL = "encryption_key_url"; 40 String ENROLLED_SITE = "enrolled_site"; 41 String ENROLLED_APIS = "enrolled_apis"; 42 } 43 44 public static final String CREATE_TABLE_ENROLLMENT_DATA_V1 = 45 "CREATE TABLE " 46 + EnrollmentDataContract.TABLE 47 + " (" 48 + EnrollmentDataContract.ENROLLMENT_ID 49 + " TEXT PRIMARY KEY NOT NULL, " 50 + EnrollmentDataContract.COMPANY_ID 51 + " TEXT, " 52 + EnrollmentDataContract.SDK_NAMES 53 + " TEXT, " 54 + EnrollmentDataContract.ATTRIBUTION_SOURCE_REGISTRATION_URL 55 + " TEXT, " 56 + EnrollmentDataContract.ATTRIBUTION_TRIGGER_REGISTRATION_URL 57 + " TEXT, " 58 + EnrollmentDataContract.ATTRIBUTION_REPORTING_URL 59 + " TEXT, " 60 + EnrollmentDataContract.REMARKETING_RESPONSE_BASED_REGISTRATION_URL 61 + " TEXT, " 62 + EnrollmentDataContract.ENCRYPTION_KEY_URL 63 + " TEXT " 64 + ")"; 65 66 public static final String CREATE_TABLE_ENROLLMENT_DATA_V2 = 67 "CREATE TABLE " 68 + EnrollmentDataContract.TABLE 69 + " (" 70 + EnrollmentDataContract.ENROLLMENT_ID 71 + " TEXT PRIMARY KEY NOT NULL, " 72 + EnrollmentDataContract.COMPANY_ID 73 + " TEXT, " 74 + EnrollmentDataContract.SDK_NAMES 75 + " TEXT, " 76 + EnrollmentDataContract.ATTRIBUTION_SOURCE_REGISTRATION_URL 77 + " TEXT, " 78 + EnrollmentDataContract.ATTRIBUTION_TRIGGER_REGISTRATION_URL 79 + " TEXT, " 80 + EnrollmentDataContract.ATTRIBUTION_REPORTING_URL 81 + " TEXT, " 82 + EnrollmentDataContract.REMARKETING_RESPONSE_BASED_REGISTRATION_URL 83 + " TEXT, " 84 + EnrollmentDataContract.ENCRYPTION_KEY_URL 85 + " TEXT, " 86 + EnrollmentDataContract.ENROLLED_SITE 87 + " TEXT, " 88 + EnrollmentDataContract.ENROLLED_APIS 89 + " TEXT " 90 + ")"; 91 92 // Consolidated list of create statements for all tables. 93 public static final List<String> CREATE_STATEMENTS = List.of(CREATE_TABLE_ENROLLMENT_DATA_V1); 94 95 // Consolidated list of create statements for all tables. 96 public static final List<String> CREATE_STATEMENTS_V1 = 97 List.of(CREATE_TABLE_ENROLLMENT_DATA_V1); 98 99 public static final List<String> CREATE_STATEMENTS_V2 = 100 List.of(CREATE_TABLE_ENROLLMENT_DATA_V2); 101 102 // Private constructor to prevent instantiation. EnrollmentTables()103 private EnrollmentTables() {} 104 } 105