161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit ArkData 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type rpc from './@ohos.rpc'; 2261847f8eSopenharmony_ciimport type cloudData from './@ohos.data.cloudData'; 2361847f8eSopenharmony_ciimport type relationalStore from './@ohos.data.relationalStore'; 2461847f8eSopenharmony_ci 2561847f8eSopenharmony_ci/** 2661847f8eSopenharmony_ci * Provides interfaces to implement extended cloud capabilities. 2761847f8eSopenharmony_ci * 2861847f8eSopenharmony_ci * @namespace cloudExtension 2961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 3061847f8eSopenharmony_ci * @since 11 3161847f8eSopenharmony_ci */ 3261847f8eSopenharmony_cideclare namespace cloudExtension { 3361847f8eSopenharmony_ci /** 3461847f8eSopenharmony_ci * Provides interface for managing cloud assets. 3561847f8eSopenharmony_ci * 3661847f8eSopenharmony_ci * @interface CloudAsset 3761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 3861847f8eSopenharmony_ci * @systemapi 3961847f8eSopenharmony_ci * @since 11 4061847f8eSopenharmony_ci */ 4161847f8eSopenharmony_ci export interface CloudAsset extends relationalStore.Asset { 4261847f8eSopenharmony_ci /** 4361847f8eSopenharmony_ci * Asset ID. 4461847f8eSopenharmony_ci * 4561847f8eSopenharmony_ci * @type { string } 4661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 4761847f8eSopenharmony_ci * @systemapi 4861847f8eSopenharmony_ci * @since 11 4961847f8eSopenharmony_ci */ 5061847f8eSopenharmony_ci assetId: string; 5161847f8eSopenharmony_ci 5261847f8eSopenharmony_ci /** 5361847f8eSopenharmony_ci * Asset hash value. 5461847f8eSopenharmony_ci * 5561847f8eSopenharmony_ci * @type { string } 5661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 5761847f8eSopenharmony_ci * @systemapi 5861847f8eSopenharmony_ci * @since 11 5961847f8eSopenharmony_ci */ 6061847f8eSopenharmony_ci hash: string; 6161847f8eSopenharmony_ci } 6261847f8eSopenharmony_ci 6361847f8eSopenharmony_ci /** 6461847f8eSopenharmony_ci * Indicates cloud assets in one column. 6561847f8eSopenharmony_ci * 6661847f8eSopenharmony_ci * @typedef { Array<CloudAsset> } CloudAssets 6761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 6861847f8eSopenharmony_ci * @systemapi 6961847f8eSopenharmony_ci * @since 11 7061847f8eSopenharmony_ci */ 7161847f8eSopenharmony_ci type CloudAssets = Array<CloudAsset>; 7261847f8eSopenharmony_ci 7361847f8eSopenharmony_ci /** 7461847f8eSopenharmony_ci * Indicates possible cloud types. 7561847f8eSopenharmony_ci * 7661847f8eSopenharmony_ci * @typedef { null | number | string | boolean | Uint8Array | CloudAsset | CloudAssets } CloudType 7761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 7861847f8eSopenharmony_ci * @systemapi 7961847f8eSopenharmony_ci * @since 11 8061847f8eSopenharmony_ci */ 8161847f8eSopenharmony_ci type CloudType = null | number | string | boolean | Uint8Array | CloudAsset | CloudAssets; 8261847f8eSopenharmony_ci 8361847f8eSopenharmony_ci /** 8461847f8eSopenharmony_ci * Defines cloud information. 8561847f8eSopenharmony_ci * 8661847f8eSopenharmony_ci * @interface CloudInfo 8761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 8861847f8eSopenharmony_ci * @systemapi 8961847f8eSopenharmony_ci * @since 11 9061847f8eSopenharmony_ci */ 9161847f8eSopenharmony_ci export interface CloudInfo { 9261847f8eSopenharmony_ci /** 9361847f8eSopenharmony_ci * Cloud information. For details, see {@link ServiceInfo}. 9461847f8eSopenharmony_ci * 9561847f8eSopenharmony_ci * @type { ServiceInfo } 9661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 9761847f8eSopenharmony_ci * @systemapi 9861847f8eSopenharmony_ci * @since 11 9961847f8eSopenharmony_ci */ 10061847f8eSopenharmony_ci cloudInfo: ServiceInfo; 10161847f8eSopenharmony_ci 10261847f8eSopenharmony_ci /** 10361847f8eSopenharmony_ci * Defines brief application information. 10461847f8eSopenharmony_ci * 10561847f8eSopenharmony_ci * @type { Record<string, AppBriefInfo> } 10661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 10761847f8eSopenharmony_ci * @systemapi 10861847f8eSopenharmony_ci * @since 11 10961847f8eSopenharmony_ci */ 11061847f8eSopenharmony_ci apps: Record<string, AppBriefInfo>; 11161847f8eSopenharmony_ci } 11261847f8eSopenharmony_ci 11361847f8eSopenharmony_ci /** 11461847f8eSopenharmony_ci * Defines cloud service information. 11561847f8eSopenharmony_ci * 11661847f8eSopenharmony_ci * @interface ServiceInfo 11761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 11861847f8eSopenharmony_ci * @systemapi 11961847f8eSopenharmony_ci * @since 11 12061847f8eSopenharmony_ci */ 12161847f8eSopenharmony_ci export interface ServiceInfo { 12261847f8eSopenharmony_ci /** 12361847f8eSopenharmony_ci * Whether cloud is enabled. The value <b>true</b> means cloud is enabled; 12461847f8eSopenharmony_ci * the value <b>false</b> means the opposite. 12561847f8eSopenharmony_ci * 12661847f8eSopenharmony_ci * @type { boolean } 12761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 12861847f8eSopenharmony_ci * @systemapi 12961847f8eSopenharmony_ci * @since 11 13061847f8eSopenharmony_ci */ 13161847f8eSopenharmony_ci enableCloud: boolean; 13261847f8eSopenharmony_ci 13361847f8eSopenharmony_ci /** 13461847f8eSopenharmony_ci * ID of the cloud account generated by using SHA-256. 13561847f8eSopenharmony_ci * 13661847f8eSopenharmony_ci * @type { string } 13761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 13861847f8eSopenharmony_ci * @systemapi 13961847f8eSopenharmony_ci * @since 11 14061847f8eSopenharmony_ci */ 14161847f8eSopenharmony_ci id: string; 14261847f8eSopenharmony_ci 14361847f8eSopenharmony_ci /** 14461847f8eSopenharmony_ci * Total space (in KB) of the account on the server. 14561847f8eSopenharmony_ci * 14661847f8eSopenharmony_ci * @type { number } 14761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 14861847f8eSopenharmony_ci * @systemapi 14961847f8eSopenharmony_ci * @since 11 15061847f8eSopenharmony_ci */ 15161847f8eSopenharmony_ci totalSpace: number; 15261847f8eSopenharmony_ci 15361847f8eSopenharmony_ci /** 15461847f8eSopenharmony_ci * Available space (in KB) of the account on the server. 15561847f8eSopenharmony_ci * 15661847f8eSopenharmony_ci * @type { number } 15761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 15861847f8eSopenharmony_ci * @systemapi 15961847f8eSopenharmony_ci * @since 11 16061847f8eSopenharmony_ci */ 16161847f8eSopenharmony_ci remainingSpace: number; 16261847f8eSopenharmony_ci 16361847f8eSopenharmony_ci /** 16461847f8eSopenharmony_ci * Current user of the device. 16561847f8eSopenharmony_ci * 16661847f8eSopenharmony_ci * @type { number } 16761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 16861847f8eSopenharmony_ci * @systemapi 16961847f8eSopenharmony_ci * @since 11 17061847f8eSopenharmony_ci */ 17161847f8eSopenharmony_ci user: number; 17261847f8eSopenharmony_ci } 17361847f8eSopenharmony_ci 17461847f8eSopenharmony_ci /** 17561847f8eSopenharmony_ci * Defines the brief application information. 17661847f8eSopenharmony_ci * 17761847f8eSopenharmony_ci * @interface AppBriefInfo 17861847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 17961847f8eSopenharmony_ci * @systemapi 18061847f8eSopenharmony_ci * @since 11 18161847f8eSopenharmony_ci */ 18261847f8eSopenharmony_ci export interface AppBriefInfo { 18361847f8eSopenharmony_ci /** 18461847f8eSopenharmony_ci * ID of the application. 18561847f8eSopenharmony_ci * 18661847f8eSopenharmony_ci * @type { string } 18761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 18861847f8eSopenharmony_ci * @systemapi 18961847f8eSopenharmony_ci * @since 11 19061847f8eSopenharmony_ci */ 19161847f8eSopenharmony_ci appId: string; 19261847f8eSopenharmony_ci 19361847f8eSopenharmony_ci /** 19461847f8eSopenharmony_ci * Bundle name. 19561847f8eSopenharmony_ci * 19661847f8eSopenharmony_ci * @type { string } 19761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 19861847f8eSopenharmony_ci * @systemapi 19961847f8eSopenharmony_ci * @since 11 20061847f8eSopenharmony_ci */ 20161847f8eSopenharmony_ci bundleName: string; 20261847f8eSopenharmony_ci 20361847f8eSopenharmony_ci /** 20461847f8eSopenharmony_ci * Whether cloud is enabled for the application. 20561847f8eSopenharmony_ci * The value <b>true</b> means the cloud is enabled; the <b>false</b> means 20661847f8eSopenharmony_ci * the opposite. 20761847f8eSopenharmony_ci * 20861847f8eSopenharmony_ci * @type { boolean } 20961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 21061847f8eSopenharmony_ci * @systemapi 21161847f8eSopenharmony_ci * @since 11 21261847f8eSopenharmony_ci */ 21361847f8eSopenharmony_ci cloudSwitch: boolean; 21461847f8eSopenharmony_ci 21561847f8eSopenharmony_ci /** 21661847f8eSopenharmony_ci * Application instance ID. 21761847f8eSopenharmony_ci * 21861847f8eSopenharmony_ci * @type { number } 21961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 22061847f8eSopenharmony_ci * @systemapi 22161847f8eSopenharmony_ci * @since 11 22261847f8eSopenharmony_ci */ 22361847f8eSopenharmony_ci instanceId: number; 22461847f8eSopenharmony_ci } 22561847f8eSopenharmony_ci 22661847f8eSopenharmony_ci /** 22761847f8eSopenharmony_ci * Enumerates the field types. 22861847f8eSopenharmony_ci * 22961847f8eSopenharmony_ci * @enum { number } 23061847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 23161847f8eSopenharmony_ci * @systemapi 23261847f8eSopenharmony_ci * @since 11 23361847f8eSopenharmony_ci */ 23461847f8eSopenharmony_ci export enum FieldType { 23561847f8eSopenharmony_ci /** 23661847f8eSopenharmony_ci * NULL. 23761847f8eSopenharmony_ci * 23861847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 23961847f8eSopenharmony_ci * @systemapi 24061847f8eSopenharmony_ci * @since 11 24161847f8eSopenharmony_ci */ 24261847f8eSopenharmony_ci NULL = 0, 24361847f8eSopenharmony_ci 24461847f8eSopenharmony_ci /** 24561847f8eSopenharmony_ci * Number. 24661847f8eSopenharmony_ci * 24761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 24861847f8eSopenharmony_ci * @systemapi 24961847f8eSopenharmony_ci * @since 11 25061847f8eSopenharmony_ci */ 25161847f8eSopenharmony_ci NUMBER = 1, 25261847f8eSopenharmony_ci 25361847f8eSopenharmony_ci /** 25461847f8eSopenharmony_ci * Real. 25561847f8eSopenharmony_ci * 25661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 25761847f8eSopenharmony_ci * @systemapi 25861847f8eSopenharmony_ci * @since 11 25961847f8eSopenharmony_ci */ 26061847f8eSopenharmony_ci REAL = 2, 26161847f8eSopenharmony_ci 26261847f8eSopenharmony_ci /** 26361847f8eSopenharmony_ci * Text. 26461847f8eSopenharmony_ci * 26561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 26661847f8eSopenharmony_ci * @systemapi 26761847f8eSopenharmony_ci * @since 11 26861847f8eSopenharmony_ci */ 26961847f8eSopenharmony_ci TEXT = 3, 27061847f8eSopenharmony_ci 27161847f8eSopenharmony_ci /** 27261847f8eSopenharmony_ci * Boolean. 27361847f8eSopenharmony_ci * 27461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 27561847f8eSopenharmony_ci * @systemapi 27661847f8eSopenharmony_ci * @since 11 27761847f8eSopenharmony_ci */ 27861847f8eSopenharmony_ci BOOL = 4, 27961847f8eSopenharmony_ci 28061847f8eSopenharmony_ci /** 28161847f8eSopenharmony_ci * BLOB. 28261847f8eSopenharmony_ci * 28361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 28461847f8eSopenharmony_ci * @systemapi 28561847f8eSopenharmony_ci * @since 11 28661847f8eSopenharmony_ci */ 28761847f8eSopenharmony_ci BLOB = 5, 28861847f8eSopenharmony_ci 28961847f8eSopenharmony_ci /** 29061847f8eSopenharmony_ci * Asset. For details, see {@link relationalStore.Asset}. 29161847f8eSopenharmony_ci * 29261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 29361847f8eSopenharmony_ci * @systemapi 29461847f8eSopenharmony_ci * @since 11 29561847f8eSopenharmony_ci */ 29661847f8eSopenharmony_ci ASSET = 6, 29761847f8eSopenharmony_ci 29861847f8eSopenharmony_ci /** 29961847f8eSopenharmony_ci * Assets. For details, see {@link relationalStore.Assets}. 30061847f8eSopenharmony_ci * 30161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 30261847f8eSopenharmony_ci * @systemapi 30361847f8eSopenharmony_ci * @since 11 30461847f8eSopenharmony_ci */ 30561847f8eSopenharmony_ci ASSETS = 7 30661847f8eSopenharmony_ci } 30761847f8eSopenharmony_ci 30861847f8eSopenharmony_ci /** 30961847f8eSopenharmony_ci * Defines the fields. 31061847f8eSopenharmony_ci * 31161847f8eSopenharmony_ci * @interface Field 31261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 31361847f8eSopenharmony_ci * @systemapi 31461847f8eSopenharmony_ci * @since 11 31561847f8eSopenharmony_ci */ 31661847f8eSopenharmony_ci export interface Field { 31761847f8eSopenharmony_ci /** 31861847f8eSopenharmony_ci * Alias of the field on the server. 31961847f8eSopenharmony_ci * 32061847f8eSopenharmony_ci * @type { string } 32161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 32261847f8eSopenharmony_ci * @systemapi 32361847f8eSopenharmony_ci * @since 11 32461847f8eSopenharmony_ci */ 32561847f8eSopenharmony_ci alias: string; 32661847f8eSopenharmony_ci 32761847f8eSopenharmony_ci /** 32861847f8eSopenharmony_ci * Column name. 32961847f8eSopenharmony_ci * 33061847f8eSopenharmony_ci * @type { string } 33161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 33261847f8eSopenharmony_ci * @systemapi 33361847f8eSopenharmony_ci * @since 11 33461847f8eSopenharmony_ci */ 33561847f8eSopenharmony_ci colName: string; 33661847f8eSopenharmony_ci 33761847f8eSopenharmony_ci /** 33861847f8eSopenharmony_ci * Type of the field. For details, see {@link FieldType}. 33961847f8eSopenharmony_ci * 34061847f8eSopenharmony_ci * @type { FieldType } 34161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 34261847f8eSopenharmony_ci * @systemapi 34361847f8eSopenharmony_ci * @since 11 34461847f8eSopenharmony_ci */ 34561847f8eSopenharmony_ci type: FieldType; 34661847f8eSopenharmony_ci 34761847f8eSopenharmony_ci /** 34861847f8eSopenharmony_ci * Whether the current column holds the primary key. 34961847f8eSopenharmony_ci * 35061847f8eSopenharmony_ci * @type { boolean } 35161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 35261847f8eSopenharmony_ci * @systemapi 35361847f8eSopenharmony_ci * @since 11 35461847f8eSopenharmony_ci */ 35561847f8eSopenharmony_ci primary: boolean; 35661847f8eSopenharmony_ci 35761847f8eSopenharmony_ci /** 35861847f8eSopenharmony_ci * Whether the current column is nullable. 35961847f8eSopenharmony_ci * 36061847f8eSopenharmony_ci * @type { boolean } 36161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 36261847f8eSopenharmony_ci * @systemapi 36361847f8eSopenharmony_ci * @since 11 36461847f8eSopenharmony_ci */ 36561847f8eSopenharmony_ci nullable: boolean; 36661847f8eSopenharmony_ci } 36761847f8eSopenharmony_ci 36861847f8eSopenharmony_ci /** 36961847f8eSopenharmony_ci * Defines a table. 37061847f8eSopenharmony_ci * 37161847f8eSopenharmony_ci * @interface Table 37261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 37361847f8eSopenharmony_ci * @systemapi 37461847f8eSopenharmony_ci * @since 11 37561847f8eSopenharmony_ci */ 37661847f8eSopenharmony_ci export interface Table { 37761847f8eSopenharmony_ci /** 37861847f8eSopenharmony_ci * Alias of the table on the server. 37961847f8eSopenharmony_ci * 38061847f8eSopenharmony_ci * @type { string } 38161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 38261847f8eSopenharmony_ci * @systemapi 38361847f8eSopenharmony_ci * @since 11 38461847f8eSopenharmony_ci */ 38561847f8eSopenharmony_ci alias: string; 38661847f8eSopenharmony_ci 38761847f8eSopenharmony_ci /** 38861847f8eSopenharmony_ci * Name of the table. 38961847f8eSopenharmony_ci * 39061847f8eSopenharmony_ci * @type { string } 39161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 39261847f8eSopenharmony_ci * @systemapi 39361847f8eSopenharmony_ci * @since 11 39461847f8eSopenharmony_ci */ 39561847f8eSopenharmony_ci name: string; 39661847f8eSopenharmony_ci 39761847f8eSopenharmony_ci /** 39861847f8eSopenharmony_ci * Fields in the table. For details, see {@link Field}. 39961847f8eSopenharmony_ci * 40061847f8eSopenharmony_ci * @type { Array<Field> } 40161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 40261847f8eSopenharmony_ci * @systemapi 40361847f8eSopenharmony_ci * @since 11 40461847f8eSopenharmony_ci */ 40561847f8eSopenharmony_ci fields: Array<Field>; 40661847f8eSopenharmony_ci } 40761847f8eSopenharmony_ci 40861847f8eSopenharmony_ci /** 40961847f8eSopenharmony_ci * Defines a database. 41061847f8eSopenharmony_ci * 41161847f8eSopenharmony_ci * @interface Database 41261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 41361847f8eSopenharmony_ci * @systemapi 41461847f8eSopenharmony_ci * @since 11 41561847f8eSopenharmony_ci */ 41661847f8eSopenharmony_ci export interface Database { 41761847f8eSopenharmony_ci /** 41861847f8eSopenharmony_ci * Name of the database. 41961847f8eSopenharmony_ci * 42061847f8eSopenharmony_ci * @type { string } 42161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 42261847f8eSopenharmony_ci * @systemapi 42361847f8eSopenharmony_ci * @since 11 42461847f8eSopenharmony_ci */ 42561847f8eSopenharmony_ci name: string; 42661847f8eSopenharmony_ci 42761847f8eSopenharmony_ci /** 42861847f8eSopenharmony_ci * Alias of the database on the server. 42961847f8eSopenharmony_ci * 43061847f8eSopenharmony_ci * @type { string } 43161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 43261847f8eSopenharmony_ci * @systemapi 43361847f8eSopenharmony_ci * @since 11 43461847f8eSopenharmony_ci */ 43561847f8eSopenharmony_ci alias: string; 43661847f8eSopenharmony_ci 43761847f8eSopenharmony_ci /** 43861847f8eSopenharmony_ci * Tables in the database. For details, see {@link Table}. 43961847f8eSopenharmony_ci * 44061847f8eSopenharmony_ci * @type { Array<Table> } 44161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 44261847f8eSopenharmony_ci * @systemapi 44361847f8eSopenharmony_ci * @since 11 44461847f8eSopenharmony_ci */ 44561847f8eSopenharmony_ci tables: Array<Table>; 44661847f8eSopenharmony_ci } 44761847f8eSopenharmony_ci 44861847f8eSopenharmony_ci /** 44961847f8eSopenharmony_ci * Defines the application schema. 45061847f8eSopenharmony_ci * 45161847f8eSopenharmony_ci * @interface AppSchema 45261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 45361847f8eSopenharmony_ci * @systemapi 45461847f8eSopenharmony_ci * @since 11 45561847f8eSopenharmony_ci */ 45661847f8eSopenharmony_ci export interface AppSchema { 45761847f8eSopenharmony_ci 45861847f8eSopenharmony_ci /** 45961847f8eSopenharmony_ci * Bundle name of the application. 46061847f8eSopenharmony_ci * 46161847f8eSopenharmony_ci * @type { string } 46261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 46361847f8eSopenharmony_ci * @systemapi 46461847f8eSopenharmony_ci * @since 11 46561847f8eSopenharmony_ci */ 46661847f8eSopenharmony_ci bundleName: string; 46761847f8eSopenharmony_ci 46861847f8eSopenharmony_ci /** 46961847f8eSopenharmony_ci * Schema version. 47061847f8eSopenharmony_ci * 47161847f8eSopenharmony_ci * @type { number } 47261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 47361847f8eSopenharmony_ci * @systemapi 47461847f8eSopenharmony_ci * @since 11 47561847f8eSopenharmony_ci */ 47661847f8eSopenharmony_ci version: number; 47761847f8eSopenharmony_ci 47861847f8eSopenharmony_ci /** 47961847f8eSopenharmony_ci * Databases {@link Database} of the application. 48061847f8eSopenharmony_ci * 48161847f8eSopenharmony_ci * @type { Array<Database> } 48261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 48361847f8eSopenharmony_ci * @systemapi 48461847f8eSopenharmony_ci * @since 11 48561847f8eSopenharmony_ci */ 48661847f8eSopenharmony_ci databases: Array<Database>; 48761847f8eSopenharmony_ci } 48861847f8eSopenharmony_ci 48961847f8eSopenharmony_ci /** 49061847f8eSopenharmony_ci * Defines the data in the cloud. 49161847f8eSopenharmony_ci * 49261847f8eSopenharmony_ci * @interface CloudData 49361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 49461847f8eSopenharmony_ci * @systemapi 49561847f8eSopenharmony_ci * @since 11 49661847f8eSopenharmony_ci */ 49761847f8eSopenharmony_ci export interface CloudData { 49861847f8eSopenharmony_ci /** 49961847f8eSopenharmony_ci * Next cursor for query. 50061847f8eSopenharmony_ci * 50161847f8eSopenharmony_ci * @type { string } 50261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 50361847f8eSopenharmony_ci * @systemapi 50461847f8eSopenharmony_ci * @since 11 50561847f8eSopenharmony_ci */ 50661847f8eSopenharmony_ci nextCursor: string; 50761847f8eSopenharmony_ci 50861847f8eSopenharmony_ci /** 50961847f8eSopenharmony_ci * Whether the server has more data to query {@link CloudDB.query()}. 51061847f8eSopenharmony_ci * 51161847f8eSopenharmony_ci * @type { boolean } 51261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 51361847f8eSopenharmony_ci * @systemapi 51461847f8eSopenharmony_ci * @since 11 51561847f8eSopenharmony_ci */ 51661847f8eSopenharmony_ci hasMore: boolean; 51761847f8eSopenharmony_ci 51861847f8eSopenharmony_ci /** 51961847f8eSopenharmony_ci * Array of data queried, including the data values and extension 52061847f8eSopenharmony_ci * values {@link ExtensionValue}. 52161847f8eSopenharmony_ci * 52261847f8eSopenharmony_ci * @type { Array<Record<string, CloudType>> } 52361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 52461847f8eSopenharmony_ci * @systemapi 52561847f8eSopenharmony_ci * @since 11 52661847f8eSopenharmony_ci */ 52761847f8eSopenharmony_ci values: Array<Record<string, CloudType>>; 52861847f8eSopenharmony_ci } 52961847f8eSopenharmony_ci 53061847f8eSopenharmony_ci /** 53161847f8eSopenharmony_ci * Defines the subscription information. 53261847f8eSopenharmony_ci * 53361847f8eSopenharmony_ci * @interface SubscribeInfo 53461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 53561847f8eSopenharmony_ci * @systemapi 53661847f8eSopenharmony_ci * @since 11 53761847f8eSopenharmony_ci */ 53861847f8eSopenharmony_ci export interface SubscribeInfo { 53961847f8eSopenharmony_ci /** 54061847f8eSopenharmony_ci * Subscription expiration time, in milliseconds. 54161847f8eSopenharmony_ci * 54261847f8eSopenharmony_ci * @type { number } 54361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 54461847f8eSopenharmony_ci * @systemapi 54561847f8eSopenharmony_ci * @since 11 54661847f8eSopenharmony_ci */ 54761847f8eSopenharmony_ci expirationTime: number; 54861847f8eSopenharmony_ci 54961847f8eSopenharmony_ci /** 55061847f8eSopenharmony_ci * Data to be observed. 55161847f8eSopenharmony_ci * 55261847f8eSopenharmony_ci * @type { Record<string, Array<SubscribeId>> } 55361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 55461847f8eSopenharmony_ci * @systemapi 55561847f8eSopenharmony_ci * @since 11 55661847f8eSopenharmony_ci */ 55761847f8eSopenharmony_ci subscribe: Record<string, Array<SubscribeId>>; 55861847f8eSopenharmony_ci } 55961847f8eSopenharmony_ci 56061847f8eSopenharmony_ci /** 56161847f8eSopenharmony_ci * Defines the subscription ID. 56261847f8eSopenharmony_ci * 56361847f8eSopenharmony_ci * @interface SubscribeId 56461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 56561847f8eSopenharmony_ci * @systemapi 56661847f8eSopenharmony_ci * @since 11 56761847f8eSopenharmony_ci */ 56861847f8eSopenharmony_ci export interface SubscribeId { 56961847f8eSopenharmony_ci /** 57061847f8eSopenharmony_ci * Alias of the database on the server. 57161847f8eSopenharmony_ci * 57261847f8eSopenharmony_ci * @type { string } 57361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 57461847f8eSopenharmony_ci * @systemapi 57561847f8eSopenharmony_ci * @since 11 57661847f8eSopenharmony_ci */ 57761847f8eSopenharmony_ci databaseAlias: string; 57861847f8eSopenharmony_ci 57961847f8eSopenharmony_ci /** 58061847f8eSopenharmony_ci * Subscription ID generated by {@link CloudService.subscribe()}. 58161847f8eSopenharmony_ci * 58261847f8eSopenharmony_ci * @type { string } 58361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 58461847f8eSopenharmony_ci * @systemapi 58561847f8eSopenharmony_ci * @since 11 58661847f8eSopenharmony_ci */ 58761847f8eSopenharmony_ci id: string; 58861847f8eSopenharmony_ci } 58961847f8eSopenharmony_ci 59061847f8eSopenharmony_ci /** 59161847f8eSopenharmony_ci * Enumerates the operations that can be performed on the database. 59261847f8eSopenharmony_ci * 59361847f8eSopenharmony_ci * @enum { number } 59461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 59561847f8eSopenharmony_ci * @systemapi 59661847f8eSopenharmony_ci * @since 11 59761847f8eSopenharmony_ci */ 59861847f8eSopenharmony_ci export enum Flag { 59961847f8eSopenharmony_ci /** 60061847f8eSopenharmony_ci * Insert data. 60161847f8eSopenharmony_ci * 60261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 60361847f8eSopenharmony_ci * @systemapi 60461847f8eSopenharmony_ci * @since 11 60561847f8eSopenharmony_ci */ 60661847f8eSopenharmony_ci INSERT = 0, 60761847f8eSopenharmony_ci 60861847f8eSopenharmony_ci /** 60961847f8eSopenharmony_ci * Update data. 61061847f8eSopenharmony_ci * 61161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 61261847f8eSopenharmony_ci * @systemapi 61361847f8eSopenharmony_ci * @since 11 61461847f8eSopenharmony_ci */ 61561847f8eSopenharmony_ci UPDATE = 1, 61661847f8eSopenharmony_ci 61761847f8eSopenharmony_ci /** 61861847f8eSopenharmony_ci * Delete data. 61961847f8eSopenharmony_ci * 62061847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 62161847f8eSopenharmony_ci * @systemapi 62261847f8eSopenharmony_ci * @since 11 62361847f8eSopenharmony_ci */ 62461847f8eSopenharmony_ci DELETE = 2 62561847f8eSopenharmony_ci } 62661847f8eSopenharmony_ci 62761847f8eSopenharmony_ci /** 62861847f8eSopenharmony_ci * Defines the extension values. 62961847f8eSopenharmony_ci * 63061847f8eSopenharmony_ci * @interface ExtensionValue 63161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 63261847f8eSopenharmony_ci * @systemapi 63361847f8eSopenharmony_ci * @since 11 63461847f8eSopenharmony_ci */ 63561847f8eSopenharmony_ci export interface ExtensionValue { 63661847f8eSopenharmony_ci /** 63761847f8eSopenharmony_ci * ID generated by {@link CloudDB.insert()}. 63861847f8eSopenharmony_ci * An ID is generated for each row when data is first inserted to the cloud. 63961847f8eSopenharmony_ci * The ID must be unique for each table. 64061847f8eSopenharmony_ci * 64161847f8eSopenharmony_ci * @type { string } 64261847f8eSopenharmony_ci * @readonly 64361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 64461847f8eSopenharmony_ci * @systemapi 64561847f8eSopenharmony_ci * @since 11 64661847f8eSopenharmony_ci */ 64761847f8eSopenharmony_ci readonly id: string; 64861847f8eSopenharmony_ci 64961847f8eSopenharmony_ci /** 65061847f8eSopenharmony_ci * Time when the row data was created. 65161847f8eSopenharmony_ci * 65261847f8eSopenharmony_ci * @type { number } 65361847f8eSopenharmony_ci * @readonly 65461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 65561847f8eSopenharmony_ci * @systemapi 65661847f8eSopenharmony_ci * @since 11 65761847f8eSopenharmony_ci */ 65861847f8eSopenharmony_ci readonly createTime: number; 65961847f8eSopenharmony_ci 66061847f8eSopenharmony_ci /** 66161847f8eSopenharmony_ci * Time when the row data was last modified. 66261847f8eSopenharmony_ci * 66361847f8eSopenharmony_ci * @type { number } 66461847f8eSopenharmony_ci * @readonly 66561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 66661847f8eSopenharmony_ci * @systemapi 66761847f8eSopenharmony_ci * @since 11 66861847f8eSopenharmony_ci */ 66961847f8eSopenharmony_ci readonly modifyTime: number; 67061847f8eSopenharmony_ci 67161847f8eSopenharmony_ci /** 67261847f8eSopenharmony_ci * Database operation. 67361847f8eSopenharmony_ci * 67461847f8eSopenharmony_ci * @type { Flag } 67561847f8eSopenharmony_ci * @readonly 67661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 67761847f8eSopenharmony_ci * @systemapi 67861847f8eSopenharmony_ci * @since 11 67961847f8eSopenharmony_ci */ 68061847f8eSopenharmony_ci readonly operation: Flag; 68161847f8eSopenharmony_ci } 68261847f8eSopenharmony_ci 68361847f8eSopenharmony_ci /** 68461847f8eSopenharmony_ci * Defines the lock information. 68561847f8eSopenharmony_ci * 68661847f8eSopenharmony_ci * @interface LockInfo 68761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 68861847f8eSopenharmony_ci * @systemapi 68961847f8eSopenharmony_ci * @since 11 69061847f8eSopenharmony_ci */ 69161847f8eSopenharmony_ci export interface LockInfo { 69261847f8eSopenharmony_ci /** 69361847f8eSopenharmony_ci * Duration for which the cloud database is locked, in seconds. 69461847f8eSopenharmony_ci * 69561847f8eSopenharmony_ci * @type { number } 69661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 69761847f8eSopenharmony_ci * @systemapi 69861847f8eSopenharmony_ci * @since 11 69961847f8eSopenharmony_ci */ 70061847f8eSopenharmony_ci interval: number; 70161847f8eSopenharmony_ci 70261847f8eSopenharmony_ci /** 70361847f8eSopenharmony_ci * Lock ID for locking the cloud database. 70461847f8eSopenharmony_ci * 70561847f8eSopenharmony_ci * @type { number } 70661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 70761847f8eSopenharmony_ci * @systemapi 70861847f8eSopenharmony_ci * @since 11 70961847f8eSopenharmony_ci */ 71061847f8eSopenharmony_ci lockId: number; 71161847f8eSopenharmony_ci } 71261847f8eSopenharmony_ci 71361847f8eSopenharmony_ci /** 71461847f8eSopenharmony_ci * Enumerates the error codes. 71561847f8eSopenharmony_ci * 71661847f8eSopenharmony_ci * @enum { number } 71761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 71861847f8eSopenharmony_ci * @systemapi 71961847f8eSopenharmony_ci * @since 11 72061847f8eSopenharmony_ci */ 72161847f8eSopenharmony_ci export enum ErrorCode { 72261847f8eSopenharmony_ci /** 72361847f8eSopenharmony_ci * Successful. 72461847f8eSopenharmony_ci * 72561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 72661847f8eSopenharmony_ci * @systemapi 72761847f8eSopenharmony_ci * @since 11 72861847f8eSopenharmony_ci */ 72961847f8eSopenharmony_ci SUCCESS = 0, 73061847f8eSopenharmony_ci 73161847f8eSopenharmony_ci /** 73261847f8eSopenharmony_ci * Unknown error. 73361847f8eSopenharmony_ci * 73461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 73561847f8eSopenharmony_ci * @systemapi 73661847f8eSopenharmony_ci * @since 11 73761847f8eSopenharmony_ci */ 73861847f8eSopenharmony_ci UNKNOWN_ERROR = 1, 73961847f8eSopenharmony_ci 74061847f8eSopenharmony_ci /** 74161847f8eSopenharmony_ci * Network error. 74261847f8eSopenharmony_ci * 74361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 74461847f8eSopenharmony_ci * @systemapi 74561847f8eSopenharmony_ci * @since 11 74661847f8eSopenharmony_ci */ 74761847f8eSopenharmony_ci NETWORK_ERROR = 2, 74861847f8eSopenharmony_ci 74961847f8eSopenharmony_ci /** 75061847f8eSopenharmony_ci * Cloud is disabled. 75161847f8eSopenharmony_ci * 75261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 75361847f8eSopenharmony_ci * @systemapi 75461847f8eSopenharmony_ci * @since 11 75561847f8eSopenharmony_ci */ 75661847f8eSopenharmony_ci CLOUD_DISABLED = 3, 75761847f8eSopenharmony_ci 75861847f8eSopenharmony_ci /** 75961847f8eSopenharmony_ci * The cloud database is locked by others. 76061847f8eSopenharmony_ci * 76161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 76261847f8eSopenharmony_ci * @systemapi 76361847f8eSopenharmony_ci * @since 11 76461847f8eSopenharmony_ci */ 76561847f8eSopenharmony_ci LOCKED_BY_OTHERS = 4, 76661847f8eSopenharmony_ci 76761847f8eSopenharmony_ci /** 76861847f8eSopenharmony_ci * The number of records exceeds the limit. 76961847f8eSopenharmony_ci * 77061847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 77161847f8eSopenharmony_ci * @systemapi 77261847f8eSopenharmony_ci * @since 11 77361847f8eSopenharmony_ci */ 77461847f8eSopenharmony_ci RECORD_LIMIT_EXCEEDED = 5, 77561847f8eSopenharmony_ci 77661847f8eSopenharmony_ci /** 77761847f8eSopenharmony_ci * The cloud has no space for the asset. 77861847f8eSopenharmony_ci * 77961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 78061847f8eSopenharmony_ci * @systemapi 78161847f8eSopenharmony_ci * @since 11 78261847f8eSopenharmony_ci */ 78361847f8eSopenharmony_ci NO_SPACE_FOR_ASSET = 6 78461847f8eSopenharmony_ci } 78561847f8eSopenharmony_ci 78661847f8eSopenharmony_ci /** 78761847f8eSopenharmony_ci * Defines the result. 78861847f8eSopenharmony_ci * 78961847f8eSopenharmony_ci * @interface Result 79061847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 79161847f8eSopenharmony_ci * @systemapi 79261847f8eSopenharmony_ci * @since 11 79361847f8eSopenharmony_ci */ 79461847f8eSopenharmony_ci export interface Result<T> { 79561847f8eSopenharmony_ci /** 79661847f8eSopenharmony_ci * Error code. 79761847f8eSopenharmony_ci * 79861847f8eSopenharmony_ci * @type { number } 79961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 80061847f8eSopenharmony_ci * @systemapi 80161847f8eSopenharmony_ci * @since 11 80261847f8eSopenharmony_ci */ 80361847f8eSopenharmony_ci code: number; 80461847f8eSopenharmony_ci 80561847f8eSopenharmony_ci /** 80661847f8eSopenharmony_ci * Error code description. 80761847f8eSopenharmony_ci * 80861847f8eSopenharmony_ci * @type { ?string } 80961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 81061847f8eSopenharmony_ci * @systemapi 81161847f8eSopenharmony_ci * @since 11 81261847f8eSopenharmony_ci */ 81361847f8eSopenharmony_ci description?: string; 81461847f8eSopenharmony_ci 81561847f8eSopenharmony_ci /** 81661847f8eSopenharmony_ci * Result value. 81761847f8eSopenharmony_ci * 81861847f8eSopenharmony_ci * @type { ?T } 81961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 82061847f8eSopenharmony_ci * @systemapi 82161847f8eSopenharmony_ci * @since 11 82261847f8eSopenharmony_ci */ 82361847f8eSopenharmony_ci value?: T; 82461847f8eSopenharmony_ci } 82561847f8eSopenharmony_ci 82661847f8eSopenharmony_ci /** 82761847f8eSopenharmony_ci * Creates a share service stub with the specified instance. 82861847f8eSopenharmony_ci * 82961847f8eSopenharmony_ci * @param { ShareCenter } instance - Indicates the <b>ShareCenter</b> instance. 83061847f8eSopenharmony_ci * @returns { Promise<rpc.RemoteObject> } Returns remote object. 83161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 83261847f8eSopenharmony_ci * @systemapi 83361847f8eSopenharmony_ci * @since 11 83461847f8eSopenharmony_ci */ 83561847f8eSopenharmony_ci function createShareServiceStub(instance: ShareCenter): Promise<rpc.RemoteObject>; 83661847f8eSopenharmony_ci 83761847f8eSopenharmony_ci /** 83861847f8eSopenharmony_ci * Creates a cloud service stub with the specified instance. 83961847f8eSopenharmony_ci * 84061847f8eSopenharmony_ci * @param { CloudService } instance - Indicates the <b>CloudService</b> instance. 84161847f8eSopenharmony_ci * @returns { Promise<rpc.RemoteObject> } Returns the remote object. 84261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 84361847f8eSopenharmony_ci * @systemapi 84461847f8eSopenharmony_ci * @since 11 84561847f8eSopenharmony_ci */ 84661847f8eSopenharmony_ci function createCloudServiceStub(instance: CloudService): Promise<rpc.RemoteObject>; 84761847f8eSopenharmony_ci 84861847f8eSopenharmony_ci /** 84961847f8eSopenharmony_ci * Creates a cloud database stub with the specified instance. 85061847f8eSopenharmony_ci * 85161847f8eSopenharmony_ci * @param { CloudDB } instance - Indicates the <b>CloudDB</b> instance. 85261847f8eSopenharmony_ci * @returns { Promise<rpc.RemoteObject> } Returns the remote object. 85361847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 85461847f8eSopenharmony_ci * @systemapi 85561847f8eSopenharmony_ci * @since 11 85661847f8eSopenharmony_ci */ 85761847f8eSopenharmony_ci function createCloudDBStub(instance: CloudDB): Promise<rpc.RemoteObject>; 85861847f8eSopenharmony_ci 85961847f8eSopenharmony_ci /** 86061847f8eSopenharmony_ci * Creates an asset loader stub with the specified instance. 86161847f8eSopenharmony_ci * 86261847f8eSopenharmony_ci * @param { AssetLoader } instance - Indicates the <b>AssetLoader</b> instance. 86361847f8eSopenharmony_ci * @returns { Promise<rpc.RemoteObject> } Returns remote object. 86461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 86561847f8eSopenharmony_ci * @systemapi 86661847f8eSopenharmony_ci * @since 11 86761847f8eSopenharmony_ci */ 86861847f8eSopenharmony_ci function createAssetLoaderStub(instance: AssetLoader): Promise<rpc.RemoteObject>; 86961847f8eSopenharmony_ci 87061847f8eSopenharmony_ci /** 87161847f8eSopenharmony_ci * Provides interfaces for the operations on the cloud database. 87261847f8eSopenharmony_ci * 87361847f8eSopenharmony_ci * @interface CloudDB 87461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 87561847f8eSopenharmony_ci * @systemapi 87661847f8eSopenharmony_ci * @since 11 87761847f8eSopenharmony_ci */ 87861847f8eSopenharmony_ci export interface CloudDB { 87961847f8eSopenharmony_ci /** 88061847f8eSopenharmony_ci * Generates the IDs of the rows of data to be inserted to the cloud. 88161847f8eSopenharmony_ci * The IDs must be unique for each table. 88261847f8eSopenharmony_ci * 88361847f8eSopenharmony_ci * @param { number } count - Indicates the number of IDs to generate. 88461847f8eSopenharmony_ci * @returns { Promise<Result<Array<string>>> } Returns the IDs generated. 88561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 88661847f8eSopenharmony_ci * @systemapi 88761847f8eSopenharmony_ci * @since 11 88861847f8eSopenharmony_ci */ 88961847f8eSopenharmony_ci generateId(count: number): Promise<Result<Array<string>>>; 89061847f8eSopenharmony_ci 89161847f8eSopenharmony_ci /** 89261847f8eSopenharmony_ci * Inserts data to the cloud. 89361847f8eSopenharmony_ci * 89461847f8eSopenharmony_ci * @param { string } table - Indicates the table name. 89561847f8eSopenharmony_ci * @param { Array<Record<string, CloudType>> } values - Indicates the data to insert. 89661847f8eSopenharmony_ci * @param { Array<Record<string, CloudType>> } extensions - Indicates the extension 89761847f8eSopenharmony_ci * values {@link ExtensionValue}. 89861847f8eSopenharmony_ci * @returns { Promise<Array<Result<Record<string, CloudType>>>> } Returns the insert result. 89961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 90061847f8eSopenharmony_ci * @systemapi 90161847f8eSopenharmony_ci * @since 11 90261847f8eSopenharmony_ci */ 90361847f8eSopenharmony_ci insert( 90461847f8eSopenharmony_ci table: string, 90561847f8eSopenharmony_ci values: Array<Record<string, CloudType>>, 90661847f8eSopenharmony_ci extensions: Array<Record<string, CloudType>> 90761847f8eSopenharmony_ci ): Promise<Array<Result<Record<string, CloudType>>>>; 90861847f8eSopenharmony_ci 90961847f8eSopenharmony_ci /** 91061847f8eSopenharmony_ci * Updates data in the cloud. 91161847f8eSopenharmony_ci * 91261847f8eSopenharmony_ci * @param { string } table - Indicates the table name. 91361847f8eSopenharmony_ci * @param { Array<Record<string, CloudType>> } values - Indicates the new data. 91461847f8eSopenharmony_ci * @param { Array<Record<string, CloudType>> } extensions - Indicates the extension 91561847f8eSopenharmony_ci * values {@link ExtensionValue}. 91661847f8eSopenharmony_ci * @returns { Promise<Array<Result<Record<string, CloudType>>>> } Returns the update result. 91761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 91861847f8eSopenharmony_ci * @systemapi 91961847f8eSopenharmony_ci * @since 11 92061847f8eSopenharmony_ci */ 92161847f8eSopenharmony_ci update( 92261847f8eSopenharmony_ci table: string, 92361847f8eSopenharmony_ci values: Array<Record<string, CloudType>>, 92461847f8eSopenharmony_ci extensions: Array<Record<string, CloudType>> 92561847f8eSopenharmony_ci ): Promise<Array<Result<Record<string, CloudType>>>>; 92661847f8eSopenharmony_ci 92761847f8eSopenharmony_ci /** 92861847f8eSopenharmony_ci * Deletes data. 92961847f8eSopenharmony_ci * 93061847f8eSopenharmony_ci * @param { string } table - Indicates the table name. 93161847f8eSopenharmony_ci * @param { Array<Record<string, CloudType>> } extensions - Indicates the extension 93261847f8eSopenharmony_ci * values {@link ExtensionValue}. 93361847f8eSopenharmony_ci * @returns { Promise<Array<Result<Record<string, CloudType>>>> } Returns the delete result. 93461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 93561847f8eSopenharmony_ci * @systemapi 93661847f8eSopenharmony_ci * @since 11 93761847f8eSopenharmony_ci */ 93861847f8eSopenharmony_ci delete( 93961847f8eSopenharmony_ci table: string, 94061847f8eSopenharmony_ci extensions: Array<Record<string, CloudType>> 94161847f8eSopenharmony_ci ): Promise<Array<Result<Record<string, CloudType>>>>; 94261847f8eSopenharmony_ci 94361847f8eSopenharmony_ci /** 94461847f8eSopenharmony_ci * Queries data. 94561847f8eSopenharmony_ci * 94661847f8eSopenharmony_ci * @param { string } table - Indicates the table name. 94761847f8eSopenharmony_ci * @param { Array<string> } fields - Indicates the columns to query. 94861847f8eSopenharmony_ci * @param { number } queryCount - Indicates the number of data records 94961847f8eSopenharmony_ci * to query. 95061847f8eSopenharmony_ci * @param { string } queryCursor - Indicates the cursor. 95161847f8eSopenharmony_ci * @returns { Promise<Result<CloudData>> } Returns the query result. 95261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 95361847f8eSopenharmony_ci * @systemapi 95461847f8eSopenharmony_ci * @since 11 95561847f8eSopenharmony_ci */ 95661847f8eSopenharmony_ci query(table: string, fields: Array<string>, queryCount: number, queryCursor: string): Promise<Result<CloudData>>; 95761847f8eSopenharmony_ci 95861847f8eSopenharmony_ci /** 95961847f8eSopenharmony_ci * Locks the cloud database. 96061847f8eSopenharmony_ci * The cloud database will be unlocked when the lock interval has expired. 96161847f8eSopenharmony_ci * When the cloud database is locked, other devices cannot synchronize data 96261847f8eSopenharmony_ci * with the cloud. 96361847f8eSopenharmony_ci * 96461847f8eSopenharmony_ci * @returns { Promise<Result<LockInfo>> } Returns the locked information. 96561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 96661847f8eSopenharmony_ci * @systemapi 96761847f8eSopenharmony_ci * @since 11 96861847f8eSopenharmony_ci */ 96961847f8eSopenharmony_ci lock(): Promise<Result<LockInfo>>; 97061847f8eSopenharmony_ci 97161847f8eSopenharmony_ci /** 97261847f8eSopenharmony_ci * Uses the heartbeat to extend the lock interval if it is not enough. 97361847f8eSopenharmony_ci * 97461847f8eSopenharmony_ci * @param { number } lockId - Indicates the lock ID of the heartbeat. 97561847f8eSopenharmony_ci * @returns { Promise<Result<LockInfo>> } Returns the time. 97661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 97761847f8eSopenharmony_ci * @systemapi 97861847f8eSopenharmony_ci * @since 11 97961847f8eSopenharmony_ci */ 98061847f8eSopenharmony_ci heartbeat(lockId: number): Promise<Result<LockInfo>>; 98161847f8eSopenharmony_ci 98261847f8eSopenharmony_ci /** 98361847f8eSopenharmony_ci * Unlocks the cloud database. 98461847f8eSopenharmony_ci * 98561847f8eSopenharmony_ci * @param { number } lockId - Indicates the lock ID. 98661847f8eSopenharmony_ci * @returns { Promise<Result<boolean>> } Returns the unlock result. 98761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 98861847f8eSopenharmony_ci * @systemapi 98961847f8eSopenharmony_ci * @since 11 99061847f8eSopenharmony_ci */ 99161847f8eSopenharmony_ci unlock(lockId: number): Promise<Result<boolean>>; 99261847f8eSopenharmony_ci } 99361847f8eSopenharmony_ci 99461847f8eSopenharmony_ci /** 99561847f8eSopenharmony_ci * Provides interfaces for implementing the asset loader. 99661847f8eSopenharmony_ci * 99761847f8eSopenharmony_ci * @interface AssetLoader 99861847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 99961847f8eSopenharmony_ci * @systemapi 100061847f8eSopenharmony_ci * @since 11 100161847f8eSopenharmony_ci */ 100261847f8eSopenharmony_ci export interface AssetLoader { 100361847f8eSopenharmony_ci /** 100461847f8eSopenharmony_ci * Downloads assets. 100561847f8eSopenharmony_ci * 100661847f8eSopenharmony_ci * @param { string } table - Indicates the name of the table. 100761847f8eSopenharmony_ci * @param { string } gid - Indicates the GID. 100861847f8eSopenharmony_ci * @param { string } prefix - Indicates the prefix information. 100961847f8eSopenharmony_ci * @param { Array<CloudAsset> } assets - Indicates the assets to download. 101061847f8eSopenharmony_ci * @returns { Promise<Array<Result<CloudAsset>>> } Returns the asset download result. 101161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 101261847f8eSopenharmony_ci * @systemapi 101361847f8eSopenharmony_ci * @since 11 101461847f8eSopenharmony_ci */ 101561847f8eSopenharmony_ci download(table: string, gid: string, prefix: string, assets: Array<CloudAsset>): Promise<Array<Result<CloudAsset>>>; 101661847f8eSopenharmony_ci 101761847f8eSopenharmony_ci /** 101861847f8eSopenharmony_ci * Uploads assets. 101961847f8eSopenharmony_ci * 102061847f8eSopenharmony_ci * @param { string } table - Indicates the name of the table. 102161847f8eSopenharmony_ci * @param { string } gid - Indicates the GID. 102261847f8eSopenharmony_ci * @param { Array<CloudAsset> } assets - Indicates the assets to upload. 102361847f8eSopenharmony_ci * @returns { Promise<Array<Result<CloudAsset>>> } Returns the asset upload result. 102461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 102561847f8eSopenharmony_ci * @systemapi 102661847f8eSopenharmony_ci * @since 11 102761847f8eSopenharmony_ci */ 102861847f8eSopenharmony_ci upload(table: string, gid: string, assets: Array<CloudAsset>): Promise<Array<Result<CloudAsset>>>; 102961847f8eSopenharmony_ci } 103061847f8eSopenharmony_ci 103161847f8eSopenharmony_ci /** 103261847f8eSopenharmony_ci * Provides interfaces for implementing ShareCenter. 103361847f8eSopenharmony_ci * 103461847f8eSopenharmony_ci * @interface ShareCenter 103561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 103661847f8eSopenharmony_ci * @systemapi 103761847f8eSopenharmony_ci * @since 11 103861847f8eSopenharmony_ci */ 103961847f8eSopenharmony_ci export interface ShareCenter { 104061847f8eSopenharmony_ci /** 104161847f8eSopenharmony_ci * Shares data with specific participants. 104261847f8eSopenharmony_ci * 104361847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 104461847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 104561847f8eSopenharmony_ci * @param { string } sharingResource - Indicates the sharing resource. 104661847f8eSopenharmony_ci * @param { Array<cloudData.sharing.Participant> } participants - Indicates the participant. 104761847f8eSopenharmony_ci * @returns { Promise<Result<Array<Result<cloudData.sharing.Participant>>>> } Returns the sharing result. 104861847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 104961847f8eSopenharmony_ci * @systemapi 105061847f8eSopenharmony_ci * @since 11 105161847f8eSopenharmony_ci */ 105261847f8eSopenharmony_ci share( 105361847f8eSopenharmony_ci userId: number, 105461847f8eSopenharmony_ci bundleName: string, 105561847f8eSopenharmony_ci sharingResource: string, 105661847f8eSopenharmony_ci participants: Array<cloudData.sharing.Participant> 105761847f8eSopenharmony_ci ): Promise<Result<Array<Result<cloudData.sharing.Participant>>>>; 105861847f8eSopenharmony_ci 105961847f8eSopenharmony_ci /** 106061847f8eSopenharmony_ci * UnShares data with specific participants. 106161847f8eSopenharmony_ci * 106261847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 106361847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 106461847f8eSopenharmony_ci * @param { string } sharingResource - Indicates the sharing resource. 106561847f8eSopenharmony_ci * @param { Array<cloudData.sharing.Participant> } participants - Indicates the participant. 106661847f8eSopenharmony_ci * @returns { Promise<Result<Array<Result<cloudData.sharing.Participant>>>> } Returns the sharing result. 106761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 106861847f8eSopenharmony_ci * @systemapi 106961847f8eSopenharmony_ci * @since 11 107061847f8eSopenharmony_ci */ 107161847f8eSopenharmony_ci unshare( 107261847f8eSopenharmony_ci userId: number, 107361847f8eSopenharmony_ci bundleName: string, 107461847f8eSopenharmony_ci sharingResource: string, 107561847f8eSopenharmony_ci participants: Array<cloudData.sharing.Participant> 107661847f8eSopenharmony_ci ): Promise<Result<Array<Result<cloudData.sharing.Participant>>>>; 107761847f8eSopenharmony_ci 107861847f8eSopenharmony_ci /** 107961847f8eSopenharmony_ci * Exits the sharing. 108061847f8eSopenharmony_ci * 108161847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 108261847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 108361847f8eSopenharmony_ci * @param { string } sharingResource - Indicates the sharing resource. 108461847f8eSopenharmony_ci * @returns { Promise<Result<void>> } Returns the exit result. 108561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 108661847f8eSopenharmony_ci * @systemapi 108761847f8eSopenharmony_ci * @since 11 108861847f8eSopenharmony_ci */ 108961847f8eSopenharmony_ci exit(userId: number, bundleName: string, sharingResource: string): Promise<Result<void>>; 109061847f8eSopenharmony_ci 109161847f8eSopenharmony_ci /** 109261847f8eSopenharmony_ci * Changes privilege of the specific participants. 109361847f8eSopenharmony_ci * 109461847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 109561847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 109661847f8eSopenharmony_ci * @param { string } sharingResource - Indicates the sharing resource. 109761847f8eSopenharmony_ci * @param { Array<cloudData.sharing.Participant> } participants - Indicates the participant. 109861847f8eSopenharmony_ci * @returns { Promise<Result<Array<Result<cloudData.sharing.Participant>>>> } Returns the changing result. 109961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 110061847f8eSopenharmony_ci * @systemapi 110161847f8eSopenharmony_ci * @since 11 110261847f8eSopenharmony_ci */ 110361847f8eSopenharmony_ci changePrivilege( 110461847f8eSopenharmony_ci userId: number, 110561847f8eSopenharmony_ci bundleName: string, 110661847f8eSopenharmony_ci sharingResource: string, 110761847f8eSopenharmony_ci participants: Array<cloudData.sharing.Participant> 110861847f8eSopenharmony_ci ): Promise<Result<Array<Result<cloudData.sharing.Participant>>>>; 110961847f8eSopenharmony_ci 111061847f8eSopenharmony_ci /** 111161847f8eSopenharmony_ci * Queries participants of the specific sharing resource. 111261847f8eSopenharmony_ci * 111361847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 111461847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 111561847f8eSopenharmony_ci * @param { string } sharingResource - Indicates the sharing resource. 111661847f8eSopenharmony_ci * @returns { Promise<Result<Array<cloudData.sharing.Participant>>> } Returns the query result. 111761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 111861847f8eSopenharmony_ci * @systemapi 111961847f8eSopenharmony_ci * @since 11 112061847f8eSopenharmony_ci */ 112161847f8eSopenharmony_ci queryParticipants( 112261847f8eSopenharmony_ci userId: number, 112361847f8eSopenharmony_ci bundleName: string, 112461847f8eSopenharmony_ci sharingResource: string 112561847f8eSopenharmony_ci ): Promise<Result<Array<cloudData.sharing.Participant>>>; 112661847f8eSopenharmony_ci 112761847f8eSopenharmony_ci /** 112861847f8eSopenharmony_ci * Queries participants based on the specified invitation code. 112961847f8eSopenharmony_ci * 113061847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 113161847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 113261847f8eSopenharmony_ci * @param { string } invitationCode - Indicates the invitation code. 113361847f8eSopenharmony_ci * @returns { Promise<Result<Array<cloudData.sharing.Participant>>> } Returns the query result. 113461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 113561847f8eSopenharmony_ci * @systemapi 113661847f8eSopenharmony_ci * @since 11 113761847f8eSopenharmony_ci */ 113861847f8eSopenharmony_ci queryParticipantsByInvitation( 113961847f8eSopenharmony_ci userId: number, 114061847f8eSopenharmony_ci bundleName: string, 114161847f8eSopenharmony_ci invitationCode: string 114261847f8eSopenharmony_ci ): Promise<Result<Array<cloudData.sharing.Participant>>>; 114361847f8eSopenharmony_ci 114461847f8eSopenharmony_ci /** 114561847f8eSopenharmony_ci * Confirms invitation. 114661847f8eSopenharmony_ci * 114761847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 114861847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 114961847f8eSopenharmony_ci * @param { string } invitationCode - Indicates the invitation code. 115061847f8eSopenharmony_ci * @param { cloudData.sharing.State } state - Indicates the state. 115161847f8eSopenharmony_ci * @returns { Promise<Result<string>> } Returns the sharing resource. 115261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 115361847f8eSopenharmony_ci * @systemapi 115461847f8eSopenharmony_ci * @since 11 115561847f8eSopenharmony_ci */ 115661847f8eSopenharmony_ci confirmInvitation( 115761847f8eSopenharmony_ci userId: number, 115861847f8eSopenharmony_ci bundleName: string, 115961847f8eSopenharmony_ci invitationCode: string, 116061847f8eSopenharmony_ci state: cloudData.sharing.State 116161847f8eSopenharmony_ci ): Promise<Result<string>>; 116261847f8eSopenharmony_ci 116361847f8eSopenharmony_ci /** 116461847f8eSopenharmony_ci * Changes confirmation. 116561847f8eSopenharmony_ci * 116661847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 116761847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 116861847f8eSopenharmony_ci * @param { string } sharingResource - Indicates the sharing resource. 116961847f8eSopenharmony_ci * @param { cloudData.sharing.State } state - Indicates the state. 117061847f8eSopenharmony_ci * @returns { Promise<Result<void>> } Returns the change result. 117161847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 117261847f8eSopenharmony_ci * @systemapi 117361847f8eSopenharmony_ci * @since 11 117461847f8eSopenharmony_ci */ 117561847f8eSopenharmony_ci changeConfirmation( 117661847f8eSopenharmony_ci userId: number, 117761847f8eSopenharmony_ci bundleName: string, 117861847f8eSopenharmony_ci sharingResource: string, 117961847f8eSopenharmony_ci state: cloudData.sharing.State 118061847f8eSopenharmony_ci ): Promise<Result<void>>; 118161847f8eSopenharmony_ci } 118261847f8eSopenharmony_ci 118361847f8eSopenharmony_ci /** 118461847f8eSopenharmony_ci * Provides interfaces for implementing CloudService. 118561847f8eSopenharmony_ci * 118661847f8eSopenharmony_ci * @interface CloudService 118761847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 118861847f8eSopenharmony_ci * @systemapi 118961847f8eSopenharmony_ci * @since 11 119061847f8eSopenharmony_ci */ 119161847f8eSopenharmony_ci export interface CloudService { 119261847f8eSopenharmony_ci /** 119361847f8eSopenharmony_ci * Obtains the service information. 119461847f8eSopenharmony_ci * 119561847f8eSopenharmony_ci * @returns { Promise<ServiceInfo> } Returns the service information obtained. 119661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 119761847f8eSopenharmony_ci * @systemapi 119861847f8eSopenharmony_ci * @since 11 119961847f8eSopenharmony_ci */ 120061847f8eSopenharmony_ci getServiceInfo(): Promise<ServiceInfo>; 120161847f8eSopenharmony_ci 120261847f8eSopenharmony_ci /** 120361847f8eSopenharmony_ci * Obtains the brief application information. 120461847f8eSopenharmony_ci * 120561847f8eSopenharmony_ci * @returns { Promise<Record<string, AppBriefInfo>> } 120661847f8eSopenharmony_ci * Returns the key-value pairs corresponding to <b>bundle</b> and 120761847f8eSopenharmony_ci * <b>AppBriefInfo</b>. 120861847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 120961847f8eSopenharmony_ci * @systemapi 121061847f8eSopenharmony_ci * @since 11 121161847f8eSopenharmony_ci */ 121261847f8eSopenharmony_ci getAppBriefInfo(): Promise<Record<string, AppBriefInfo>>; 121361847f8eSopenharmony_ci 121461847f8eSopenharmony_ci /** 121561847f8eSopenharmony_ci * Obtains the application schema information. 121661847f8eSopenharmony_ci * 121761847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name of the application. 121861847f8eSopenharmony_ci * @returns { Promise<Result<AppSchema>> } Returns <b>AppSchema</b>. 121961847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 122061847f8eSopenharmony_ci * @systemapi 122161847f8eSopenharmony_ci * @since 11 122261847f8eSopenharmony_ci */ 122361847f8eSopenharmony_ci getAppSchema(bundleName: string): Promise<Result<AppSchema>>; 122461847f8eSopenharmony_ci 122561847f8eSopenharmony_ci /** 122661847f8eSopenharmony_ci * Subscribes to data changes in the cloud. 122761847f8eSopenharmony_ci * When the cloud server data is changed, the server notifies the device of 122861847f8eSopenharmony_ci * the data change. 122961847f8eSopenharmony_ci * 123061847f8eSopenharmony_ci * @param { Record<string, Array<Database>> } subInfo - Indicates 123161847f8eSopenharmony_ci * the data to be subscribed to, that is, the key-value pairs corresponding 123261847f8eSopenharmony_ci * to an array of bundle names and databases. 123361847f8eSopenharmony_ci * @param { number } expirationTime - Indicates the subscription expiration 123461847f8eSopenharmony_ci * time. 123561847f8eSopenharmony_ci * @returns { Promise<Result<SubscribeInfo>> } Returns <b>SubscribeInfo</b>. 123661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 123761847f8eSopenharmony_ci * @systemapi 123861847f8eSopenharmony_ci * @since 11 123961847f8eSopenharmony_ci */ 124061847f8eSopenharmony_ci subscribe( 124161847f8eSopenharmony_ci subInfo: Record<string, Array<Database>>, 124261847f8eSopenharmony_ci expirationTime: number 124361847f8eSopenharmony_ci ): Promise<Result<SubscribeInfo>>; 124461847f8eSopenharmony_ci 124561847f8eSopenharmony_ci /** 124661847f8eSopenharmony_ci * Unsubscribes from the data changes in the cloud. 124761847f8eSopenharmony_ci * 124861847f8eSopenharmony_ci * @param { Record<string, Array<string>> } unsubscribeInfo - Indicates 124961847f8eSopenharmony_ci * the data to be unsubscribe from, that is, the key-value pairs 125061847f8eSopenharmony_ci * corresponding to an array of bundle names and databases. 125161847f8eSopenharmony_ci * @returns { Promise<number> } Returns unsubscribeInfo result. 125261847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 125361847f8eSopenharmony_ci * @systemapi 125461847f8eSopenharmony_ci * @since 11 125561847f8eSopenharmony_ci */ 125661847f8eSopenharmony_ci unsubscribe(unsubscribeInfo: Record<string, Array<string>>): Promise<number>; 125761847f8eSopenharmony_ci 125861847f8eSopenharmony_ci /** 125961847f8eSopenharmony_ci * Connects to a database. 126061847f8eSopenharmony_ci * 126161847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name of the application. 126261847f8eSopenharmony_ci * @param { Database } database - Indicates the database to connect. 126361847f8eSopenharmony_ci * @returns { Promise<rpc.RemoteObject> } Returns connectDB RemoteObject. 126461847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 126561847f8eSopenharmony_ci * @systemapi 126661847f8eSopenharmony_ci * @since 11 126761847f8eSopenharmony_ci */ 126861847f8eSopenharmony_ci connectDB(bundleName: string, database: Database): Promise<rpc.RemoteObject>; 126961847f8eSopenharmony_ci 127061847f8eSopenharmony_ci /** 127161847f8eSopenharmony_ci * Connects to an assetLoader. 127261847f8eSopenharmony_ci * 127361847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name of the application. 127461847f8eSopenharmony_ci * @param { Database } database - Indicates the database of bundle. 127561847f8eSopenharmony_ci * @returns { Promise<rpc.RemoteObject> } Returns connectAssetLoader RemoteObject. 127661847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 127761847f8eSopenharmony_ci * @systemapi 127861847f8eSopenharmony_ci * @since 11 127961847f8eSopenharmony_ci */ 128061847f8eSopenharmony_ci connectAssetLoader(bundleName: string, database: Database): Promise<rpc.RemoteObject>; 128161847f8eSopenharmony_ci 128261847f8eSopenharmony_ci /** 128361847f8eSopenharmony_ci * Connects to a share center. 128461847f8eSopenharmony_ci * 128561847f8eSopenharmony_ci * @param { number } userId - Indicates the user ID. 128661847f8eSopenharmony_ci * @param { string } bundleName - Indicates the bundle name. 128761847f8eSopenharmony_ci * @returns { Promise<rpc.RemoteObject> } Returns shareCenter RemoteObject. 128861847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.CloudSync.Server 128961847f8eSopenharmony_ci * @systemapi 129061847f8eSopenharmony_ci * @since 11 129161847f8eSopenharmony_ci */ 129261847f8eSopenharmony_ci connectShareCenter(userId: number, bundleName: string): Promise<rpc.RemoteObject>; 129361847f8eSopenharmony_ci } 129461847f8eSopenharmony_ci} 129561847f8eSopenharmony_ci 129661847f8eSopenharmony_ciexport default cloudExtension;