{"_id":"5htp-airtable","_rev":"16-2b4896aa2f0e97467dc21a8083431c28","name":"5htp-airtable","dist-tags":{"latest":"0.1.2-3"},"versions":{"0.0.1":{"name":"5htp-airtable","version":"0.0.1","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.1","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"d30ee90c83efa608744dece76fa00cdd78da89d7","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.1.tgz","fileCount":9,"integrity":"sha512-/29B0iMcdoydC7cx8W/4eNG2A0P6m3qmU3cTyKy0A98pj2rPGiSqMVrMJ7sEFKgWsdTS9/9gx/AQENw1Qa5xqA==","signatures":[{"sig":"MEUCIDHoMRLniUkH2GCLk5UCAGN8IVGNhWFFRzzsfvLwzRAnAiEAtvlXemvBnphwpZa2X4vI1o4TtqDuFHtjbzMoshEPwAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96944},"main":"src/index.ts","exports":{".":"./src","./*":"./src/*"},"gitHead":"2e4309b546d193fedb46ae4c621015c5187124b2","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"peerDependencies":{"5htp-core":"^0.3.2-1"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.1_1691669045947_0.8233338640580443","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"5htp-airtable","version":"0.0.2","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.2","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"431cf807fa39002dc575a7d86b85079abb8077bf","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.2.tgz","fileCount":9,"integrity":"sha512-TsJjRQqPLsq+OanTC547FV3Gl3uJwExSLqRT+OtwQ/CKoR0qCYUoBuyY5lHpHIyw4BknAWL9saXj1tuCBryJ9w==","signatures":[{"sig":"MEUCIQCmdGw3D2nnHubbNPY1YaI4pVz0zy+Dv4q9+O5OjfQ3mwIgQes6YTNgnCkyLor+KZKbw9uTQL1hGMq9o5IamodHaWQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97016},"main":"src/index.ts","exports":{".":"./src","./*":"./src/*"},"gitHead":"e59ce9a683dafb486af0a76eb91b2dfe99010d68","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"peerDependencies":{"5htp-core":"^0.3.2-1"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.2_1692190695199_0.7665520004691375","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"5htp-airtable","version":"0.0.3","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.3","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"be98776486a06281ec3295a55b1a196902a3b6a7","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.3.tgz","fileCount":9,"integrity":"sha512-9VcO6eLi7f3UsQQyg+xUOmr1Sl85OFW8HhvxpcMj9oriLvSqb1HofkgndQrwCduTBJB0kscgYy1wQcxnYWe2/Q==","signatures":[{"sig":"MEUCIE+HOsJUF0lL5607GwrD9UHx44Hksedyl87Ird2Ts1B6AiEAokhYr4kukI7ikBUtFXkl6xuzjuxdDHTE5ArQ6mizpDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96547},"main":"src/index.ts","exports":{".":"./src","./*":"./src/*"},"gitHead":"b9ffc5dcd67fdd5dcee9869ec34d742db029c668","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"peerDependencies":{"5htp-core":"^0.3.2-1"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.3_1692196042677_0.6893768063516514","host":"s3://npm-registry-packages"}},"0.0.3-1":{"name":"5htp-airtable","version":"0.0.3-1","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.3-1","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"df8a687674c79b6dd412caadb6e2d02efef8406c","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.3-1.tgz","fileCount":9,"integrity":"sha512-34l5YbF5HDDptKJIF7WCGljMPsxFA/zUq1X0BV96jevu1RVjytPXYD6/5yvWvZSvUxukbacP10pSPsxnQjqNzw==","signatures":[{"sig":"MEUCIClcUh3ILKIASHprB2INJuPtB1MK0wkhct9tbwx7UkiuAiEA0Md5pJcHmrSANbgEPBOsNsgKD8dcDHNCyOa4YhTxtB0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96717},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"77c5cc601000086b5707df9d8e7db8622ca38a30","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"peerDependencies":{"5htp-core":"^0.3.2-1"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.3-1_1693217027471_0.5653639519729368","host":"s3://npm-registry-packages"}},"0.0.3-2":{"name":"5htp-airtable","version":"0.0.3-2","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.3-2","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"26468426c5c3201a132b9219f8a7f810a1ef04fb","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.3-2.tgz","fileCount":9,"integrity":"sha512-g4v2ddcv4DgKWvo2+PLNlywu8ScR8MTgT/hW5++eHPB3mclOBJA837nW0hCzs0VP2eNtj73vvbyzlChtI7QXYQ==","signatures":[{"sig":"MEUCIQC4lz0gCTXLJDqI2GQuN0vOho64iUu5ZeSBOeDQZvMjsQIgGuiMsFbPnIegonjq6d51ZGC/0q9S6E71HzWH1tO7wgE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96720},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"ba5dbd1b8fbc501ed85982805c8becba699b7bf3","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.3-3"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.3-2_1694542263940_0.4919426344896982","host":"s3://npm-registry-packages"}},"0.0.3-3":{"name":"5htp-airtable","version":"0.0.3-3","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.3-3","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"76ab4cf23d7fd8f07bfaa8615d7c7bb44ac650f7","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.3-3.tgz","fileCount":9,"integrity":"sha512-dGJusxeru789D1eRs/cf2oHzhpf62W0HkO4iYH2YhjehhBHTfjfQqU4YPSvcKPTYRIndltYOtD1svE/Zc/h8ZA==","signatures":[{"sig":"MEYCIQCPD7VfqSSR3AxQGMkGfU6VbKTXmyrD5AOIV1pvNo8B6wIhAPZXP04QwWyzsEitSdy//6sRXgIXAo/lLFVe92wWO8Ez","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96860},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"e63ea5d4c163a80cb1bc02a538fd68f6bb748e4b","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.3-3"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.3-3_1694593368893_0.06816972206457006","host":"s3://npm-registry-packages"}},"0.0.3-4":{"name":"5htp-airtable","version":"0.0.3-4","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.3-4","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"4b6cf99e40a1835cfc999729bc421633e692097f","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.3-4.tgz","fileCount":9,"integrity":"sha512-hcCjeRlVc+YtrMyl98RnW7c/Dp5l5maigWFnLdW/5w2VH+ZSexxMl04VDaKj3mVxm8DxBuSgx597sLwR4KxhNQ==","signatures":[{"sig":"MEQCIDzLtAYYWdUJ+TsqBHxxxGTjXtmqpb4ufNGXxPXTloWjAiBW3IYrzoBRA6RQhCReAhVoI4qpRhti9ymO1ly2P3CJXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96860},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"8c77bfc432a9962827be9a7dc17f2dccccdcf376","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.4-3"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.3-4_1695288650743_0.14154813924179344","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"5htp-airtable","version":"0.0.4","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.4","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"89f6a5d671c921948237e58f25c96e9ee0423d40","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.4.tgz","fileCount":9,"integrity":"sha512-cYSKilKg2Iqjy5uWxWDyFreCA9y8p41/hWfGovUyOe2gzRhMj/VXw3AaYuqAeL6eJZ4pfBp/r86pHVTR0mtG5A==","signatures":[{"sig":"MEUCIQC6eBye8mGY9zHYA1fx95JSaYJEiEkGPWVTCQUonGTFpgIgU8aGNoUm7rHuSfx6XmfjCZSvS/apFiWJs7p3ziiOtAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97560},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"d8a106487dd217d35e4f5bac918697d38c29dafd","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.4-3"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.4_1701942107628_0.5517745839057708","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"5htp-airtable","version":"0.0.5","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.5","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"a0faadf245e8f1f9f79721dc6ffe23bb5096c722","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.5.tgz","fileCount":11,"integrity":"sha512-UMd4Rtg6oo942JB7gbp2sqBKlQYDJy8HaG0bTMq18hZFjB2qjfPFrQcMFbML0FvEkAawoOnaIVqb8I9f31Y6uQ==","signatures":[{"sig":"MEUCIGCxd7eXly65LGEKXBVodlzIsRTa8qwZsouBzOB2EBoYAiEAzt4TnhrDmaIVoF96cd/AUV8V8UnsFy4+iCZHFWqByNU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101850},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"c9c2b29d60c92caf7ed06f4b35c85db7aebf368b","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.6-9"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.5_1703282541158_0.34009393223148177","host":"s3://npm-registry-packages"}},"0.0.5-1":{"name":"5htp-airtable","version":"0.0.5-1","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.0.5-1","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"3de260f3243a1611b4ef1db26d93b68d9d2175a9","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.0.5-1.tgz","fileCount":11,"integrity":"sha512-w/5IqTv1wxzHOuG5zG/5u9UUnGfDzNGSJZ8T5KhEpYWchlc1ex5K7aNEnmg1y3i68SHBPcNv4r9QLFK+9u04Lg==","signatures":[{"sig":"MEUCIQDcdgrL/B0xRyM7gl8ilf4rZg6HC0n9yEO3nw/3C6Y5MgIgav/1JP7GcP5iPTbb1M+UHSkGGjHwQUJ14ExsqqFoj2I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101850},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"5220096e330e8749d8506c6790c0c4a4c8e5a167","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.7"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.0.5-1_1705394867797_0.977682776283155","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"5htp-airtable","version":"0.1.0","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.1.0","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"e1bc95cabcda320e9a4266d2de1203999cb2d4b0","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.1.0.tgz","fileCount":13,"integrity":"sha512-6kWhPiYXjz3vRr1Wwf64hz0oGhHJPMiKvpaFwT2gO/pKPJLX2vVOzGlJ3FIrf4ix87N/L93ejR+63jiNXg8PIQ==","signatures":[{"sig":"MEUCIQCh+Xmaz84fTlApejNpPlqg/BTgoL2Zb6eT2aYfUvJRTQIgaX12KI4VwtdUzGtwzjVQoOh95CAQ4zSaVimNvHWBahk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113262},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"2e4b3e336bbee09e22c180d9bf15190199441d35","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.7"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.1.0_1711020342174_0.4460486154826979","host":"s3://npm-registry-packages"}},"0.1.0-1":{"name":"5htp-airtable","version":"0.1.0-1","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.1.0-1","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"7e07170a1ac644f16ebe6657e836aae836c9a308","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.1.0-1.tgz","fileCount":13,"integrity":"sha512-qlzFyFpD6pfz8iSaeVRPWgQT/HQLcF2Yrv243YopMSdBfRo4STR1C64G0yRqaoaUrnzLpX7qRH1+KOeD+DnKDA==","signatures":[{"sig":"MEYCIQDXkeCly3dQRMpsfDpP6tr8Lb6sUtsCbJMVCxjd5W135QIhAPUs+hmc3BOuA5rKnJI2shD4dOQ0dJXLdHSNztKoLXSq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112257},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"1cfa6b7974aae4b6348e7f6a4ce60c41125137a6","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"8.19.2","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"18.10.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.3.7"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.1.0-1_1711461862457_0.7758935905099091","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"5htp-airtable","version":"0.1.1","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.1.1","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"7600331fd33d3727efa48ee1588500816e4041bc","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.1.1.tgz","fileCount":13,"integrity":"sha512-jJGlzKUkmdUDyNoB/bOXFaheH2FRJPfoOda+4IkR+z+z567o+3Gk3LYr37Pj5+2UFrP9B9eb/Kmwdio+bRtxWw==","signatures":[{"sig":"MEYCIQCuFqjugZZk5vONB9zEF79wQhP8TprD/7Rq8xnMP7idtwIhAJGlJWxaFPm0InzIAPDE36bi+2g9lRP1Hh3iJ5CyCi5+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113749},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"8df0ec4fd85f41715bcb56d0edc65f177a72e00e","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"10.7.0","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"22.2.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.1.1_1725624230281_0.7586477383924048","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"5htp-airtable","version":"0.1.2","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.1.2","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"3b9e428f7f6a6b07d1bcb9c4f5f745f89ebb5a41","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.1.2.tgz","fileCount":13,"integrity":"sha512-1IiTtmstj6Uj5WgcTEdqDCRisbzDO3FmyvY2zmWMt4HZ3nGOZ+26pR3fX/GNh1ukfxDx/+MuNSi2BrG1vjvUXA==","signatures":[{"sig":"MEQCICJJ0oN038wCihUHm6alzZIQon+rQs7j6OaAJt0FFHoCAiBX5U/qNjsPSE0V/C6E2bPzX+3mjLnSp9itPE/34nnp7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113891},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"46299925d043cdf238508615ac2a4736496406eb","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"10.7.0","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"22.2.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.1.2_1725868961138_0.4672730531393443","host":"s3://npm-registry-packages"}},"0.1.2-1":{"name":"5htp-airtable","version":"0.1.2-1","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.1.2-1","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"e2e7447d702953d15e9b256fc63bb6ac8c622783","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.1.2-1.tgz","fileCount":13,"integrity":"sha512-DoTzUXKcqDbdAjP40UhEJVtWFCi88NCGwOL4rq7IAxgqO+858xsOJVrhk/jRmnytCrGjNR95HjCkctvzVwujEA==","signatures":[{"sig":"MEUCIQCKB8OTQpR5Gx+0neBzVD6dAoDFrNBprfPIAu544hMbPQIgBP/NEUrlfrwAx7vKEYIRdv21uGRQm87rnN+3BX6jkpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114324},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"080e0a78b2fe35f9015d07f9bdc3d7aafaaac5fd","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"10.7.0","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"22.2.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.1.2-1_1725875049622_0.16518544920487344","host":"s3://npm-registry-packages"}},"0.1.2-2":{"name":"5htp-airtable","version":"0.1.2-2","keywords":["5htp","airtable","sync","synchronisation","database"],"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","_id":"5htp-airtable@0.1.2-2","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"dist":{"shasum":"13d4dc4906d2b869d7e64b3f0b3652b8b925d517","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.1.2-2.tgz","fileCount":13,"integrity":"sha512-5wLgRw4slzuVGYlXcq9wGkAL20/RWIqiPUk7ERmcRI6q+WjJVaTgW0Qs5IiHS/P4oIAypq5mooWhcXSb+Z0ZWg==","signatures":[{"sig":"MEQCICj1pW8mx2BDC3ew99A0KfyWQrjW48YuCwtY/SsuzOA6AiBoeaUyvYwhosZ+88nQrmHBSnvuUh0c9R+TUn3s7w44wQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114348},"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"gitHead":"b03559ee72fc66ab557aa34cdae050943dc38551","private":false,"scripts":{},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"repository":{"url":"git://github.com/gaetanlegac/5htp-airtable.git","type":"git"},"_npmVersion":"10.7.0","description":"Integrate Airtable to any 5HTP App","directories":{},"_nodeVersion":"22.2.0","dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"5htp-core":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/5htp-airtable_0.1.2-2_1725882805837_0.1354214963299205","host":"s3://npm-registry-packages"}},"0.1.2-3":{"name":"5htp-airtable","author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"description":"Integrate Airtable to any 5HTP App","keywords":["5htp","airtable","sync","synchronisation","database"],"version":"0.1.2-3","license":"MIT","private":false,"main":"src/index.ts","exports":{".":"./src/index.ts","./*":"./src/*.ts"},"repository":{"type":"git","url":"git://github.com/gaetanlegac/5htp-airtable.git"},"scripts":{},"devDependencies":{"5htp-core":"^0.4.4"},"dependencies":{"dayjs":"^1.11.9","ngrok":"^5.0.0-beta.2","short-unique-id":"^4.4.4"},"_id":"5htp-airtable@0.1.2-3","gitHead":"68cf89d76f0cdbec23ad15c01450bd1ae1e1f1e1","bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","_nodeVersion":"22.2.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-+Iy2dugKpNm+FDdHpqPhvbkWiQN/9DN2b1j89VuzR9KzMJSvV6JZd9octJCtWaw7+IuyY2hul+/049kOC00HPg==","shasum":"88c717fc04620a964d924238c85327eb0e09d06d","tarball":"https://registry.npmjs.org/5htp-airtable/-/5htp-airtable-0.1.2-3.tgz","fileCount":13,"unpackedSize":114366,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEg+qU1rX2mXO1XWSzfqzeV94U8TzLOJcR6fw4k2idErAiEAq2XEc6f3WOymd9/1TSXKzTPzRY9MvVMdkZvuHGT3Rrw="}]},"_npmUser":{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"},"directories":{},"maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/5htp-airtable_0.1.2-3_1727079968611_0.1038882370964751"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-10T12:04:05.947Z","modified":"2024-09-23T08:26:09.039Z","0.0.1":"2023-08-10T12:04:06.167Z","0.0.2":"2023-08-16T12:58:15.395Z","0.0.3":"2023-08-16T14:27:22.930Z","0.0.3-1":"2023-08-28T10:03:47.632Z","0.0.3-2":"2023-09-12T18:11:04.118Z","0.0.3-3":"2023-09-13T08:22:49.061Z","0.0.3-4":"2023-09-21T09:30:50.969Z","0.0.4":"2023-12-07T09:41:47.809Z","0.0.5":"2023-12-22T22:02:21.431Z","0.0.5-1":"2024-01-16T08:47:47.942Z","0.1.0":"2024-03-21T11:25:42.315Z","0.1.0-1":"2024-03-26T14:04:22.589Z","0.1.1":"2024-09-06T12:03:50.485Z","0.1.2":"2024-09-09T08:02:41.328Z","0.1.2-1":"2024-09-09T09:44:09.860Z","0.1.2-2":"2024-09-09T11:53:25.980Z","0.1.2-3":"2024-09-23T08:26:08.851Z"},"bugs":{"url":"https://github.com/gaetanlegac/5htp-airtable/issues"},"author":{"name":"Gaetan Le Gac","email":"contact@gaetan-legac.fr"},"license":"MIT","homepage":"https://github.com/gaetanlegac/5htp-airtable#readme","keywords":["5htp","airtable","sync","synchronisation","database"],"repository":{"type":"git","url":"git://github.com/gaetanlegac/5htp-airtable.git"},"description":"Integrate Airtable to any 5HTP App","maintainers":[{"name":"gaetanlegac","email":"contact@gaetan-legac.fr"}],"readme":"# Airtable Sync for 5HTP\n\n5HTP Service to integrate Airtable API and synchronise it with MySQL tables\n\n[![npm](https://img.shields.io/npm/v/5htp-airtable)](https://www.npmjs.com/package/5htp-airtable)\n\n## Installation\n\n```bash\nnpm install --save 5htp-airtable\n```\n\n## Features\n\n- Initial sync (differential)\n- Realtime sync (websocket)\n- Support for relationships: one to one, one to many, many to many\n- Perfectly integrated with the 5HTP framework\n\n## How it works\n\nTo be done\n\n## How to sync your Airtable table with a MySQL table\n\n### 1. Create your data provider\n\n```typescript\n/*----------------------------------\n- DEPENDANCES\n----------------------------------*/\n\n// App\nimport { Airtable, Hub } from '@app';\nimport DataProvider, { TAirtableMapper } from '5htp-airtable/provider';\n\n/*----------------------------------\n- TYPES\n----------------------------------*/\n\ntype UserFromAirtable = {\n\n    // Identity\n    'First Name': string,\n    'Last Name': string,\n    'Country': string[],\n    'Languages': string[],\n    'Password'?: string,\n\n    // Contact Info\n    'Email': string,\n    'Phone Number': string,\n    'LinkedIn URL': string,\n\n    // Synced Table\n    'Created': Date,\n    'Updated': Date\n}\n\ntype UserRelations = {\n    languages: string[],\n}\n\n/*----------------------------------\n- PROVIDER\n----------------------------------*/\nexport default class UserProvider extends DataProvider<UserFromAirtable, User, UserRelations> {\n\n    public constructor( public users: UserService, public app = users.app ) {\n        super(app, 'users');\n        \n        // Register to Airtable service + load airtable & db table metadatas\n        Airtable.registerProvider(this);\n    }\n\n    // Input\n    public airtable = Airtable.table('myAirtableBase', 'myAirtableTable');\n    // All the required fields in User database table should be mapped here\n    // So we ensure that after the mapping, we upsert the minimum required values\n    public mapper: TAirtableMapper<UserFromAirtable, User, UserRelations> = {\n\n        // Identoty\n        'firstName': {\n            airtable: 'First Name',\n        },\n        'lastName': {\n            airtable: 'Last Name',\n        },\n        'country': {\n            airtable: 'Country',\n            toOne: () => Hub.geolocations\n        },\n        'languages': {\n            airtable: 'Languages',\n            toMany: () => ({\n                table: 'UserLanguage',\n                pk: {\n                    key: 'headhunter',\n                },\n                fk: {\n                    key: 'language',\n                    provider: Hub.languages,\n                }\n            })\n        },\n        'password': {\n            airtable: 'Password',\n        },\n    }\n\n    // Database table name\n    public tableName = 'User';\n}\n```\n\n### 2. How to use your provider\n\n```typescript\nimport UserProvider from './provider';\n\nexport default class UsersService extends Service {\n\n    // 1. Instanciate Provider\n    public provider = new UserProvider(this);\n\n    public async start() {\n        // 2. Ensure the database is sync with Airtable\n        await this.provider.sync();\n    }\n\n    public async signup( newUser: User, request: Request ) {\n        // 3. Insert new data on both Airtable and Database\n        const inserted = await this.provider.create({\n            ...newUser,\n            password: sha1(newUser.password),\n        });\n    }\n\n    public async resetPassword( \n        type: string, \n        token: string, \n        rawPassword: string,\n    ) {\n        // 4. Update data on both Airtable and Database\n        await this.provider.update([{\n            airtableId: user.airtableId,\n            email: email,\n            password: sha1(rawPassword)\n        }]);\n    }\n}\n```\n\n### Use it remotely\n\nTo be done\n\n## Changelog\n\n### 0.1.0 (26/03/2024)\n\n* Remote Providers\n    - Bug fixes\n    - Improve security by requiring a token\n* Writing the sync() method in the provider is now optional (but can be overwritten if you need to call special actions after sync)\n* Simplified readme\n* Fix issue when the DB table pk is airtableId\n* Update database implementation to 5HTP 0.3.8\n* Added more logs\n\n### 0.0.9 (22/12/2023)\n\n* Possibility to create RemoteProviders\n\n## To be done\n\n[] Fix typings\n[] Import typings from 5htp-core (peerdeps)\n[] Tests\n[] Usage doc","readmeFilename":"readme.md"}