Network Printer Manager

    commodo-fields-storage-crud-logs

    1.0.6 • Public • Published

    commodo-fields-storage-crud-logs

    Build Status Covergrowth Status code style: prettier All Contributors PRs Welcome

    Appends createdOn, updatedOn, and savedOn fields to your model. The fields are automatically updated with current time before the model is about to be saved.

    Install

    npm install --save commodo-fields-storage-crud-logs
    

    Or if you prefer yarn:

    yarn add commodo-fields-storage-crud-logs
    

    Quick Example:

    import { compose } from "ramda";
    import { withFields, string } from "@commodo/fields";
    import { withCrudLogs } from "commodo-fields-storage-crud-logs";
     
    const Company = compose(
      withFields({
        name: string(),
        // Other fields you might need...
      }),
      withCrudLogs(),
      withStorage(...), // Required.
      // Other higher order functions (HOFs) you might need...
    )();
     
    const company = new Company();
    company.name = "Acme Corporation";
     
    // All fields null as a default value.
    console.log(company.createdOn); // Logs null.
    console.log(company.updatedOn); // Logs null.
    console.log(company.savedOn); // Logs null.
     
    // Upon saving the model for the first time, "createdOn" and "savedOn" fields will receive a value:
    await company.save();
    console.log(company.createdOn); // Logs "2020-04-19T14:34:42.993Z" (same as savedOn).  
    console.log(company.updatedOn); // Logs null.
    console.log(company.savedOn); // Logs "2020-04-19T14:34:42.993Z" (same as createdOn).
     
    // On every following save, only the "updatedOn" and "savedOn" fields will be updated:
    await company.save();
    console.log(company.createdOn); // Logs "2020-04-19T14:34:42.993Z" (no change here).
    console.log(company.updatedOn); // Logs "2020-04-19T14:37:05.726Z" (same as savedOn).
    console.log(company.savedOn); // Logs "2020-04-19T14:34:42.993Z" (same as updatedOn).
    withCrudLogs is used with the withStorage function

    In order to update the field values accordingly, the withCrudLogs internally utilizes the beforeSave, beforeCreate, and beforeUpdate hooks, which are exposed by the withStorage function.

    Contributors

    Thanks goes to these wonderful people (emoji key):


    Adrian Smijulj

    💻 📖 💡 👀 ⚠️

    This project follows the all-contributors specification. Contributions of any kind welcome!

    Install

    npm i commodo-fields-storage-crud-logs

    DownloadsWeekly Downloads

    3

    Version

    1.0.6

    License

    MIT

    Unpacked Size

    17.8 kB

    Total Files

    20

    Last publish

    Collaborators

    • adrian1210