server.js
import sendEmail from "@factor/api/server"
import { addEndpoint } from "@factor/api"
console.log('served');
export const sendContactEmail = async (params, meta) => {
console.log(params);
const emailConfig = {
subject: "Email Subject",
to: ["[email protected]"],
from: params.mail, // set this optionally, it defaults to app email
title: "Title text in the email",
text: params.coop+','+
params.name+','+
params.tel+','+
params.mail+','+
params.curri+','+
params.sm+'월'+params.sd+'일 ~ '+params.em+'월'+params.ed+'일'+
params.curri+','+
params.etc
}
console.log(emailConfig);
// emailConfig prints valid object
await sendEmail(emailConfig);
}
addEndpoint({
id: "contact-email",
handler: { sendContactEmail },
})
client-side vue script
import { endpointRequest } from "@factor/api";
export default {
data:function(){
return{
coop:"",
name:"",
...
}
},
methods:{
sendContact:function(){
var res = endpointRequest({
id: "contact-email",
method: "sendContactEmail",
params: {
coop: this.coop ,
name:this.name,
...
},
}).then((res)=>{
console.log(res)
})
}
}
}
package.json
{
"name": "edu",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@factor/api": "^1.7.10",
"@factor/core": "^1.7.10",
},
"factor": {
"app": {
"name": "edu",
"description": "Education Contact"
},
"load": {
"app": "index",
"server": [
"index",
"server"
]
}
},
"description": ""
}