2.2.0 • Published 7 months ago

@aditya2337/drive-client v2.2.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 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

7 months ago

2.1.0

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago

1.1.0

7 months ago

2.0.0

7 months ago