{"_id":"3dtoolkit-server-store","_rev":"2-74aec53fb50b5847e5e13005bcf3e14b","name":"3dtoolkit-server-store","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"3dtoolkit-server-store","version":"1.0.0","description":"database that tracks active 3dtookit servers","main":"lib/serverStore.js","scripts":{"test":"mocha --exit"},"repository":{"type":"git","url":"github.com/catalystcode/server-store"},"author":"","license":"MIT","dependencies":{"async":"^2.6.0","documentdb":"^1.14.4","http-status-codes":"^1.3.0"},"devDependencies":{"mocha":"^5.1.1"},"gitHead":"cc43b916bf809e860dc1813325eaa85f9c65b9d6","_id":"3dtoolkit-server-store@1.0.0","_npmVersion":"5.8.0","_nodeVersion":"8.9.4","_npmUser":{"name":"tpark","email":"timfpark@gmail.com"},"dist":{"integrity":"sha512-iw5v/cDH9UNuZ+D/K7XwG+zKXty0TiMwswRiT3/oPahcKG38QF8KPvMf7Dbz6kLmzc/jBHG3XsehaVpBS1pSYw==","shasum":"6fc8a79650c2173a6e03058696d7b5fd224402a5","tarball":"https://registry.npmjs.org/3dtoolkit-server-store/-/3dtoolkit-server-store-1.0.0.tgz","fileCount":8,"unpackedSize":10384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9JoyCRA9TVsSAnZWagAAFb8QAJeVPWpB0Pl4XJzjPbN4\nI7Slrzlw8SKREfh99XsdpCnNjRZh49lM52NfpKfw3V3rmS3I/1ye4iinPg4F\nzTdR5IzeTKXK0yABKMzwrbNhnCILBiI2koFDQiUJDMI6mAApMrl+I5KjqCxy\ntpcOajPbkbU0WvAetSZRG4YR5Zbxpsx2i3RBrkI54hpdr3U564SdxjQgQVoi\nTrx4g8QLzGEWHKNPD0JVWJDeA8BGvOqV0aJScvKS7bcWO0+Mbh+jVBS/G1iB\nobDQmS2cVwstpTCeVKQ1sRaEUG0AHSrBEP+fk1d65DUS39qlym9zMfTseWoJ\nFQEBWUx+pb0aMJcQkczquC2HIXpgQ4mOK4DMwYHIcrYrKY9Bhk0K2Rqcr55n\nmpyXgs6ofTlXkmWkkCVAy58KJOvoypkk5KVt2PiySGcwHejscGmaWl78mmsp\nYzrPC8qjNBrv38rhbUnWlT15mvVNpj99E9b87wHIZpFLPcT3h/fBzpgDNP4a\n0iHB+9bmDBcysFaHEJEu10seKHk0ZmlhaE75coIrKnW3ikprWVdFzpFesaIC\n2nEFu3gWSe/iuDqGNzHEITZVAzG+AxzpcxxfXTs6D4CUKLQ1FRQ1pC2SwAdC\nnoJNN5ow9VeLcwYwqj+gymtMxdwADAFe0n9xdRNWt1UQzvFDkT5p7lW0bcU9\nTzZP\r\n=4Uk5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzdn6UPp5fFEaFDicnRoestf/DhHlpVyU+bx8gJq/UDgIhAK/5xOslQcqrqTbIzWhoYydtHoo7Goj0EKkvy2zOpUi0"}]},"maintainers":[{"name":"tpark","email":"timfpark@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/3dtoolkit-server-store_1.0.0_1525979697108_0.3270759805032257"},"_hasShrinkwrap":false},"1.0.1":{"name":"3dtoolkit-server-store","version":"1.0.1","description":"database that tracks active 3dtookit servers","main":"lib/serverStore.js","scripts":{"test":"mocha --exit"},"repository":{"type":"git","url":"github.com/catalystcode/server-store"},"author":"","license":"MIT","dependencies":{"async":"^2.6.0","documentdb":"^1.14.4","http-status-codes":"^1.3.0"},"devDependencies":{"mocha":"^5.1.1"},"gitHead":"ec892bddb08e761bb2079d1e0f643dcadbb3c124","_id":"3dtoolkit-server-store@1.0.1","_npmVersion":"5.8.0","_nodeVersion":"8.9.4","_npmUser":{"name":"tpark","email":"timfpark@gmail.com"},"dist":{"integrity":"sha512-R3bW61bZx3R8Mr3dtjM6kTBXWeuqPpXJtXB1bqSR33qFFInQBj5znSSRYBcf8vreqUxdLvXofFoY57lUIa+FOA==","shasum":"203af53c91af8d6552b2a2df0f0ca99005168e48","tarball":"https://registry.npmjs.org/3dtoolkit-server-store/-/3dtoolkit-server-store-1.0.1.tgz","fileCount":8,"unpackedSize":9862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9JxlCRA9TVsSAnZWagAAarIP/RjsoPQdtXjTAXt6Ac/o\nKq9SP3Il94Un02qFRNMPDNmwD9rlXkUnrTgZ/qpAXvj8J5heqC5Sc2DGiblx\nYqCNwvpUOk06Ohn9uto1lR0epEGvZ65zampofwOjlBTJt7ziYFvYOT3CEuJ9\nSzL9dXeRv7skFpciEYVXyN+jWsJOkPRqqYO4vkWTbEFYlGD1FfQlP/LB1ba7\n/UmYqxzfVoSC4Zk8QmpkCyKJGrTej6UinaiGrrw6h0279Ryx2ZkXEVG6B66F\nWLbIzxrF1nZYCeCFpJHca1kqifR11rhHIU9l4Pt24nIHufuEmYlVGFZwWHlI\nOiu+Oufy/wRESmpuWUFez34nZiJ79Eo8Q2KPGx84rtdH3Yx+qdHa45EFNxmQ\nQ3iQjyLQ6fe9v5YQvhjJYCvxZRygENnWuBcsRrH2Ge8y3z7eaFZsSm9fuLqg\nbk0wevfj2JSgTuYegU45dyGGGr1WaYKRcO8JUbE+sXnAYShrktQtYTlPENSc\nqHrz7XOtnPl0MinbDir0HT3G9EQRYnF0xInUS41L1bdH547vtlcflrPwgJpe\nnK/RiZPUn7IWiohxkdNYLN4xL8TLeLNipxlNQeM0X793GAyLs9Ds2mQ/N1GE\n2JdkumRrxp/jKe6kMGwhKHYWRpnjLekZBI1Pd2Y1nbVj3oH1VVBUcqnWFhPo\nzBa0\r\n=cSlp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCicCOf7gdXEjH011AgfYpq6lUcNhJsLqz9FMH52QVgMgIhAItZcO8v14cfm7CA0nb2fWbtVJ897T39y/EAWS6M/iPT"}]},"maintainers":[{"name":"tpark","email":"timfpark@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/3dtoolkit-server-store_1.0.1_1525980260944_0.13858383751788428"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-10T19:14:57.108Z","1.0.0":"2018-05-10T19:14:57.268Z","modified":"2022-04-04T10:21:23.143Z","1.0.1":"2018-05-10T19:24:21.023Z"},"maintainers":[{"name":"tpark","email":"timfpark@gmail.com"}],"description":"database that tracks active 3dtookit servers","repository":{"type":"git","url":"github.com/catalystcode/server-store"},"license":"MIT","readme":"# server-store\n\nA module used by the orchestration service of the [3dtoolkit](https://github.com/CatalystCode/3dtoolkit) to managed the shared state around active vms handing webrtc servers.\n\n## Installation\n\n```\n$ npm install --save 3dtoolkit-server-store\n```\n\n## Initialization\n\nThe module exposes a class, ServerStore. Instances of this class requires initialization to setup the database client via the init method with the options below. Only cosmosDbEndpoint and cosmosDbKey are required, the others, if not provided, will default to the values below.\n\n```\nlet serverStore = new ServerStore();\n\nlet options = {\n    cosmosDbEndpoint: <CosmosDB endpoint>,\n    cosmosDbKey: <CosmosDB key>,\n    databaseName: <Database Name>, // defaults to '3dtoolkit'\n    collectionName: <Collection Name>, // defaults to 'servers'\n    collectionRUs: <# of request units to provision for collection> // defaults to 1000\n};\n\nserverStore.init(options, err => {\n\n    // ... perform actions on serverStore per below\n\n});\n```\n\n## serverStore.upsert(server, callback)\n\nYou can upsert servers into the store via 'upsert'. If a server exists it will be updated, otherwise it will be inserted.\n\n```\n// server is of the form { serverId: \"...\", azureServerId: \"...\", turnServerId: \"...\" }\nserverStore.upsert(server, err => {\n    // server has been upserted.\n});\n```\n\n## serverStore.delete(serverId, callback)\n\nDeletes a server from the store.\n\n```\nserverStore.delete(serverId, err => {\n    // server has been deleted.\n}\n```\n\n## getByServerId(serverId, callback)\n\nGets a server's entry by server id.\n\n```\nserverStore.getByServerId((err, servers => {\n    // servers is an array of server entries\n})\n```\n\nMore usage details can be found in the unit tests.\n","readmeFilename":"README.md"}