mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	refactor(server, web): standardize theme api response (#4664)
* web: standardize theme api response * revert makefile change that i didn't mean to commit
This commit is contained in:
		
							
								
								
									
										4
									
								
								cli/src/api/open-api/api.ts
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								cli/src/api/open-api/api.ts
									
									
									
										generated
									
									
									
								
							| @@ -2966,10 +2966,10 @@ export interface ServerStatsResponseDto { | ||||
| export interface ServerThemeDto { | ||||
|     /** | ||||
|      *  | ||||
|      * @type {SystemConfigThemeDto} | ||||
|      * @type {string} | ||||
|      * @memberof ServerThemeDto | ||||
|      */ | ||||
|     'theme': SystemConfigThemeDto; | ||||
|     'customCss': string; | ||||
| } | ||||
| /** | ||||
|  *  | ||||
|   | ||||
							
								
								
									
										2
									
								
								mobile/openapi/doc/ServerThemeDto.md
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								mobile/openapi/doc/ServerThemeDto.md
									
									
									
										generated
									
									
									
								
							| @@ -8,7 +8,7 @@ import 'package:openapi/api.dart'; | ||||
| ## Properties | ||||
| Name | Type | Description | Notes | ||||
| ------------ | ------------- | ------------- | ------------- | ||||
| **theme** | [**SystemConfigThemeDto**](SystemConfigThemeDto.md) |  |  | ||||
| **customCss** | **String** |  |  | ||||
| 
 | ||||
| [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) | ||||
| 
 | ||||
|   | ||||
							
								
								
									
										16
									
								
								mobile/openapi/lib/model/server_theme_dto.dart
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										16
									
								
								mobile/openapi/lib/model/server_theme_dto.dart
									
									
									
										generated
									
									
									
								
							| @@ -13,26 +13,26 @@ part of openapi.api; | ||||
| class ServerThemeDto { | ||||
|   /// Returns a new [ServerThemeDto] instance. | ||||
|   ServerThemeDto({ | ||||
|     required this.theme, | ||||
|     required this.customCss, | ||||
|   }); | ||||
| 
 | ||||
|   SystemConfigThemeDto theme; | ||||
|   String customCss; | ||||
| 
 | ||||
|   @override | ||||
|   bool operator ==(Object other) => identical(this, other) || other is ServerThemeDto && | ||||
|      other.theme == theme; | ||||
|      other.customCss == customCss; | ||||
| 
 | ||||
|   @override | ||||
|   int get hashCode => | ||||
|     // ignore: unnecessary_parenthesis | ||||
|     (theme.hashCode); | ||||
|     (customCss.hashCode); | ||||
| 
 | ||||
|   @override | ||||
|   String toString() => 'ServerThemeDto[theme=$theme]'; | ||||
|   String toString() => 'ServerThemeDto[customCss=$customCss]'; | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() { | ||||
|     final json = <String, dynamic>{}; | ||||
|       json[r'theme'] = this.theme; | ||||
|       json[r'customCss'] = this.customCss; | ||||
|     return json; | ||||
|   } | ||||
| 
 | ||||
| @@ -44,7 +44,7 @@ class ServerThemeDto { | ||||
|       final json = value.cast<String, dynamic>(); | ||||
| 
 | ||||
|       return ServerThemeDto( | ||||
|         theme: SystemConfigThemeDto.fromJson(json[r'theme'])!, | ||||
|         customCss: mapValueOfType<String>(json, r'customCss')!, | ||||
|       ); | ||||
|     } | ||||
|     return null; | ||||
| @@ -92,7 +92,7 @@ class ServerThemeDto { | ||||
| 
 | ||||
|   /// The list of required keys that must be present in a JSON. | ||||
|   static const requiredKeys = <String>{ | ||||
|     'theme', | ||||
|     'customCss', | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
|   | ||||
							
								
								
									
										4
									
								
								mobile/openapi/test/server_theme_dto_test.dart
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								mobile/openapi/test/server_theme_dto_test.dart
									
									
									
										generated
									
									
									
								
							| @@ -16,8 +16,8 @@ void main() { | ||||
|   // final instance = ServerThemeDto(); | ||||
| 
 | ||||
|   group('test ServerThemeDto', () { | ||||
|     // SystemConfigThemeDto theme | ||||
|     test('to test the property `theme`', () async { | ||||
|     // String customCss | ||||
|     test('to test the property `customCss`', () async { | ||||
|       // TODO | ||||
|     }); | ||||
| 
 | ||||
|   | ||||
| @@ -7836,12 +7836,12 @@ | ||||
|       }, | ||||
|       "ServerThemeDto": { | ||||
|         "properties": { | ||||
|           "theme": { | ||||
|             "$ref": "#/components/schemas/SystemConfigThemeDto" | ||||
|           "customCss": { | ||||
|             "type": "string" | ||||
|           } | ||||
|         }, | ||||
|         "required": [ | ||||
|           "theme" | ||||
|           "customCss" | ||||
|         ], | ||||
|         "type": "object" | ||||
|       }, | ||||
|   | ||||
| @@ -80,9 +80,7 @@ export class ServerMediaTypesResponseDto { | ||||
|   sidecar!: string[]; | ||||
| } | ||||
|  | ||||
| export class ServerThemeDto { | ||||
|   theme!: SystemConfigThemeDto; | ||||
| } | ||||
| export class ServerThemeDto extends SystemConfigThemeDto {} | ||||
|  | ||||
| export class ServerConfigDto { | ||||
|   oauthButtonText!: string; | ||||
|   | ||||
| @@ -72,7 +72,7 @@ export class ServerInfoService { | ||||
|  | ||||
|   async getTheme() { | ||||
|     const { theme } = await this.configCore.getConfig(); | ||||
|     return { theme }; | ||||
|     return theme; | ||||
|   } | ||||
|  | ||||
|   async getConfig(): Promise<ServerConfigDto> { | ||||
|   | ||||
| @@ -161,9 +161,7 @@ describe(`${ServerInfoController.name} (e2e)`, () => { | ||||
|       const { status, body } = await request(server).get('/server-info/theme'); | ||||
|       expect(status).toBe(200); | ||||
|       expect(body).toEqual({ | ||||
|         theme: { | ||||
|           customCss: '', | ||||
|         }, | ||||
|         customCss: '', | ||||
|       }); | ||||
|     }); | ||||
|   }); | ||||
|   | ||||
							
								
								
									
										4
									
								
								web/src/api/open-api/api.ts
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								web/src/api/open-api/api.ts
									
									
									
										generated
									
									
									
								
							| @@ -2966,10 +2966,10 @@ export interface ServerStatsResponseDto { | ||||
| export interface ServerThemeDto { | ||||
|     /** | ||||
|      *  | ||||
|      * @type {SystemConfigThemeDto} | ||||
|      * @type {string} | ||||
|      * @memberof ServerThemeDto | ||||
|      */ | ||||
|     'theme': SystemConfigThemeDto; | ||||
|     'customCss': string; | ||||
| } | ||||
| /** | ||||
|  *  | ||||
|   | ||||
| @@ -1,9 +1,7 @@ | ||||
| import { RequestHandler, text } from '@sveltejs/kit'; | ||||
| export const GET = (async ({ locals: { api } }) => { | ||||
|   const { | ||||
|     data: { | ||||
|       theme: { customCss }, | ||||
|     }, | ||||
|     data: { customCss }, | ||||
|   } = await api.serverInfoApi.getTheme(); | ||||
|   return text(customCss, { | ||||
|     headers: { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user