citmed-api
v0.0.4-alpha
Published
CitMed api lib for frontend
Downloads
2
Readme
CitMed API
Эта библиотека создана, для того чтобы облегчить работу со стандартизированным API в компании КитМед.
На данный момент реализованны следующие возможности:
- Создание стандартизированных репозиториев
Создание репозитория
Чтобы создать репозиторий вам потребуется создать три типа: TEntity
, CreateTEntity
и UpdateTEntity
.
Давайте создадим пример репозитория для работы с API абстрактных курсов:
import axios from 'axios';
import type { Entity } from 'citmed-api/repositories';
import { createRepository } from 'citmed-api/repositories';
export interface CourseEntity extends Entity {
title: string;
description: string;
usersCount: number;
}
export interface CreateCourseEntity {
title: string;
description: string;
}
export interface UpdateCourseEntity {
title: string;
description: string;
}
const api = axios.create({
baseURL: 'some.citmed-api.dev/api'
});
export const coursesRepository = createRepository<CourseEntity, CreateCourseEntity, UpdateCourseEntity>({
apiInstance: api,
endPoint: 'courses'
});
const handleGetCourse = async (id: string): Priomise<CourseEntity> => {
return await coursesRepository.getOne(id);
};
Теперь мы получили coursesRepository
и можем дёргать его разные методы и точно знать что мы должны туда прокинуть и
что оттуда получим.