init
This commit is contained in:
39
people/server/functions.js
Normal file
39
people/server/functions.js
Normal file
@@ -0,0 +1,39 @@
|
||||
export async function saveMemberNote(email, text) {
|
||||
console.log("saving note: ", email, text)
|
||||
try {
|
||||
await this.sql`
|
||||
UPDATE members
|
||||
SET notes = ${text}
|
||||
WHERE email = ${email}
|
||||
`
|
||||
return { success: true }
|
||||
} catch(e) {
|
||||
return e
|
||||
}
|
||||
}
|
||||
|
||||
export async function getPeople(networkId) {
|
||||
try {
|
||||
const people = await this.sql`
|
||||
SELECT
|
||||
m.*,
|
||||
mn.created AS joined_network,
|
||||
np.name AS plan_name,
|
||||
COALESCE(
|
||||
json_agg(r.name ORDER BY r.name) FILTER (WHERE r.name IS NOT NULL),
|
||||
'[]'
|
||||
) AS roles
|
||||
FROM members m
|
||||
JOIN member_networks mn ON mn.member_id = m.id AND mn.network_id = ${networkId}
|
||||
LEFT JOIN network_plans np ON np.id = mn.network_plan_id
|
||||
LEFT JOIN member_roles mr ON mr.member_id = m.id
|
||||
LEFT JOIN roles r ON r.id = mr.role_id AND r.network_id = ${networkId}
|
||||
GROUP BY m.id, mn.created, np.name
|
||||
ORDER BY mn.created ASC
|
||||
`;
|
||||
return people
|
||||
} catch(e) {
|
||||
console.error(e)
|
||||
return []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user