<commit_before>/* *
 *
 * Создает простой способ доступа к JSON данным на сервере.
 * Реализует основные REST методы save, get, list, update, delete
 * В дополнение к этому есть:
 * findBy - поиск по одному из полей
 * filter - поиск по ряду полей
 *
 * */
var notRecord_stdObjectProps = {
    writable: false,
    enumerable: false
};

function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}

var DEFAULT_RECORD_ID_FIELD_NAME = '_id';
var DEFAULT_PAGE_NUMBER = 1;
var DEFAULT_PAGE_SIZE = 10;

var notRecord_Interface = {
    //описание методов запросов
    api: {
        //корневой урл, :modelName название модели
        url: '/api/:modelName',
        //что можно делать
        actions: {
            //добавление новой записи
            save: {
                //метод
                method: 'POST',
                // что будем передавать в массиве POST, тут механизм простой у notRecord должен быть метод с названием getFoo,
                // в данном случае getRecord, его результаты будут переданы в POST запросе,
                // все результаты возвращаемые такими функциями должны быть объектами,
                // если их несколько, то они будут объединены в один объект
                data: ['record']
            },
            //получать по номеру записи
            get: {
                method: 'GET',
                //то что будет, прибавленно к URL
                postFix: '/:record['+DEFAULT_RECORD_ID_FIELD_NAME+']'
                //:record[название поля из объекта], варианты /:record[_id]/:record[name] или /:record[date]
                //поле должно существовать
            },
            //получить массив
            list: {
                method: 'GET',
                //применяются данные для постраницной выдачи
                data: ['pager'],
                isArray: true
            },
            //поиск по паре [название поля],[значение поля]
            findBy: {
                method: 'POST',
                postFix: '/findBy',
                data: ['filter']
            },
            //более комплексный вариант, пар может быть много
            filter: {
                method: 'POST',
                postFix: '/filter',
                data: ['pager', 'filter'],
                isArray: true
            },
            //сохранение изменений
            update: {
                method: 'PUT',
                postFix: '/:record['+DEFAULT_RECORD_ID_FIELD_NAME+']'
            },
            //удаление записи с сервера
            delete: {
                method: 'DELETE',
                postFix: '/:record['+DEFAULT_RECORD_ID_FIELD_NAME+']'
            }
        }
    },

    extendObject: function (obj1, obj2) {
        for (var attrname in obj2) {
            obj1[attrname] = obj2[attrname];
        }
        return obj1;
    },

    parseLine: function (line, record) {<commit_msg>update moved to POST method<commit_after>/* *
 *
 * Создает простой способ доступа к JSON данным на сервере.
 * Реализует основные REST методы save, get, list, update, delete
 * В дополнение к этому есть:
 * findBy - поиск по одному из полей
 * filter - поиск по ряду полей
 *
 * */
var notRecord_stdObjectProps = {
    writable: false,
    enumerable: false
};

function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}

var DEFAULT_RECORD_ID_FIELD_NAME = '_id';
var DEFAULT_PAGE_NUMBER = 1;
var DEFAULT_PAGE_SIZE = 10;

var notRecord_Interface = {
    //описание методов запросов
    api: {
        //корневой урл, :modelName название модели
        url: '/api/:modelName',
        //что можно делать
        actions: {
            //добавление новой записи
            save: {
                //метод
                method: 'POST',
                // что будем передавать в массиве POST, тут механизм простой у notRecord должен быть метод с названием getFoo,
                // в данном случае getRecord, его результаты будут переданы в POST запросе,
                // все результаты возвращаемые такими функциями должны быть объектами,
                // если их несколько, то они будут объединены в один объект
                data: ['record']
            },
            //получать по номеру записи
            get: {
                method: 'GET',
                //то что будет, прибавленно к URL
                postFix: '/:record['+DEFAULT_RECORD_ID_FIELD_NAME+']'
                //:record[название поля из объекта], варианты /:record[_id]/:record[name] или /:record[date]
                //поле должно существовать
            },
            //получить массив
            list: {
                method: 'GET',
                //применяются данные для постраницной выдачи
                data: ['pager'],
                isArray: true
            },
            //поиск по паре [название поля],[значение поля]
            findBy: {
                method: 'POST',
                postFix: '/findBy',
                data: ['filter']
            },
            //более комплексный вариант, пар может быть много
            filter: {
                method: 'POST',
                postFix: '/filter',
                data: ['pager', 'filter'],
                isArray: true
            },
            //сохранение изменений
            update: {
                method: 'POST',
                postFix: '/:record['+DEFAULT_RECORD_ID_FIELD_NAME+']'
            },
            //удаление записи с сервера
            delete: {
                method: 'DELETE',
                postFix: '/:record['+DEFAULT_RECORD_ID_FIELD_NAME+']'
            }
        }
    },

    extendObject: function (obj1, obj2) {
        for (var attrname in obj2) {
            obj1[attrname] = obj2[attrname];
        }
        return obj1;
    },

    parseLine: function (line, record) {
{'fraction_non_alphanumeric': 0.0984731514839595, 'fraction_numerical': 0.003774232286841654, 'mean_word_length': 1.5403050108932461, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3892407', 'n_tokens_mistral': 1828, 'n_tokens_neox': 1932, 'n_words': 464}