Yes, somehow no cloudfunction will work since i uploaded them via admin-cli. I used to edit them in the dashboard directly before. Wanted to add email today and now am getting the errors. Is there a good working example of how to write the cloud.js file to make it work with the mail functionality?
here is my cloud.js:
const Moralis = require("moralis");
Moralis.Cloud.define(
"fetchAllMemes",
async (request) => {
const query = new Moralis.Query("Memes");
const pipeline = [];
return await query.aggregate(pipeline);
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"fetchMyMemes",
async (request) => {
let query = new Moralis.Query("Memes");
query.containedIn("owner", [request.params.userId]);
const results = await query.find();
return results;
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"fetchById",
async (request) => {
const query = new Moralis.Query("Memes");
const pipeline = [{ match: { objectId: request.params.memeId } }];
return await query.aggregate(pipeline);
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"fetchLimitSortVotes",
async (request) => {
if (request.params.sort !== "" && request.params.limit !== "") {
const query = new Moralis.Query("Memes");
const pipeline = [
{ sort: { votes: request.params.sort } },
{ limit: request.params.limit }
];
return await query.aggregate(pipeline);
}
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"fetchCreatedAtDesc",
async (request) => {
const query = new Moralis.Query("Memes");
const pipeline = [{ sort: { createdAt: -1 } }];
return await query.aggregate(pipeline);
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"fetchMyVotes",
async (request) => {
const query = new Moralis.Query("Memes");
let memes = await query.find({ useMasterKey: true });
return memes;
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"fetchMemeOfTheDay",
async (request) => {
const query = new Moralis.Query("Memes");
const pipeline = [];
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"searchTitles",
async (request) => {
const Memes = Moralis.Object.extend("Memes");
const query = new Moralis.Query(Memes);
query.matches("memeName", request.params.titleSearch);
return await query.find();
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"searchDescriptions",
async (request) => {
const Memes = Moralis.Object.extend("Memes");
const query = new Moralis.Query(Memes);
query.matches("description", request.params.descr);
return await query.find();
},
{ useMasterKey: true }
);
Moralis.Cloud.define(
"sendEmailToAdmin",
(request) => {
Moralis.Cloud.sendEmail(
{
to: "[email protected]",
subject: request.params.message.title,
html: `From: ${request.params.message.from}, Message: ${request.params.message.message}`
},
{ useMasterKey: true }
);
},
{ useMasterKey: true }
);