mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-11-16 01:21:16 +01:00
# Description of Changes <img width="1569" height="980" alt="image" src="https://github.com/user-attachments/assets/dca1c227-ed84-4393-97a1-e3ce6eb1620b" /> <img width="1596" height="935" alt="image" src="https://github.com/user-attachments/assets/2003e1be-034a-4cbb-869e-6d5d912ab61d" /> <img width="1543" height="997" alt="image" src="https://github.com/user-attachments/assets/fe0c4f4b-eeee-4db4-a041-e554f350255a" /> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import apiClient from '@app/services/apiClient';
|
|
|
|
export interface AccountData {
|
|
username: string;
|
|
role: string;
|
|
settings: string; // JSON string of settings
|
|
changeCredsFlag: boolean;
|
|
oAuth2Login: boolean;
|
|
saml2Login: boolean;
|
|
}
|
|
|
|
/**
|
|
* Account Service
|
|
* Provides functions to interact with account-related backend APIs
|
|
*/
|
|
export const accountService = {
|
|
/**
|
|
* Get current user account data
|
|
*/
|
|
async getAccountData(): Promise<AccountData> {
|
|
const response = await apiClient.get<AccountData>('/api/v1/proprietary/ui-data/account');
|
|
return response.data;
|
|
},
|
|
|
|
/**
|
|
* Change user password
|
|
*/
|
|
async changePassword(currentPassword: string, newPassword: string): Promise<void> {
|
|
const formData = new FormData();
|
|
formData.append('currentPassword', currentPassword);
|
|
formData.append('newPassword', newPassword);
|
|
await apiClient.post('/api/v1/user/change-password', formData);
|
|
},
|
|
|
|
/**
|
|
* Change user password on first login (resets firstLogin flag)
|
|
*/
|
|
async changePasswordOnLogin(currentPassword: string, newPassword: string): Promise<void> {
|
|
const formData = new FormData();
|
|
formData.append('currentPassword', currentPassword);
|
|
formData.append('newPassword', newPassword);
|
|
await apiClient.post('/api/v1/user/change-password-on-login', formData);
|
|
},
|
|
};
|