push notifications working, server functions coming from backend

This commit is contained in:
metacryst
2026-03-26 02:32:59 -05:00
parent 472e69d3c0
commit d107d68bcc
9 changed files with 60 additions and 208 deletions

View File

@@ -1,34 +0,0 @@
export const IS_NODE =
typeof process !== "undefined" &&
process.versions?.node != null
async function bridgeSend(name, args) {
// Example browser implementation: send function call to server
const res = await global.Socket.send({
name: name,
args: args
})
return res
}
/**
* Wraps an object of functions so that:
* - Node calls the real function
* - Browser calls bridgeSend
*/
export function createBridge(funcs) {
return new Proxy(funcs, {
get(target, prop) {
const orig = target[prop]
return function (...args) {
if (IS_NODE) {
return orig(...args)
} else {
return bridgeSend(prop, args)
}
}
}
})
}

View File

@@ -1,10 +0,0 @@
import { createBridge, IS_NODE } from "./bridge.js"
let handlers = {}
if (IS_NODE) {
const mod = await import("./serverFunctions.js")
handlers = mod.default
}
export default createBridge(handlers)

View File

@@ -1,143 +0,0 @@
const handlers = {
async getStripeProfile(networkId) {
return global.payments.getProfile(networkId)
},
async addEvent(newEvent, networkId, creatorId) {
try {
return await global.db.events.add(newEvent, networkId, creatorId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async editEvent(id, updatedEvent, networkId, userId) {
try {
return await global.db.events.edit(id, updatedEvent, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async deleteEvent(id, networkId, userId) {
try {
return await global.db.events.delete(id, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getEvent(id) {
try {
return global.db.events.getById(id)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getEvents(networkId) {
try {
return global.db.events.getByNetwork(networkId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async addJob(newJob, networkId, creatorId) {
try {
return await global.db.jobs.add(newJob, networkId, creatorId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async editJob(id, updatedJob, networkId, userId) {
try {
return await global.db.jobs.edit(id, updatedJob, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async deleteJob(id, networkId, userId) {
try {
return await global.db.jobs.delete(id, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getJob(id) {
try {
return await global.db.jobs.getById(id)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getJobs(networkId) {
try {
return global.db.jobs.getByNetwork(networkId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async addAnnouncement(text, networkId, userId) {
try {
return await global.db.announcements.add(text, networkId, userId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async editAnnouncement(newAnnouncement, userId) {
try {
return await global.db.announcements.edit(newAnnouncement, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async deleteAnnouncement(id, userId) {
try {
return await global.db.announcements.delete(id, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getAnnouncement(id) {
try {
return global.db.announcements.getById(id)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getAnnouncements(networkId) {
try {
return global.db.announcements.getByNetwork(networkId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getUserAnnouncements(userId) {
try {
return global.db.announcements.getByCreator(userId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async editBio(newBio, userId) {
try {
return global.db.members.editBio(newBio, userId)
} catch (e) {
return { status: e.status, error: e.message }
}
}
}
export default handlers