1e377ff85SWill Schurmanimport { fetchAsync } from './rest/client'; 2*8a424bebSJames Ideimport { CommandError } from '../utils/errors'; 3e377ff85SWill Schurman 4e377ff85SWill Schurmanexport async function getProjectDevelopmentCertificateAsync( 5e377ff85SWill Schurman easProjectId: string, 6e377ff85SWill Schurman csrPEM: string 7e377ff85SWill Schurman): Promise<string> { 8e377ff85SWill Schurman const response = await fetchAsync( 9e377ff85SWill Schurman `projects/${encodeURIComponent(easProjectId)}/development-certificates`, 10e377ff85SWill Schurman { 11e377ff85SWill Schurman method: 'POST', 12e377ff85SWill Schurman body: JSON.stringify({ 13e377ff85SWill Schurman csrPEM, 14e377ff85SWill Schurman }), 15e377ff85SWill Schurman } 16e377ff85SWill Schurman ); 17e377ff85SWill Schurman if (!response.ok) { 18e377ff85SWill Schurman throw new CommandError('API', `Unexpected error from Expo servers: ${response.statusText}.`); 19e377ff85SWill Schurman } 20e377ff85SWill Schurman const buffer = await response.buffer(); 21e377ff85SWill Schurman return buffer.toString('utf8'); 22e377ff85SWill Schurman} 23