import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; export interface HealthKitOptions { /** * HKWorkoutActivityType constant * Read more here: https://developer.apple.com/library/ios/documentation/HealthKit/Reference/HKWorkout_Class/#//apple_ref/c/tdef/HKWorkoutActivityType */ activityType?: string; // /** * 'hour', 'week', 'year' or 'day', default 'day' */ aggregation?: string; /** * */ amount?: number; /** * */ correlationType?: string; /** * */ date?: any; /** * */ distance?: number; /** * probably useful with the former param */ distanceUnit?: string; /** * in seconds, optional, use either this or endDate */ duration?: number; /** * */ endDate?: any; /** * */ energy?: number; /** * J|cal|kcal */ energyUnit?: string; /** * */ extraData?: any; /** * */ metadata?: any; /** * */ quantityType?: string; /** * */ readTypes?: any; /** * */ requestWritePermission?: boolean; /** * */ samples?: any; /** * */ sampleType?: string; /** * */ startDate?: any; /** * m|cm|mm|in|ft */ unit?: string; /** * */ requestReadPermission?: boolean; /** * */ writeTypes?: any; } /** * @name Health Kit * @description * The HealthKit plugin allows you to read data from and write data to the iOS 8+ HealthKit framework. * Any data saved shows up in the iOS Health app and is available for other iOS apps. * * @usage * ```typescript * import { HealthKit } from '@ionic-native/health-kit'; * * * constructor(private healthKit: HealthKit) { } * * ... * ``` * * @interfaces * HealthKitOptions */ @Plugin({ pluginName: 'HealthKit', plugin: 'com.telerik.plugins.healthkit', pluginRef: 'window.plugins.healthkit', repo: 'https://github.com/Telerik-Verified-Plugins/HealthKit', platforms: ['iOS'] }) @Injectable() export class HealthKit extends IonicNativePlugin { /** * Check if HealthKit is supported (iOS8+, not on iPad) * @returns {Promise} */ @Cordova() available(): Promise { return; } /** * Pass in a type and get back on of undetermined | denied | authorized * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() checkAuthStatus(options: HealthKitOptions): Promise { return; } /** * Ask some or all permissions up front * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() requestAuthorization(options: HealthKitOptions): Promise { return; } /** * Formatted as yyyy-MM-dd * @returns {Promise} */ @Cordova() readDateOfBirth(): Promise { return; } /** * Output = male|female|other|unknown * @returns {Promise} */ @Cordova() readGender(): Promise { return; } /** * Output = A+|A-|B+|B-|AB+|AB-|O+|O-|unknown * @returns {Promise} */ @Cordova() readBloodType(): Promise { return; } /** * Output = I|II|III|IV|V|VI|unknown * @returns {Promise} */ @Cordova() readFitzpatrickSkinType(): Promise { return; } /** * Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) and amount * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() saveWeight(options: HealthKitOptions): Promise { return; } /** * Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() readWeight(options: HealthKitOptions): Promise { return; } /** * Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) and amount * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() saveHeight(options: HealthKitOptions): Promise { return; } /** * Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() readHeight(options: HealthKitOptions): Promise { return; } /** * no params yet, so this will return all workouts ever of any type * @returns {Promise} */ @Cordova() findWorkouts(): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() saveWorkout(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() querySampleType(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() querySampleTypeAggregated(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() deleteSamples(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() monitorSampleType(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() sumQuantityType(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() saveQuantitySample(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() saveCorrelation(options: HealthKitOptions): Promise { return; } /** * * @param options {HealthKitOptions} * @returns {Promise} */ @Cordova() queryCorrelationType(options: HealthKitOptions): Promise { return; } }