# MyDeskService

**Kind:** Class

**Source:** `Frontend/src/app/services/tasks/MyDesk.service.ts` (line 34)

**Part of:** [Frontend](subsystem-frontend-src-app)

`MyDeskService` groups My Desk attribute access and graph data requests for sales pipeline, invoice, commission invoice, principal invoice, and letter-of-guarantee views. It is used by task-related UI code to retrieve column settings, child attributes, and domain-specific dashboard graph data.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `GetColumnAttributes` | `GetColumnAttributes(clientID: number, vendorID: number[], projectID: number, resposible: number, contact: number, team: number)` | `void` |
| `GetChildAttributes` | `GetChildAttributes(groupID: undefined, parentID: undefined, clientID: undefined, vendorID: undefined, projectID: undefined, resposible: undefined, contact: undefined, team: undefined)` | `void` |
| `GetMyDiskGraphForSalesPipeline` | `GetMyDiskGraphForSalesPipeline(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForSalesInvoice` | `GetMyDiskGraphForSalesInvoice(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForCommissionInvoice` | `GetMyDiskGraphForCommissionInvoice(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForPrinciplInvoice` | `GetMyDiskGraphForPrinciplInvoice(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForLetterOfGuarantees` | `GetMyDiskGraphForLetterOfGuarantees(myDiskFilterObj: MyDiskFilterObj)` | `void` |

## Properties

| Property | Type |
|---|---|
| `myDiskWidgets` | `Widget[]` |
| `myDiskWidgetsForPrincipalUser` | `Widget[]` |

## Diagram

```mermaid
graph LR
    UI[Task UI Components] --> Service[MyDeskService]

    Service --> Columns[GetColumnAttributes]
    Service --> Children[GetChildAttributes]

    Service --> SalesPipeline[GetMyDiskGraphForSalesPipeline]
    Service --> SalesInvoice[GetMyDiskGraphForSalesInvoice]
    Service --> CommissionInvoice[GetMyDiskGraphForCommissionInvoice]
    Service --> PrinciplInvoice[GetMyDiskGraphForPrinciplInvoice]
    Service --> Guarantees[GetMyDiskGraphForLetterOfGuarantees]
```

## Usage

```ts
import { MyDeskService } from './services/tasks/MyDesk.service';

export class MyDeskComponent {
  constructor(private readonly myDeskService: MyDeskService) {}

  loadDeskData(): void {
    const columns = this.myDeskService.GetColumnAttributes();
    const childAttributes = this.myDeskService.GetChildAttributes();
    const salesPipelineGraph =
      this.myDeskService.GetMyDiskGraphForSalesPipeline();

    console.log({ columns, childAttributes, salesPipelineGraph });
  }
}
```

## AI Coding Instructions

- Keep the existing method names and casing when calling `MyDeskService`.
- Call the graph method that matches the current My Desk domain view.
- Use `GetColumnAttributes()` and `GetChildAttributes()` when building task table or nested attribute UI.
- Check the returned data shape before binding it to chart or grid components.
- Keep task UI data access routed through `MyDeskService` rather than duplicating graph or attribute logic in components.

## Used by

14 references from 14 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Imported by (14)

- `DashboardTabComponent` — `Frontend/src/app/components/dashboard/dashboard-libary/dashboard-tab/dashboard-tab.component.ts`:1
- `WidgetCommissionInvoicesComponent` — `Frontend/src/app/components/dashboard/dashboard-libary/widgets/widget-commission-invoices/widget-commission-invoices.component.ts`:1
- `WidgetBacklogInvoices` — `Frontend/src/app/components/dashboard/dashboard-libary/widgets/widget-forecast-backlog-payment/widget-forecast-backlog-payment.component.ts`:1
- `WidgetLetterOfGuaranteesComponent` — `Frontend/src/app/components/dashboard/dashboard-libary/widgets/widget-letter-of-guarantees/widget-letter-of-guarantees.component.ts`:1
- `WidgetOrderManagementComponent` — `Frontend/src/app/components/dashboard/dashboard-libary/widgets/widget-order-management/widget-order-management.component.ts`:1
- `WidgetPrincipalInvoicesComponent` — `Frontend/src/app/components/dashboard/dashboard-libary/widgets/widget-principal-invoices/widget-principal-invoices.component.ts`:1
- `WidgetSalesInvoicesComponent` — `Frontend/src/app/components/dashboard/dashboard-libary/widgets/widget-sales-invoices/widget-sales-invoices.component.ts`:1
- `WidgetSalesPipelineComponent` — `Frontend/src/app/components/dashboard/dashboard-libary/widgets/widget-sales-pipeline/widget-sales-pipeline.component.ts`:1

…and 6 more.
