plugins.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. export interface PluginMeta {
  2. id: string;
  3. name: string;
  4. info: PluginMetaInfo;
  5. includes: PluginInclude[];
  6. }
  7. export interface PluginInclude {
  8. type: string;
  9. name: string;
  10. path: string;
  11. }
  12. export interface PluginMetaInfo {
  13. author: {
  14. name: string;
  15. url: string;
  16. };
  17. description: string;
  18. links: string[];
  19. logos: {
  20. large: string;
  21. small: string;
  22. };
  23. screenshots: string;
  24. updated: string;
  25. version: string;
  26. }
  27. export interface Plugin {
  28. defaultNavUrl: string;
  29. enabled: boolean;
  30. hasUpdate: boolean;
  31. id: string;
  32. info: PluginMetaInfo;
  33. latestVersion: string;
  34. name: string;
  35. pinned: boolean;
  36. state: string;
  37. type: string;
  38. }
  39. export interface PluginDashboard {
  40. dashboardId: number;
  41. description: string;
  42. folderId: number;
  43. imported: boolean;
  44. importedRevision: number;
  45. importedUri: string;
  46. importedUrl: string;
  47. path: string;
  48. pluginId: string;
  49. removed: boolean;
  50. revision: number;
  51. slug: string;
  52. title: string;
  53. }
  54. export interface PluginsState {
  55. plugins: Plugin[];
  56. searchQuery: string;
  57. layoutMode: string;
  58. hasFetched: boolean;
  59. dashboards: PluginDashboard[];
  60. }