Files
d4h-typescript/test/index.ts
T
2024-12-31 01:24:43 +00:00

82 lines
2.7 KiB
TypeScript

// Import environment variables before anything else
import * as dotenv from "dotenv"
dotenv.config();
import D4H, { GetMembersOptions } from "d4h-typescript"
import { env } from "process"
const token = env["D4H_TOKEN"]!;
let api = new D4H(token);
let getMembersOptions: GetMembersOptions = {
includeDetails: true,
includeCustomFields: true,
};
let main = async function() {
const testGetMembers = false
const testGetGroups = false
const testGetMember = false
// Only execute update code on an instance where that's OK.
// Double-check your API key. Double-check what you're modifying.
// try {
// const memberId = 103636 // Set this to a real ID
// await api.updateMemberAsync(memberId, {})
// } catch (err) {
// console.log(JSON.stringify(err))
// return
// }
if (testGetMembers) {
try {
const context = 'team'
const contextId = 1234
const members = await api.getMembersAsync(context, contextId, getMembersOptions)
console.log(`Retrieved ${members.length} members.`)
} catch (err) {
console.log(JSON.stringify(err))
return
}
}
if (testGetGroups) {
try {
const context = 'team'
const contextId = 1234
const groups = await api.getGroupsAsync(context, contextId)
console.log(`Retrieved ${groups.length} groups.`)
} catch (err) {
console.log(JSON.stringify(err))
return
}
}
if (testGetMember) {
try {
const context = 'team'
const contextId = 1234
const memberId = 103636
const member = await api.getMemberAsync(context, contextId, memberId, { includeDetails: true })
console.log(`Retrieved single member: ${member.name}`)
// Only execute update code on an instance where that's OK.
// Double-check your API key. Double-check what you're modifying.
// const unitStatusField = member.custom_fields?.find(f => f.label === "Secondary Email")
// if (unitStatusField) {
// await api.updateCustomFields(
// member,
// [{ id: unitStatusField.id, value: "test email" }],
// /* onlyMemberEditOwn */ true)
// } else {
// throw new Error('Failed to find custom field')
// }
} catch(err) {
console.log((err as Error).message);
return
}
}
}
main().then(() => console.log("Execution complete"));