Slide 1

Slide 1 text

ͥͻ࢖ͬͯཉ͍͠ Cloud functions for Firebase

Slide 2

Slide 2 text

Cloud functions for firebaseͱ͸ 'JSFCBTFͷϢʔβೝূɺσʔλϕʔεͷ௥ՃͳͲͷΠϕϯτ Λड͚औͬͯॲཧΛߦ͏αʔϏε ରԠݴޠɿ+BWB4DSJQUPS5ZQF4DSJQU 'JSFTUPSFτϦΨʔ w PO$SFBUF w PO6QEBUF w PO%FMFUF w PO8SJUF

Slide 3

Slide 3 text

nori-naͰͷར༻ํ๏ • ϓογϡ௨஌ • σʔλͷूܭ • ֎෦αʔϏεͱͷ࿈ܞ(ܾࡁɺݕࡧ)

Slide 4

Slide 4 text

ϓογϡ௨஌ onCreate export const pushRideshareRequest = functions.firestore .document(commonUtil.makePath('ridesharerequest/{requestId}')) .onCreate((snap, context) => { const newValue = new firestoreModels.RideShareRequest(snap.data()); const to = newValue.to; console.log(`push start ridesharerequest : ${context.params.requestId}`); return pushMessageByUserId(to, '૬৐Γґཔ͕ಧ͖·ͨ͠ɻ಺༰Λ֬ೝͯ͠ڐՄ͠·͠ΐ͏ɻ'); });

Slide 5

Slide 5 text

ϓογϡ௨஌ onUpdate export const pushLikeComment = functions.firestore .document(commonUtil.makePath('mapcomment/{mapcommentId}')) .onUpdate((change, context) => { const afterData = new firestoreModels.MapComment(change.after.data()); const afterLike = afterData.likeMembers.length; const beforeData = new firestoreModels.MapComment(change.before.data()); const beforeLike = beforeData.likeMembers.length; const toUserId = afterData.user; if (!toUserId) return null; if (beforeLike < afterLike) { return pushMessageByUserId(toUserId, '͍͍Ͷ͕ԡ͞Ε·ͨ͠ʂ'); } return null; });

Slide 6

Slide 6 text

ϩʔΧϧͰςετՄೳ $npm run shell

Slide 7

Slide 7 text

ςετίʔυ QVTI%FTUJOBUJPO6QEBUF  \ CFGPSF\ TDSFFO/BNFVTF  MPDBUJPO\ MBUJUVEF  MPOHJUVEF ^  EFTUJOBUJPO\ OBNF5  HFP-PDBUJPO\ MBUJUVEF  MPOHJUVEF ^ ^ ^  BGUFS\ TDSFFO/BNFVTFS  MPDBUJPO\ MBUJUVEF  MPOHJUVEF ^  EFTUJOBUJPO\ OBNF5PLZP5PXFS  HFP-PDBUJPO\ MBUJUVEF  MPOHJUVEF ^ ^ ^ ^  \ QBSBNT\ VTFS*EVTFS ^ ^  • beforeͱafterʹͦΕͧ ΕσʔλΛهड़ • params͸ඞཁͳ࣌ͷ Έ

Slide 8

Slide 8 text

Cloud Functionͷ৽ػೳ Scheduler export const cronRemindShare = functions.pubsub //.schedule("0 18 * * *")//ຖ೔18࣌ʹ࣮ߦ .schedule("every 5 minutes")//̑෼͓͖ .timeZone("Asia/Tokyo") .onRun(async context => { console.log("͜͜Ͱఆظ࣮ߦ") });

Slide 9

Slide 9 text

͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 10

Slide 10 text

OPSJOB 5FDI /JHIU