var SnowMirror_DeleteData = Class.create();
SnowMirror_DeleteData.prototype = {
    initialize: function () {
    },

    deleteData: function () {
        // delete all records in integration pool
        gs.info('Deleting all records from x_awns_smm_snowmirror_integration_pool');
        var integrationPoolGr = new GlideRecord('x_awns_smm_snowmirror_integration_pool');
        integrationPoolGr.query();
        while (integrationPoolGr.next()) {
            integrationPoolGr.deleteRecord();
        }

        // delete all synchronization runs
        gs.info('Deleting all synchronization runs');
        var synchronizationRunGr = new GlideRecord('x_awns_smm_snowmirror_synchronization_run');
        synchronizationRunGr.query();
        while (synchronizationRunGr.next()) {
            synchronizationRunGr.deleteRecord();
        }

        // delete all synchronizations
        gs.info('Deleting all synchronizations');
        var synchronizationDefinitionGr = new GlideRecord('x_awns_smm_snowmirror_synchronization_definition');
        synchronizationDefinitionGr.query();
        while (synchronizationDefinitionGr.next()) {
            synchronizationDefinitionGr.deleteRecord();
        }

        // delete all servers
        gs.info('Deleting all servers');
        var serverGr = new GlideRecord('x_awns_smm_snowmirror_server');
        while (serverGr.next()) {
            serverGr.deleteRecord();
        }

        gs.info('Finished.');
    },

    type: 'SnowMirror_DeleteData'
};

new SnowMirror_DeleteData().deleteData();