import { ok, created, notFound, serverError } from 'wix-http-functions'; import wixData from 'wix-data'; export function get_members(request) { let options = { "headers": { "Content-Type": "application/json" } }; // query a collection to find matching items return wixData.query("members") .descending('nickname') .limit(1000) .find() .then((results) => { options.body = results.items; return ok(options); }) // something went wrong .catch((error) => { options.body = { "error": error }; return serverError(options); }); } export function post_newClanMember(request) { return request.body .json() .then(req => { let options = { "headers": { "Content-Type": "application/json" }, "body": {} }; return wixData.query("members") .eq("nickname", req.nickname) .find() .then(results => { if (results.totalCount > 0) { options.body.message = "This nickname is already associated with a clan member."; return serverError(options); } return wixData.query("members") .eq("gamerangerId", req.gamerangerId) .find() .then(res => { if (res.totalCount > 0) { options.body.message = "This ID is already associated with a clan member."; return serverError(options); } return wixData.insert("members", req) .then((resp) => { options.body = resp; return created(options); }) .catch((err) => { options.body.error = err; options.body.message = "Unknown error."; return serverError(options); }); }); }); }); } export function post_removeClanMember(request) { let options = { "headers": { "Content-Type": "application/json" }, "body": {} }; return request.body .json() .then(req => { return wixData.remove("members", req.id) .then((results) => { options.body = { "deleted": results }; return ok(options); }) .catch((err) => { options.body.error = err; options.body.message = "Unknown error."; return serverError(options); }); }); } export function post_updateClanMember(request) { let options = { "headers": { "Content-Type": "application/json" }, "body": {} }; return request.body .json() .then(req => { return wixData.update("members", req) .then((results) => { options.body = { "updates": results }; return ok(options); }) .catch((err) => { options.body.error = err; options.body.message = "Unknown error."; return serverError(options); }); }); } export function get_news(request) { let options = { "headers": { "Content-Type": "application/json" } }; // query a collection to find matching items return wixData.query("news") .limit(1000) .find() .then((results) => { options.body = results.items; return ok(options); }) // something went wrong .catch((error) => { options.body = { "error": error }; return serverError(options); }); } export function post_newStory(request) { return request.body .json() .then(req => { let options = { "headers": { "Content-Type": "application/json" }, "body": {} }; return wixData.insert("news", req) .then((resp) => { options.body = resp; return created(options); }) .catch((err) => { options.body.error = err; options.body.message = "Unknown error."; return serverError(options); }); }); } export function post_updateNews(request) { let options = { "headers": { "Content-Type": "application/json" }, "body": {} }; return request.body .json() .then(req => { return wixData.update("news", req) .then((results) => { options.body = { "updates": results }; return ok(options); }) .catch((err) => { options.body.error = err; options.body.message = "Unknown error."; return serverError(options); }); }); } export function post_removeNews(request) { let options = { "headers": { "Content-Type": "application/json" }, "body": {} }; return request.body .json() .then(req => { return wixData.remove("news", req.id) .then((results) => { options.body = { "deleted": results }; return ok(options); }) .catch((err) => { options.body.error = err; options.body.message = "Unknown error."; return serverError(options); }); }); } export function get_recruitmentStatus(request) { let options = { "headers": { "Content-Type": "application/json" }, "body": {} }; return wixData.get("recruitment", "8d176b56-7c41-47d2-8c58-19cf710315aa") .then((results) => { options.body = { "isOpen": results.isOpen }; return ok(options); }) .catch((err) => { options.body.error = err; options.body.message = "Unknown error."; return serverError(options); }); }