Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** Package manager */
- class PackageMngr
- {
- /** Get packages */
- static string GetPackages()
- {
- var pcks = [];
- Database.Connect(function(DBConn conn) {
- pcks = conn.Query("SELECT Name, GUID FROM PublicPackages").FetchAll();
- });
- return (string):json_encode(pcks);
- }
- /** Get package */
- static string GetPackage(string guid)
- {
- object pck = null;
- Database.Connect(function(DBConn conn) {
- pck = conn.Query("SELECT * FROM PublicPackages WHERE GUID='${guid}'").Fetch();
- });
- return (string):json_encode(pck);
- }
- /** Add package */
- static object AddPackage()
- {
- var payload = Web.GetPOST().Merge({name: "", data: ""});
- Database.Connect(function(DBConn conn) {
- var guid = _guid();
- while (conn.Query("SELECT * FROM PublicPackages WHERE GUID='${guid}'").FetchAll().Length() > 0)
- guid = _guid();
- conn.Insert("PublicPackages", {GUID: guid, Name: payload["name"], Data: payload["data"]});
- });
- return "ok";
- }
- private:
- static string _guid()
- {
- return (string):sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', :mt_rand(0, 65535), :mt_rand(0, 65535), :mt_rand(0, 65535), :mt_rand(16384, 20479), :mt_rand(32768, 49151), :mt_rand(0, 65535), :mt_rand(0, 65535), :mt_rand(0, 65535));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement