{
    "fields": {
        "record": {
            "type": "link",
            "required": true,
            "readOnlyAfterCreate": true,
            "validatorClassNameList": [
                "Espo\\Classes\\FieldValidators\\CurrencyRecordRate\\Record\\NonBase"
            ]
        },
        "baseCode": {
            "type": "varchar",
            "readOnly": true,
            "maxLength": 3
        },
        "date": {
            "type": "date",
            "required": true,
            "readOnlyAfterCreate": true,
            "default": "javascript: return this.dateTime.getToday();"
        },
        "rate": {
            "type": "decimal",
            "decimalPlaces": 6,
            "min": 0.0001,
            "precision": 20,
            "scale": 8,
            "required": true,
            "audited": true,
            "view": "views/currency-record-rate/fields/rate"
        },
        "createdAt": {
            "type": "datetime",
            "readOnly": true
        },
        "modifiedAt": {
            "type": "datetime",
            "readOnly": true
        },
        "createdBy": {
            "type": "link",
            "readOnly": true,
            "view": "views/fields/user",
            "fieldManagerParamList": []
        },
        "modifiedBy": {
            "type": "link",
            "readOnly": true,
            "view": "views/fields/user",
            "fieldManagerParamList": []
        }
    },
    "links": {
        "record": {
            "type": "belongsTo",
            "entity": "CurrencyRecord",
            "foreignName": "code"
        },
        "createdBy": {
            "type": "belongsTo",
            "entity": "User"
        },
        "modifiedBy": {
            "type": "belongsTo",
            "entity": "User"
        }
    },
    "indexes": {
        "recordIdBaseCodeDate": {
            "type": "unique",
            "columns": [
                "recordId",
                "baseCode",
                "date",
                "deleteId"
            ]
        }
    },
    "deleteId": true,
    "collection": {
        "orderBy": "date",
        "order": "desc"
    }
}
