@aditya2337/drive-client
v2.2.0
Published
TypeScript types for Drive Backend API
Maintainers
Readme
Drive Backend API Types
TypeScript type definitions for the Drive Backend API. This package provides type safety when interacting with the Drive Backend API from frontend applications.
Installation
# From npm (if published)
npm install @aditya2337/drive-client
# From local package
npm install /path/to/drive-client-1.0.0.tgzUsage in React Native
import {
UserModel,
LoginRequest,
ApiResponse,
LoginResponse,
UsersService
} from '@aditya2337/drive-client';
// Manual API call with types
async function loginUser(credentials: LoginRequest): Promise<ApiResponse<LoginResponse>> {
const response = await fetch('http://your-api.com/api/users/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(credentials),
});
return response.json();
}
// Or use the generated service
async function loginWithService(credentials: LoginRequest): Promise<UserModel> {
const result = await UsersService.login(credentials);
return result.user;
}
// Example component
function LoginScreen() {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const handleLogin = async () => {
try {
// Using direct API call
const result = await loginUser({ email, password });
if (result.error) {
console.error(result.error);
} else {
// Handle successful login
console.log(result.data); // This will be correctly typed as LoginResponse
}
// Or using the service
const user = await loginWithService({ email, password });
console.log(user); // This will be correctly typed as UserModel
} catch (error) {
console.error('Login failed:', error);
}
};
// Rest of component...
}Available Types
The following types are available:
Core API Types
ApiResponse<T>: Generic API response wrapperUserModel: User data modelLoginRequest: Login credentialsLoginResponse: Login response with token and user dataRegisterResponse: Registration responseProfileResponse: User profile responseAuthTokens: Authentication token information
Generated API Services
UsersService: For user registration and authenticationProfileService: For user profile managementAuthService: For OAuth operations
Updating Types
When the backend API changes, regenerate the types by running:
npm run generate-typesThen republish the package:
npm run publish-manual