2.2.0 • Published 10 months ago

@aditya2337/drive-client v2.2.0

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

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.tgz

Usage 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 wrapper
  • UserModel: User data model
  • LoginRequest: Login credentials
  • LoginResponse: Login response with token and user data
  • RegisterResponse: Registration response
  • ProfileResponse: User profile response
  • AuthTokens: Authentication token information

Generated API Services

  • UsersService: For user registration and authentication
  • ProfileService: For user profile management
  • AuthService: For OAuth operations

Updating Types

When the backend API changes, regenerate the types by running:

npm run generate-types

Then republish the package:

npm run publish-manual
2.2.0

10 months ago

2.1.0

10 months ago

1.0.1

11 months ago

1.0.0

11 months ago

1.1.0

11 months ago

2.0.0

11 months ago