$$EmployeeTableTableManager constructor

$$EmployeeTableTableManager(
  1. _$SharedDatabase db,
  2. $EmployeeTable table
)

Implementation

$$EmployeeTableTableManager(_$SharedDatabase db, $EmployeeTable table)
  : super(
      TableManagerState(
        db: db,
        table: table,
        createFilteringComposer: () =>
            $$EmployeeTableFilterComposer($db: db, $table: table),
        createOrderingComposer: () =>
            $$EmployeeTableOrderingComposer($db: db, $table: table),
        createComputedFieldComposer: () =>
            $$EmployeeTableAnnotationComposer($db: db, $table: table),
        updateCompanionCallback:
            ({
              Value<int> id = const Value.absent(),
              Value<String> empNumber = const Value.absent(),
              Value<String> name = const Value.absent(),
              Value<String> email = const Value.absent(),
              Value<int> employeePositionId = const Value.absent(),
              Value<int> departmentId = const Value.absent(),
              Value<DateTime> birthday = const Value.absent(),
              Value<DateTime> hireDate = const Value.absent(),
              Value<String?> imagePath = const Value.absent(),
              Value<String?> address = const Value.absent(),
            }) => EmployeeCompanion(
              id: id,
              empNumber: empNumber,
              name: name,
              email: email,
              employeePositionId: employeePositionId,
              departmentId: departmentId,
              birthday: birthday,
              hireDate: hireDate,
              imagePath: imagePath,
              address: address,
            ),
        createCompanionCallback:
            ({
              Value<int> id = const Value.absent(),
              required String empNumber,
              required String name,
              required String email,
              required int employeePositionId,
              required int departmentId,
              required DateTime birthday,
              required DateTime hireDate,
              Value<String?> imagePath = const Value.absent(),
              Value<String?> address = const Value.absent(),
            }) => EmployeeCompanion.insert(
              id: id,
              empNumber: empNumber,
              name: name,
              email: email,
              employeePositionId: employeePositionId,
              departmentId: departmentId,
              birthday: birthday,
              hireDate: hireDate,
              imagePath: imagePath,
              address: address,
            ),
        withReferenceMapper: (p0) => p0
            .map(
              (e) => (
                e.readTable(table),
                $$EmployeeTableReferences(db, table, e),
              ),
            )
            .toList(),
        prefetchHooksCallback:
            ({
              employeePositionId = false,
              departmentId = false,
              appUserRefs = false,
              employmentHistoryRefs = false,
              salesOrderRefs = false,
            }) {
              return PrefetchHooks(
                db: db,
                explicitlyWatchedTables: [
                  if (appUserRefs) db.appUser,
                  if (employmentHistoryRefs) db.employmentHistory,
                  if (salesOrderRefs) db.salesOrder,
                ],
                addJoins:
                    <
                      T extends TableManagerState<
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic,
                        dynamic
                      >
                    >(state) {
                      if (employeePositionId) {
                        state =
                            state.withJoin(
                                  currentTable: table,
                                  currentColumn: table.employeePositionId,
                                  referencedTable: $$EmployeeTableReferences
                                      ._employeePositionIdTable(db),
                                  referencedColumn: $$EmployeeTableReferences
                                      ._employeePositionIdTable(db)
                                      .id,
                                )
                                as T;
                      }
                      if (departmentId) {
                        state =
                            state.withJoin(
                                  currentTable: table,
                                  currentColumn: table.departmentId,
                                  referencedTable: $$EmployeeTableReferences
                                      ._departmentIdTable(db),
                                  referencedColumn: $$EmployeeTableReferences
                                      ._departmentIdTable(db)
                                      .id,
                                )
                                as T;
                      }

                      return state;
                    },
                getPrefetchedDataCallback: (items) async {
                  return [
                    if (appUserRefs)
                      await $_getPrefetchedData<
                        EmployeeData,
                        $EmployeeTable,
                        AppUserData
                      >(
                        currentTable: table,
                        referencedTable: $$EmployeeTableReferences
                            ._appUserRefsTable(db),
                        managerFromTypedResult: (p0) =>
                            $$EmployeeTableReferences(
                              db,
                              table,
                              p0,
                            ).appUserRefs,
                        referencedItemsForCurrentItem:
                            (item, referencedItems) => referencedItems.where(
                              (e) => e.employeeId == item.id,
                            ),
                        typedResults: items,
                      ),
                    if (employmentHistoryRefs)
                      await $_getPrefetchedData<
                        EmployeeData,
                        $EmployeeTable,
                        EmploymentHistoryData
                      >(
                        currentTable: table,
                        referencedTable: $$EmployeeTableReferences
                            ._employmentHistoryRefsTable(db),
                        managerFromTypedResult: (p0) =>
                            $$EmployeeTableReferences(
                              db,
                              table,
                              p0,
                            ).employmentHistoryRefs,
                        referencedItemsForCurrentItem:
                            (item, referencedItems) => referencedItems.where(
                              (e) => e.employeeId == item.id,
                            ),
                        typedResults: items,
                      ),
                    if (salesOrderRefs)
                      await $_getPrefetchedData<
                        EmployeeData,
                        $EmployeeTable,
                        SalesOrderData
                      >(
                        currentTable: table,
                        referencedTable: $$EmployeeTableReferences
                            ._salesOrderRefsTable(db),
                        managerFromTypedResult: (p0) =>
                            $$EmployeeTableReferences(
                              db,
                              table,
                              p0,
                            ).salesOrderRefs,
                        referencedItemsForCurrentItem:
                            (item, referencedItems) => referencedItems.where(
                              (e) => e.sellerId == item.id,
                            ),
                        typedResults: items,
                      ),
                  ];
                },
              );
            },
      ),
    );