import * as React from 'react'; import Button from '@uidu/button'; import styled from 'styled-components'; import { MediaStore } from '../src'; import { createUploadContext } from '../../media-test-helpers'; import * as uuid from 'uuid'; const Wrapper = styled.div` height: 100%; width: 100%; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: center; justify-content: center; align-content: center; `; const Row = styled.div` flex-direction: row; justify-content: center; > * { margin-right: 10px; } `; const Response = styled.div` font-family: monospace; white-space: pre; `; const context = createUploadContext(); export interface State { result: any; } class Example extends React.Component<{}, State> { private store: MediaStore; private lastFileId: string = ''; constructor(props: any) { super(props); this.state = { result: null, }; this.store = new MediaStore({ authProvider: context.config.authProvider, }); } createNewFile = async () => { this.lastFileId = uuid.v4(); let result: any; try { result = await this.store.touchFiles({ descriptors: [ { fileId: this.lastFileId, }, ], }); } catch (reason) { let data = {}; try { data = await reason.json(); } catch (e) {} result = { status: reason.status, data: data, }; } this.setState({ result }); }; createSameFile = async () => { try { await this.store.touchFiles({ descriptors: [ { fileId: this.lastFileId, }, { fileId: uuid.v4(), }, ], }); } catch (e) { const response = e as Response; const result = { status: response.status, body: await response.text(), }; this.setState({ result }); } }; render() { const result = this.state.result; return ( {result !== null ? JSON.stringify(result, null, 4) : ''} ); } } export default () => ;