Skip to content

Commit

Permalink
feat: added sage accounting oauth endpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
oberoi-gaurav committed Jun 10, 2024
1 parent 249acde commit 8586636
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import axios from "axios";
import { DataObject, OAuthResponse } from "../../lib/types";

export const init = async ({ body }: DataObject): Promise<OAuthResponse> => {
try {
const requestBody = {
grant_type: "authorization_code",
code: body.metadata?.code,
client_id: body.clientId,
client_secret: body.clientSecret,
redirect_uri: body.metadata?.redirectUri,
};

const response = await axios.post(
`https://oauth.accounting.sage.com/token`,
requestBody
);

const {
data: {
access_token: accessToken,
refresh_token: refreshToken,
expires_in: expiresIn,
requested_by_id: requestedById,
},
} = response;

return {
accessToken,
refreshToken,
expiresIn,
tokenType: '',
meta: {
requestedById,
},
};
} catch (error) {
throw new Error(`Error fetching access token for SageAccounting: ${error}`);
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import axios from "axios";

import { DataObject, OAuthResponse } from "../../lib/types";
export const refresh = async ({ body }: DataObject): Promise<OAuthResponse> => {
try {
const {
OAUTH_CLIENT_ID: client_id,
OAUTH_CLIENT_SECRET: client_secret,
OAUTH_REFRESH_TOKEN: refresh_token,
} = body;

const requestBody = {
grant_type: "refresh_token",
client_id,
client_secret,
refresh_token,
};

const response = await axios.post(
`https://oauth.accounting.sage.com/token`,
requestBody
);

const {
data: {
access_token: accessToken,
refresh_token: refreshToken,
expires_in: expiresIn,
requested_by_id: requestedById,
},
} = response;

return {
accessToken,
refreshToken,
expiresIn,
tokenType: "",
meta: {
requestedById,
},
};
} catch (error) {
throw new Error(`Error fetching access token for SageAccounting: ${error}`);
}
};

0 comments on commit 8586636

Please sign in to comment.