39 lines
912 B
TypeScript

import db from "../../db";
const getFullUserMap = async (fullPipelineList: GitlabPipelineDetail[][]) => {
const userList: GitlabUser[] = [];
fullPipelineList.forEach((fullPipeline) => {
fullPipeline.forEach((item) => {
if (item.user && !userList.find((v) => v.id === item.user?.id)) {
userList.push(item.user);
}
});
});
const dbUserInfo = await Promise.all(
userList
.filter((v) => v.id !== 0)
.map((user) =>
db.user.upsert({
user_id: user.id,
username: user.username,
name: user.name,
avatar_url: user.avatar_url,
web_url: user.web_url,
})
)
);
const userMap: Record<string, string> = {};
dbUserInfo.forEach((item) => {
if (!item) return;
userMap[item.user_id] = item.id;
});
return userMap;
};
const manageUser = {
getFullUserMap,
};
export default manageUser;