Move away from smartling CLI

This commit is contained in:
Fedor Indutny 2024-03-21 11:31:31 -07:00 committed by GitHub
parent e90553b3b3
commit f55e6e3407
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
76 changed files with 121916 additions and 244506 deletions

41
ts/util/smartling.ts Normal file
View file

@ -0,0 +1,41 @@
// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as packageJson from '../../package.json';
import { getUserAgent } from './getUserAgent';
type AuthenticateOptionsType = Readonly<{
userIdentifier: string;
userSecret: string;
}>;
export const API_BASE = new URL('https://api.smartling.com/');
export const PROJECT_ID = 'ef62d1ebb';
export async function authenticate({
userIdentifier,
userSecret,
}: AuthenticateOptionsType): Promise<Headers> {
const res = await fetch(new URL('./auth-api/v2/authenticate', API_BASE), {
method: 'POST',
headers: {
'content-type': 'application/json',
},
body: JSON.stringify({
userIdentifier,
userSecret,
}),
});
if (!res.ok) {
throw new Error('Failed to authenticate with Smartling');
}
const {
response: { data: auth },
} = await res.json();
return new Headers({
authorization: `${auth.tokenType} ${auth.accessToken}`,
'user-agent': getUserAgent(packageJson.version),
});
}