diff --git a/src/api/index.js b/src/api/index.js index 55930cf..ca676ff 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -33,7 +33,7 @@ module.exports.createExpressApp = (store) => { }, async (accessToken, refreshToken, profile, done) => { try { - let user = await findOrCreateUser(profile, store); + let user = await findOrCreateUser(profile, store, accessToken); let repositories = await getRepositories( accessToken, user.dataValues.login, diff --git a/src/datasources/actions.js b/src/datasources/actions.js index 1ab7621..1ce5dc0 100644 --- a/src/datasources/actions.js +++ b/src/datasources/actions.js @@ -1,4 +1,4 @@ -const cleanProfile = (profile) => ({ +const cleanProfile = (profile, accessToken) => ({ avatarUrl: `${profile._json.avatar_url}`, bio: `${profile._json.bio}`, githubUrl: `${profile._json.html_url}`, @@ -8,6 +8,7 @@ const cleanProfile = (profile) => ({ login: `${profile._json.login}`, name: `${profile._json.name}`, websiteUrl: `${profile._json.blog}`, + accessToken: `${accessToken}` }); const cleanRepository = (id, repository) => ({ @@ -24,8 +25,8 @@ const cleanRepository = (id, repository) => ({ isStarred: repository.isStarred }); -const findOrCreateUser = async (rawProfile, store) => { - let profile = cleanProfile(rawProfile); +const findOrCreateUser = async (rawProfile, store, accessToken) => { + let profile = cleanProfile(rawProfile, accessToken); try { let user = await store.user.findByPk(profile.id); if (!user) { diff --git a/src/datasources/models/user.js b/src/datasources/models/user.js index a48ca43..7d1a397 100644 --- a/src/datasources/models/user.js +++ b/src/datasources/models/user.js @@ -51,6 +51,10 @@ const user = (sequelize, DataTypes) => { type: DataTypes.STRING, allowNull: false, }, + accessToken: { + type: DataTypes.STRING, + allowNull: false, + } }, { timestamps: false,