@applica-software-guru/crud-client
Version:
Libreria per l'accesso ai servizi REST di Applica.
43 lines (35 loc) • 1.35 kB
text/typescript
import { ApplicaDataProvider } from '../provider';
import { createAttachmentsParser } from '../utils';
import { MemoryStorage, createAuthProvider } from '@applica-software-guru/iam-client';
import { IApplicaAuthProvider } from '@applica-software-guru/iam-client/dist/types';
import { HttpError } from 'ra-core';
const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const API_URL = 'http://localhost:8080/api';
const PASSWORD = 'applica';
const USERNAME = 'admin@applica.guru';
function createProviders(timeout: number = 5000): {
dataProvider: ApplicaDataProvider;
authProvider: IApplicaAuthProvider;
} {
const storage = new MemoryStorage();
const authProvider = createAuthProvider({ apiUrl: API_URL, storage });
const dataProvider = new ApplicaDataProvider({
apiUrl: API_URL,
HttpErrorClass: HttpError,
getHeaders: async () => await authProvider.getHeaders(),
getToken: async () => await authProvider.getToken(),
attachmentsParser: createAttachmentsParser(),
timeout
});
return {
dataProvider,
authProvider
};
}
function createRandomString(length: number): string {
return Array(length)
.fill(0)
.map(() => CHARS.charAt(Math.floor(Math.random() * CHARS.length)))
.join('');
}
export { API_URL, PASSWORD, USERNAME, createProviders, createRandomString };